当前位置:文档之家› AW60单片机课程设计

AW60单片机课程设计

AW60单片机课程设计
AW60单片机课程设计

目录

第一章系统概要 (1)

1.1 系统背景 (1)

第二章系统硬件设计 (1)

2.1 系统原理图 (1)

2.2 单片机(MCU)模块 (2)

2.2.1 MC9S08AW60单片机性能概述 (2)

2.2.2 内部结构简图 (3)

2.3 串行通信模块 (4)

2.3.1 MAX232引脚图 (4)

2.3.2 串行通信的电路原理 (5)

2.4 液晶显示模块 (6)

第三章系统软件设计 (7)

3.1 MCU方(C)程序 (7)

3.1.1串行通信子程序 (14)

3.1.2 LCD子程序 (17)

第四章系统测试 (20)

第五章总结展望 (23)

5.1 总结 (23)

5.2 展望 (24)

第六章参考文献 (24)

第一章系统概要

1.1 系统背景

设计了一个基于AW60的数字时钟,它可以避免多种控制器的混淆,利用一个控制器对时钟的时间进行控制。它可以任意设置时间。为人们的生产与生活提供了方便。单片机(MCU)的基本定义是:在一块芯片上集成了中央处理器(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

1.2 系统功能

在实验箱上有一个启动键,当按下启动键给以一个低电平,电子时钟从当前设定值开始走时。按秒刷新,要求在LCD屏上显示。若按启动键给以高电平,则时间暂停,再按,时间继续按秒刷新。

由于要用LCD显示当前的时间,必须用到分字和合字,因此在MCU中使用了8个数据空间分别存储了当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显示。

第二章系统硬件设计

2.1 系统原理图

该系统由AW60最小系统电路为主要结构,利用串口进行数据的控制与采集。首先将开关接在AW60上的PORT_D口上,用于控制数字时钟系统的开关。然后将LCD的数据线7-14引脚(D0-D7)分别与MCU的PTA0-PTA7连接,LCD的控制线

RS、R/W、E(4、5、6引脚)分别于MCU的PTC4、PTC6、PTF6连接,用于输出时间。数字时钟必须要有晶振电路,所以将该晶振电路与AW60的PTG5和PTG6相连,用于时间的自加。由于在运行系统时,以防电流不稳定,所以在PTB0端设置一个下拉电阻,稳定电流。

2.2 单片机(MCU)模块

2.2.1 MC9S08AW60单片机性能概述

(1)最高达40MHz的CPU工作频率和20Hz的内部总线工作频率表;时钟源选项包括晶振、谐振器、外部时钟或内部产生的时钟。

(2)相比HC08 CPU指令集,S08 CPU增加了BGND指令。

(3)单线后台调试模式接口;增强的断点能力,允许单一的断点设置在线调试(在片内调试的模块增加了多于两个的断点)。

(4)内含32个中断/复位源;内含2KB的片内RAM;内含60KB的片内在线可编程Flash存储器,带有块保护和安全选项。

(5)可选的计算机正常操作(COP)复位;低电压检测和复位或中断;非法操作码检测与复位;非法地址检测与复位。

(6)ADC:多达16个通道,10位A/D转换器与自动比较功能;两个串行通信接口SCI模块与可选的13位中断;一个串行外设接口SPI模块;集成电路互连总线I2C模块运作高达100kbps的最高总线负载;8引脚键盘中断KBI模块。(7)Timers:1个2通道和1个6通道16位定时器/脉冲宽度调制器模板。具有输入、捕捉、输出比较、脉宽调制功能。

2.2.2 内部结构简图

1. 内部结构简图

如图所示,给出了AW60的内部结构图,它对于我们理解和应用AW60 MCU 有重要作用,在学习了基本有法后,应在反过来熟悉这个内部结构图,以便更好地理解AW60 MCU的基本原理。从内部结构图可以看出,AW60主要有以下几个部分:S08 CPU、存储器、定时器接口模块、定时器模块、看门狗模块、通用IO 模块、串口通信模块(SCI)、串行外设接口(SPI)模块、I2C(IIC)模块、A/D 转换模块、键盘中断模块、时钟发生模块、复位与中断模块等。

2.3 串行通信模块 2.

3.1 MAX232引脚图

在MCU 中,若用RS-232总线进行串行通信,则需外接电路实现电平转换。在发送端,需要用驱动电路将TTL 电平转换成RS-232电平;在接受端,需要用接收电路将RS-232电平。转化为TTL 电平。电平转换器不仅可以由晶振管分立元件构成,也可以直接使用集成电路。目前使用MAX232芯片较多,该芯片使用单一+5V 电源供电实现电平转换。如图所示,给出了MAX232的引脚说明。各引脚含义简要说明如下:

Vcc (16脚):正电源端,一般接+5V 。

GND (15脚):地。

V S+(2脚):V S+=2V CC -1.5V=8.5V 。 VS-(6脚):V S -=-2VCC-1.5V=-11.5V 。

C2+、C2-(4、5脚):一般接1μF 的电解电容。 C1+、C1-(1、3脚):一般接1μF 的电解电容。

在正常情况下,(1)T1IN=5V ,则T1OUT=-9V ;T1IN=0V ,则T1OUT=9V 。(2)

将R1IN 与T1OUT 相连,令T1IN=5V ,则R1OUT=5V ;令T1IN=0V ,则R1OUT=0V 。 MAX232芯片进行电平转换的基本原理:(1)发送过程:MCU 的TxD (TTL 电平)经过MAX232的11脚(T1IN )送到MAX232内部,在内部TTL 电平被“提

表6 MAX232芯片输入输出引脚分类与基本接法

组别

TTL 电平引脚 方向 典型接口 232电平引脚

方向 典型接口

1

11(T1IN )

12(R1OUT ) 输入 输出 接MCU 的TxD 接MCU 的RxD 13 14 输入 输出 连接到接口,与其它设备通过

232相接 2

10(T2IN ) 9(R2OUT )

输入 输出

接MCU 的TxD 接MCU 的RxD

8 7

输入 输出

连接到接口,与其它设备通过

232相接

升”为232电平,通过14脚(T1OUT)发送出去。接受过程:外部232电平经过MAX232的13脚(R1IN)进入到MAX232的内部,在内部232电平被“降低”为TTL电平,经过12脚(R1OUT送到MCU的RxD,进入MCU内部。

2.3.2 串行通信的电路原理

从基本原理的角度看,串行通信接口SCI的主要功能是:接收时,把外部的单线输入的数据变成一个字节的并行数据送入MCU内部;发送时,把需要发送的一个字节的并行数据转换为单线输入。为了设置波特率,SCI应具有波特率寄存器。为了能够设置通信格式、是否校验、是否允许中断等,SCI应具有控制寄存器。而要知道串口是否有数据可收、数据是否发送出去等,需要有SCI状态寄存器。当然,若一个寄存器不够用,控制与状态寄存器可能有多个。而SCI数据寄存器存放要发送的数据,也存放接受的数据,这并不冲突,因为发送与接收的实际工作是通过“发送移位寄存器”和“接收以为寄存器”完成的。编程时,程序员并不直接与“发送移位寄存器”和“接收移位寄存器”打交道,只与数据寄存器打交道,所以MCU中并没有设置“发送移位寄存器和“接收移位寄存器”的映像地址。发送时,程序员通过判定状态寄存器的相应位,了解是否可以发送一个新的数据。若可以发送,则将待发送的数据放入“SCI数据寄存器”中就可以了,剩下的工作由MCU自动完成:将数据从“SCI数据寄存器”送到“发送移位寄存

器”,硬件驱动将“发送移位寄存器”的数据一位一位地按照规定的波特率移到发送引脚TxD ,供对方接收。接收时,数据一位一位地从接收引脚RxD 进入“接收移位寄存器”,当收到一个完成字节时,MCU 会自动将数据送入“SCI 数据寄存器”,并将状态寄存器的相应位改变,供程序员判定并取出数据。

2.4 液晶显示模块

MCU 控制液晶显示接口接线图

点阵字符型LCD 是专门用于显示数字、字母、图形符号及少量自定义符号的液晶显示器。这类显示器把LCD 控制器、点阵驱动器、字符存储器、显示体及少量的阻容元件等集成一个液晶显示模块。鉴于字符型液晶显示模块目前在国际上已经规范化,其电特性及接口特性是统一的,因此,只要设计出一种型号的接口电路,在指令上稍加修改即可使用各种规格的字符型液晶显示模块。

点阵字符型液晶显示模块的控制器大多数为日立公司生产的HD44780及其兼容的控制电路,如SED1278(SEIKO EPSON )、KS0066(SAMSUNG )、NJU6408(NER JAPANRADIO )等。字符型液晶显示模块的主要特点如下:

1.液晶显示屏是以若干5*8或5*11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。

2.主控制电路为HD44780(HITACHI )及其他公司的兼容电路。从程序员的角度来说,LCD 的显示接口与编程是面向HD44780的,只要了解HD44780

LCD(YM1602C)

16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01

Core2

LCD_D7 LCD_D6 LCD_D5 LCD_D4 LCD_D3 LCD_D2 LCD_D1 LCD_D0 LCD_E LCD_RW LCD_RS

Vcc

GND

PTA7 PTA6 PTA5 PTA4 PTA3 PTA2 PTA1 PTA0 PTF6 PTC6 PTC4

AW60

的编程结构即可进行LCD的显示编程。

3.内部具有字符发生器ROM,可显示192种字符(160个5*7点阵字符和32个5*10点阵字符)。

4.具有64字节的字符发生器RAM,可以定义8个5*8点阵字符或4个5*11点阵字符。

5.具有64字节的数据显示RAM,供显示编程时使用

6.标准接口特性,与MC9S08系列MCU容易接口。

7.模块结构紧凑、轻巧、装配容易。

8.单+5V电源供电(宽温型需要加-7V驱动电源)。

9.低功耗、高可靠性。

第三章系统软件设计

3.1 MCU方(C)程序

Main.c:

#include "Includes.h"

#include "timer.h"

#include "SCI.h"

#include "LCD.h"

#include "GPIO.h"

//在此添加全局变量定义

uint8 g_time[8] ;

uint8 g_DisplayInit[8] ;

uint8 i;

uint8 m;

#define GPIO_Run_PORT PORT_E

void main(void)

{

uint8 remember;

uint32 mRuncount = 0;

m=1;

//1 关总中断

DisableInterrupt(); //禁止总中断

//2 芯片初始化

MCUInit();

//3 指示灯初始化

Light_Init(Light_Run_PORT,Light_Run,Light_OFF);

TPMinit(TPM_NUM_1);

LCDinit();

SCIInit(SCI_NUM_1,SYSTEM_CLOCK,9600);

g_time[0] = 0;

g_time[1] = 0;

g_time[2] = ':';

g_time[3] = 0;

g_time[4] = 0;

g_time[5] = ':';

g_time[6] = 0;

g_time[7] = 0;

remember = g_time[7];

m=GPIO_Get(Light_Run_PORT,0);

EnableSCIReInt();

EnabletimerInt(TPM_NUM_1);

EnableInterrupt();

SCISendN(SCI_NUM_1,8,g_time);

// LCDshow(g_time);

//4 主循环

while (1)

{ m=GPIO_Get(GPIO_Run_PORT,0);

mRuncount++;

if(mRuncount>=40000) {

mRuncount = 0;

Light_Change(Light_Run_PORT,Light_Run);

}

/**/ if(g_time[7]!=remember) {

// SecAdd1(g_time);

for( i=0;i<8;i++){

if(i!=2&&i!=5)

g_DisplayInit[i] = g_time[i]+'0';

else

g_DisplayInit[i] = g_time[i];

}

SCISendN(SCI_NUM_1,8,g_DisplayInit);

// SCISendN(SCI_NUM_1,8,g_SCIreceive_data);

LCDshow(g_DisplayInit);

// g_SCIFlag=0;

SCISendN(SCI_NUM_1,3,g_time);

remember= g_time[7];

}

};

}

Isr.c:

//头文件

#include "Includes.h"

//#include "isr.h"

#include "timer.h"

//此处为用户新定义中断处理函数的存放处

interrupt void isrT1Out(void){

uint8 temp;

DisableInterrupt();

if(m==0)SecAdd1(g_time);

TPM_CSTR(1) &=~(TPM1SC_TOF_MASK);

EnableInterrupt();

}

/*

interrupt void isrSCIre(void){

uint8 temp;

uint8 SerialBuff[1];

DisableInterrupt();

temp = SCIReN(1,1,SerialBuff);

if(temp==0)SCISendN(1,1,SerialBuff);

EnableInterrupt();

} */

//未定义的中断处理函数,本函数不能删除

interrupt void isrDummy(void)

{

}

//中断处理子程序类型定义

typedef void( *ISR_func_t)(void);

//中断矢量表,如果需要定义其它中断函数,请修改下表中的相应项目const ISR_func_t ISR_vectors[] @0xFFCC =

{

isrDummy, // 0xFFCC //时基中断

isrDummy, // 0xFFCE //IIC中断

isrDummy, // 0xFFD0 //ADC转换中断

isrDummy, // 0xFFD2 //键盘中断

isrDummy, // 0xFFD4 //SCI2发送中断

isrDummy, // 0xFFD6 //SCI2接收中断

isrDummy, // 0xFFD8 //SCI2错误中断

isrDummy, // 0xFFDA //SCI1发送中断

// isrSCIre, // 0xFFDC //SCI1接收中断

isrDummy, // 0xFFDC //SCI1接收中断

isrDummy, // 0xFFDE //SCI1错误中断

isrDummy, // 0xFFE0 //SPI中断

isrDummy, // 0xFFE2 //TPM2溢出中断

isrDummy, // 0xFFE4 //TPM2通道1输入捕捉/输出比较中断isrDummy, // 0xFFE6 //TPM2通道0输入捕捉/输出比较中断isrT1Out, // 0xFFE8 //TPM1溢出中断

// isrDummy, // 0xFFE8 //TPM1溢出中断

isrDummy, // 0xFFEA //TPM1通道5输入捕捉/输出比较中断isrDummy, // 0xFFEC //TPM1通道4输入捕捉/输出比较中断isrDummy, // 0xFFEE //TPM1通道3输入捕捉/输出比较中断isrDummy, // 0xFFF0 //TPM1通道2输入捕捉/输出比较中断isrDummy, // 0xFFF2 //TPM1通道1输入捕捉/输出比较中断isrDummy, // 0xFFF4 //TPM1通道0输入捕捉/输出比较中断isrDummy, // 0xFFF6 //ICG的PLL锁相状态变化中断

isrDummy, // 0xFFF8 //低电压检测中断

isrDummy, // 0xFFFA //IRQ引脚中断

isrDummy // 0xFFFC //SWI指令中断

//RESET是特殊中断,其向量由开发环境直接设置(在本软件系统的Start08.o 文件中)

};

Timer.h:

#ifndef timeR_H

#define timeR_H

#include "MC9S08AW60.h"

#include "Type.h"

#define TPM_CSTR(x)(*(vuint8 *)(0x00000020+(x-1)*64))

#define TPM_CNTH(x)(*(vuint8 *)(0x00000021+(x-1)*64))

#define TPM_CNTL(x)(*(vuint8 *)(0x00000022+(x-1)*64))

#define TPM_MODH(x)(*(vuint8 *)(0x00000023+(x-1)*64))

#define TPM_MODL(x)(*(vuint8 *)(0x00000024+(x-1)*64))

#define EnabletimerInt(x) TPM_CSTR(x) |= TPM1SC_TOIE_MASK #define DisabletimerInt(x) TPM_CSTR(x) &=~TPM1SC_TOIE_MASK #define TPM_NUM_1 1

#define TPM_NUM_2 2

#define TPM1_CH_0 0

#define TPM1_CH_1 1

#define TPM1_CH_2 2

#define TPM1_CH_3 3

#define TPM1_CH_4 4

#define TPM1_CH_5 5

#define TPM2_CH_0 0

#define TPM2_CH_1 1

void TPMinit(uint8 TPMNo);

void SecAdd1(uint8 *p);

#endif

Timer.c:

#include "timer.h"

void TPMinit(uint8 TPMNo){

if(TPMNo > 2)

TPMNo = 2;

else if(TPMNo < 1)

TPMNo=1;

TPM_CSTR(TPMNo)=0b00010110;

TPM_CNTH(TPMNo) = 0x00;

TPM_CNTL(TPMNo) = 0x00;

TPM_MODH(TPMNo) = 0x7A;

TPM_MODL(TPMNo) = 0x12;

}

void SecAdd1(uint8 *p){

*(p+7)+=1;

if(*(p+7)>9){

*(p+7) = 0;

*(p+6)+=1;

if(*(p+6)>5){

*(p+6)=0;

*(p+4) += 1;

// if(*p>=24)

// *p = 0;

if(*(p+4)>9){

*(p+4)=0;

*(p+3)+=1;

if(*(p+3)>5){

*(p+3)=0;

*(p+1)+=1;

if(*(p+1)>9){

*(p+1)=0;

*p+=1;

if(*(p+1)==4&&*p==2){

*(p+1)=0;

*p=0;

}

}

}

}

}

}

}

3.1.1串行通信子程序

SCI.h:

#ifndef SCI_H

#define SCI_H

#include "MC9S08AW60.h"

#include "Type.h"

#define SCI_BDH(x) (*(vuint8 *)(0x00000038+(x-1)*8))

#define SCI_BDL(x) (*(vuint8 *)(0x00000039+(x-1)*8))

#define SCI_C1(x) (*(vuint8 *)(0x0000003A+(x-1)*8))

#define SCI_C2(x) (*(vuint8 *)(0x0000003B+(x-1)*8))

#define SCI_S1(x) (*(vuint8 *)(0x0000003C+(x-1)*8))

#define SCI_S2(x) (*(vuint8 *)(0x0000003D+(x-1)*8))

#define SCI_C3(x) (*(vuint8 *)(0x0000003E+(x-1)*8))

#define SCI_D(x) (*(vuint8 *)(0x0000003F+(x-1)*8))

#define EnableSCIReInt() SCI1C2 |=(SCI1C2_RIE_MASK)

#define DisableSCIReInt() SCI1C2 &=~(SCI1C2_RIE_MASK) #define SCI_NUM_1 1

#define SCI_NUM_2 2

void SCIInit(uint8 SCINo,uint8 sysclk,uint16 baud);

void SCISend1(uint8 SCINo,uint8 ch);

void SCISendN(uint8 SCINo,uint16 n,uint8 ch[]);

uint8 SCIRe1(uint8 SCINo,uint8 *p);

uint8 SCIReN(uint8 SCINo,uint16 n,uint8 ch[]);

void SCISendString(uint8 SCINo,char *p);

#endif

SCI.c:

#include "SCI.h"

void SCIInit(uint8 SCINo, uint8 sysclk, uint16 baud) {

uint16 ubgs;

ubgs=0;

if(SCINo>2) {

SCINo=2;

}

ubgs=sysclk*(10000/(baud/100))/16;

SCI_BDH(SCINo)=(uint8)((ubgs&0xFF00)>>8); SCI_BDL(SCINo)=(uint8)(ubgs&0x00FF);

SCI_C1(SCINo)=0b00000000;

SCI_C2(SCINo)=0b00001100;

}

void SCISend1(uint8 SCINo, uint8 ch) {

if(SCINo>2) {

SCINo=2;

}

while(!(SCI_S1(SCINo)&0b1000000));

SCI_D(SCINo)=ch;

}

uint8 SCIRe1(uint8 SCINo, uint8 *p) {

uint16 k;

uint8 i;

if(SCINo>2){

SCINo=2;

}

for(k=0;k<0xfbbb;k++)

if((SCI_S1(SCINo)&0b00100000)!=0) {

i=SCI_D(SCINo);

*p=0x00;

break;

}

if(k>=0xfbbb) {

i=0xff;

*p=0x01;

}

return i;

}

void SCISendN(uint8 SCINo, uint16 n, uint8 ch[]) { uint16 i;

if(SCINo>2) {

SCINo=2;

}

for(i=0;i

SCISend1(SCINo,ch[i]);

}

uint8 SCIReN(uint8 SCINo, uint16 n, uint8 ch[]) { uint16 m;

uint8 fp;

m=0;

if(SCINo>2) {

SCINo=2;

}

while(m

ch[m]=SCIRe1(SCINo,&fp);

if(fp==1) {

return 1;

}

m++;

}

return 0;

}

void SCISendString(uint8 SCINo, char *p) { uint32 k;

if(SCINo>2) {

SCINo=2;

}

if(p==0) return;

for(k=0;p[k]!='\0';++k) {

SCISend1(SCINo,p[k]);

}

}

3.1.2 LCD子程序

LCD.h:

#ifndef LCD_H

#define LCD_H

#include "MC9S08AW60.h"

#include "Type.h"

#include "GeneralFun.h"

#define LCDdata PTAD

#define LCDdataD PTADD

#define LCDctrl1 PTCD

#define LCDctrlD1 PTCDD

#define LCDctrl2 PTFD

#define LCDctrlD2 PTFDD

#define LcdRS 4

#define LcdRW 6

#define LcdE 6

void LCDinit(void);

void LCDcommand(uint8 cmd); void LCDshow(uint8 str[]);

#endif

LCD.c:

#include "LCD.h"

void LCDinit(void) {

uint16 i;

LCDdataD=0b11111111; LCDctrlD1 |=(1<

asm("NOP"); LCDcommand(0b00000110); LCDcommand(0b00010100); LCDcommand(0b00001100); }

void LCDcommand(uint8 cmd){ uint16 i;

for(i=0;i<1000;i++)

asm("NOP");

LCDdata=cmd;

LCDctrl2 |=(1<

asm("NOP");

asm("NOP");

LCDctrl2&=~(1<

asm("NOP");

}

void LCDshow(uint8 str[]){ uint8 i;

LCDinit();

LCDctrl1&=~(1<

LCDcommand(str[i]);

}

/* LCDctrl1&=~(1<

LCDcommand(str[i]);

} */

}

单片机课程设计指导书

单片机原理及应用课程设计指导书 一、课程设计目的 《单片机原理及应用》是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 二、课程设计要求 1、每个学生可以从下面的课程设计题目中任选一个(也可以根据自己的兴趣选题,但选题必须是和单片机应用有关的其他控制或测试系统,同时要通过指导老师确认),选题后按任务书的要求查阅资料,完成系统的总体设计和各个模块的设计。具体实现可以用Proteus仿真,也可以用硬件。 2、进入实验室以后应根据前面的设计在2周内独立完成仿真和调试任务。课程设计过程中,要认真记录资料来源、出现的问题和解决方法。 3、不同的学生如果选题相同,相互之间可以相互探讨,但杜绝抄袭。如果发现,按零分计算。 4、设计完成后学生要按要求认真撰写课程设计报告,并于设计完成后一周内交指导老师评阅。同时准备设计测试和答辩。

三、时间安排 1、13周之前完成分组和选题,并根据选题向指导老师要任务书 2、14周根据任务书的设计要求,查阅相关的资料,完成系统总体方案设计及各模块的软硬件设计 3、15周进入实验室进行仿真、调试,并馔写设计报告,并于16周周一交给指导教师,并准备系统测试和答辩。 四、设计作品提交 1、课程设计报告书 2、proteus仿真程序(对于用proteus仿真的学生) 3、硬件实物及单片机源程序文件 五、设计报告的撰写 1、设计报告采用统一的格式,封面包括:课程设计名称、班级、姓名、学号、设计时间,具体参考设计摸板。 2、设计报告书写规范,系列分以下几个部分进行书写: 1、绪论:介绍设计的背景和意义 2、系统总体方案设计:给出系统设计硬件框图,说明实现的基本原理 3、硬件系统设计:针对框图中的硬件模块,分别介绍选择的具体元器件型号,并介绍这些器件的性能及和单片机的连接图,最后画出详细的这个系统硬件原理图。 4、系统软件设计:根据设计的功能划分模块,画出主程序和主程序的软件流程图。 5、系统调试及仿真 写出调试方法和运行结果 6、设计总结 六、课程设计内容及提示

单片机课程设计大纲

单片机原理及应用课程设计教学大纲 课程设计名称:单片机原理及应用课程设计编号:E1010020 课程设计学分:2.0 课程设计周(时)数:2周课程设计授课单位:测控技术及仪器指导方式: 集体辅导与个别辅导相结合课程设计适用专业:测控技术与仪器、自动化、电气工程及其自动化 课程设计教材及主要参考资料: 《单片机原理及应用》,张毅刚,高等教育出版社,2004年, 《单片机教程》,蔡惟铮编,东北大学出版社,2001年, 服务课程名称:单片机原理服务课程编号:T1010020 服务课程讲课学时:40 服务课程学分:2.5 一、课程设计教学目的及基本要求 1.了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。 2.提高综合运用所学的理论知识独立分析和解决问题的能力。 3.掌握汇编语言的设计和调试。 4. 掌握C-51语言的设计和调试。 二、课程设计内容及安排 1.掌握各种进制数的特点及其转换方法。 2.掌握MCS-51单片机的硬件结构的特点,详细了解MCS-51单片机的各种资源。 3.了解单片机的指令系统、指令格式及其意义。 4.理解中断的基本概念,了解单片机的中断响应。 5.掌握存储器的分类,熟练掌握存储器的扩展。 6.了解单片机的接口技术及其串行通讯方式。 7.编写课程设计报告,掌握汇编语言的设计和调试方法。 设计题目: 1.交通灯控制系统 实验目的:(1)学习输出口的使用方法;(2)学习延时子程序的编写;(3)交通灯的控制规律 实验要求:设计并且制作交通灯控制系统,编制控制系统监控软件;交通灯控制软件,要求以单片机为核心,P1口输出口接三只发光二极管(红绿黄), 编写程序,使发光二极管按交通灯的控制规律点亮。 思考问题:改变延时常数,使发光二极管闪亮时间改变。红绿灯不允许同时点亮,红绿灯交换时黄灯闪烁,考虑车流量情况,改变交通灯指挥状况,单路 口/多路口情况,寻求最佳交通流量。

单片机课程设计报告模板资料

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 2015年10月14日

1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法: (2)问题说明: 解决方法: 2、教师现场提的问题记录在此(不少于2个问题)。

目录 1 设计任务 (1) 2设计方案 (2) 2.1任务分析 (2) 2.2方案设计 (2) 3 系统硬件设计 (3) 3.1时钟电路设计 (3) 3.2复位电路设计 (3) 3.3 灯控制电路设计 (3) 3.4 倒计时显示电路设计 (4) 3.5 按键控制电路设计 (5) 4 系统软件设计 (6) 4.1 1S定时 (6) 4.2 定时程序流程 (6) 4.3交通灯的设计流程图 (6) 4.4定时器0 及中断响应 (7) 5仿真与性能分析 (8) 6心得体会 (9) 参考文献 (10) 附录1 系统原理图 .......................................................................错误!未定义书签。附录2 系统PCB图 .....................................................................错误!未定义书签。附录3 程序清单 .. (11) II

1 设计任务 支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图1.1所示。设东西向为主干道,南北为支干道。 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。

单片机课程设计选题

单片机课程设计选 题

单片机原理与接口技术课程设计题目 以下题目任选其一,1-2人一组,自由组合,组内各人必须有明确的分工,原则上同一组最多一个同学得优。 可使用任何单片机或ARM,1-4要求自己设计全部硬件和焊接电路板,5-10题可用现成的单片机开发板,5-6题亦可用proteus仿真。自拟题的根据题目难度由指导老师决定能否用现成的单片机开发板。 一、PC机看门狗(每班最多6人选此题,难度系数:低) 功能:当PC机死机时能自动使其重新启动。 硬件:可使用串口或USB与PC机通讯。 软件:PC机上软件编程可选用任何一种面向对象开发软件,如VC,Delphi等。 实现原理:PC机正常时,每隔一段时间经过串口向单片机发送一些固定的数据,单片机如果收到此数据,说明PC机正常,如果超时未收到,则控制PC机重新启动。 二、电子琴设计(每班最多6人选此题,难度系数:中) 使用4×4行列式键盘和蜂鸣器实现电子琴的功能。键盘符号定义如下: 按下1-7,实验箱上的蜂鸣器发出对应的音调(中音),当同时按下L和1-7时是,蜂鸣器发出低音,同时按下H和1-7时,蜂鸣

器发高音。只要按键没松开,蜂鸣器一直发声,直到松开按键。 扩展功能:在彩屏LCD上显示电子琴图片,用触摸屏控制发音,就像真正弹电子琴一样。 三、自行车测速仪 (难度系数:中偏高) 基本功能:能实时显示自行车的行驶速度 附加功能:实时时钟,行驶里程累计 要求具备一定的实用价值,即要考虑如下问题(也是答辩时的考察和评分指标): 1、体积要做到尽量小 2、为了省电,要使用低电压工作的单片机,比如使用2.0-3.3V 工作电压的单片机 3、供电采用可充电的聚合物锂电池(普通手机电池),一次充 电后的使用时间最少12小时 4、最好能直接用单车轮子的旋转为电池充电(选做)。 四、计算器设计 1、使用4×4行列式键盘和1602液晶(其它液晶亦可)或数码 管,实现普通十进制计算器的功能,键盘符号定义如下:

单片机课程设计指导书

单片机课程设计指导书

单片机应用 课程设计指导书 中原工学院信息商务学院信息工程系 课程名称:单片机应用 适用对象:测控技术与仪器 学分/学时:3/3 选修课程:单片机应用与接口技术

一、课程设计目的 大学本科学生动手能力的培养和提高是大学本科教育的一个重要内容。如何让学生在学好基础知识的同时,迅速掌握应用技术,实验与课程设计环节起着非常重要的作用。本课程设计的目的,是让测控、自动化专业学生通过课程设计,首先建立起单片机应用系统的概念,根据实际的系统设计要求,掌握初步的单片机系统设计方法,从硬件系统和软件系统设计两个方面得到实际的提高,为今后的毕业设计打下良好的基础。 二、课程设计基本要求 1、17周:运用51系列单片机,根据设计要求绘制系统原理图(要 求用protel 或altium designer软件绘制); 2、18周:设计系统软件流程图(要求用visio绘制)、根据系统流 程图编制程序,进行运行调试;然后软硬件联机调试仿真(运用仿真软件proteus)。 3、19周:检查仿真结果,最后编写课程设计报告。 4、课程设计应由学生本人独立完成,严禁抄袭(对自己的设计不 熟悉,读不懂设计中的关键功能部分,对设计的结构不清楚,对设计的功能不了解等),一经验收教师认定其抄袭行为,成绩即为不及格。 5、认真编写课程设计报告,课程设计报告的书写格式见附录1 三、课程设计题目要求

1请设计一个基于单片机的电子时钟,画出硬件电路图、编写程序,完成电子时钟的任务,并进行proteus仿真。该控制任务应该完成下列功能: 1)电子时钟显示用LED数码管显示,格式为: XX XX XX,由左向右分别为:时、分、秒,比如:23 20 40表示23时20分40秒,刚开始工作时应该显示为:年、月、日、学号; 2)实现对时、分、秒进行校准; 3)具有闹铃功能,闹钟时间到,启动蜂鸣器。 2 题目所提供要求为基本功能要求,学生可根据实际情况,在程 序设计和实现功能上做进一步的扩展,如:具有语音播报时间功能、秒表功能等。 四、时间安排计划 时间安排:2013~2014学年下学期17周~19周,具体细分: 1、17周周一布置课设任务,查阅收集资料 周三检查系统框图,绘制打印版 周四检查系统原理图,绘制打印版 2、18周周一检查系统软件流程图,绘制打印版 周三、四检查系统源程序,电子档,自备电脑 3、19周周一、三检查仿真结果,电子档,自备电脑 周四上交课程设计报告 上交地点:传感器实验室 注意:1、本次课设要求1人/组,独立完成课设任务。 2、整个课设分大组分时进行检查,请大家按时到场。(具

单片机课程设计题目

《单片机原理与应用》课程设计题目 1.基于单片机的电子秒表 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,两个按键,三位数码管显示,打开电源开关后显示8,每秒循环左移一位,即□□8—>□8□—>8□□—>□□8—>…,按A键开始计时,实时显示所经历的时间,按B键停止计时并显示从开始到当前时刻的时间,要求精确到0.1秒,量程为0~99.9秒。 要求按键输入采用中断方式,按键A接INT0,按键B接INT1。 2.智能电动百叶窗 本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮。 设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。 按键输入采用中断方式,按键中断请求信号接INT0. 单片机根据设定光强S1和S2(S2 > S1)和实测光强P控制电机M的动作:当P<=S1时,控制M正转以增加进光量; 当P>S2时,控制M反转以减少进光量; 当S1S+1时,控制R断开电加热回路; 当S-1

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

单片机课程设计

浙江工业大学之江学院 题目:数字时钟逻辑电路课程设计 班级:测控901 学号:200920540104 姓名:侯晓明 指导老师:刘勤贤 时间:2011年12月26日-2012年1月3日

设计课题:电子时钟课程设计 设计任务与要求根据应用电路的功能,确定封面上的题目,然后完成以下任务: 1、分析电路由几个部分组成,并用方框图对它进行整体描述; 2、对电路的每个部分分别进行单独说明,画出对应的单元电路,分析电路原理、 元件参数、所起的作用、以及与其他部分电路的关系等等; 3、用简单的电路图绘图软件绘出整体电路图,在电路图中加上自己的班级名称、 学号、姓名等信息; 4、对整体电路原理进行完整功能描述; 设计步骤1、查阅相关资料,开始撰写设计; 2、先给出总体方案并对工作原理进行大致的说明; 3、依次对各部分分别给出单元电路,并进行相应的原理、参数分析计算、功能以及与 其他部分电路的关系等等说明; 4.总体电路的绘制及总体电路原理相关说明; 5、列出设计中所涉及的所有参考文献资料。 设计说明书字数不得少于3000字。 参考文献【1】单片微型计算机原理与应用蔡菲娜浙江大学出版社2009年 【2】数字电子技术2黄瑞浙江大学出版社2008年 【3】单片机课程设计指导楼然苗,李光飞北京航空航天大学出版社2007年

设计背景 数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。 单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 课程设计目的 (1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力; (3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。 89C51及各管脚介绍:带4K字节闪烁可编程可擦除只读存储器低电压、高性能CMOS8位微处理器

单片机课程设计题目汇总(全)

单片机原理与接口技术课程设计题目汇总 说明:为便于同学提前探讨开发思路,特将本课程设计的可选题目发给大家。 每个同学可以在以下题目中选一题要求:课程设计考核内容包括:源程序;设计报告文档基于单片机的电子时钟设计设计内容:1、用LCD液晶作为显示设备(30分) 2、可以分别设定小时,分钟和秒,复位后时间为:00: 00:00 (30 分) 3、能实现日期的设置,年、月、日(30分) 4、其他创新内容(10分)如:闹钟功能;显示星期;整点音乐报时等。 图示: 2010-04-09 MON 11:06:42 基于单片机的交通灯显示系统(一) 设计内容:1、东西方向、南北方向均有红、黄、绿三种信号灯;(30 分) 2、带紧急制动按钮,按钮按下,所有方向亮红灯;再次按下,恢复正常显 示(20分) 3、夜间模式按钮按下,所有方向显示黄灯闪烁(20分) 4、实时提醒绿灯亮的剩余时间(30分)图示: 基于单片机的交通灯显示系统(二) 设计内容:1、东西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒(40分) 2、信号灯分绿灯(3种)、红灯、黄灯,每次绿灯换红灯时,黄灯亮3秒 钟。(30分) 3、东西干道和南北干道交替控制,每次干道绿灯交替时,有 3 秒钟所有干道的交通灯都是黄灯闪烁3秒钟,提示已经进入路口的车辆迅速通过。(30分)

4、其他创新内容。(10分) 图示: 四、基于单片机的波形发生器设计 设计内容:1、设计一款能产生3种以上波形的波形发生器(30分) 2、设计波形选择按钮(采用3个独立按键)(10分) 3、点阵显示波形图案(20分) 4、能同时输出两种波形(30分) 5、显示频率(10分) 图示: 五、基于单片机的LED点阵广告牌设计 设计内容:1、能显示不同字符、图形的LED点阵广告牌(30分) 2、用独立按键控制不同字符的切换效果(如闪烁、静止、平移)(30 分) 3、可通过串口从电脑下载更新需要显示的字符(30分) 4、其他创新功能(10分) 图示:略 六、基于单片机的篮球计分器设计 设计内容:1、设计LCD显示篮球比分牌(30分) 2、通过加分按钮可以给A队或B队加分(20分) 3、设计对调功能,A队和B队分数互换,意味着中场交换场地。(20 分) 4、显示比赛倒计时功能(20分) 5、创新内容:如显示第几小节(10分) 显示: A 083: B 079 4th Period 10:25

单片机课程设计报告

课程设计报告 课程名称单片机原理及应用 设计题目电子琴的设计 专业班级自动化1142 姓名周太永 学号1104421242 指导教师蔡长青张卓 起止时间2014.6.23-2014.7.11 成绩评定 考核内容设计 表现 设计 报告 答辩 综合 评定 成绩 电气与信息学院

2013/2014学年第二学期 《单片机控制系统设计与调试》课程设计任务书 指导教师:蔡长青班级:自动化1141、2班 地点:机房、单片机实验室(实训中心415) 课程设计题目:基于单片机原理的电子琴设计 一、课程设计目的 1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计, 到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。 2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。 3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问 题的能力,为日后的毕业设计及科研工作奠定良好的基础。 二、课程设计内容(包括技术指标) 1.焊接。认真、仔细,避免缺焊、漏焊。 2.频率计算。会计算脉冲值与频率的关系。 3.工作过程。开机时,第一步是对定时器T0进行初始化,设定它的工作状态(对 于本系统将T0设定为工作方式0);然后判断是否有键按下,如果没有按键按下,继续判断,如果有按键按下,则判断是哪个键按下;再根据按键的功能将计数初值装入定时器T0中中并启动T0,当T0定时完毕后,重新装入计数初值继续定时并将P3.3取反,再次定时完毕后再一次的装入计数初值 继续定时并将P3.3取反,一直循环此操作直到按键释放为止,按键释放后 停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。 三、时间安排 1.布置任务、查资料1天 2.硬件电路图设计及PCB制版3天 3.硬件电路图及PCB制版验收、电路板焊接1天 4.软件编程设计3天 5.系统调试3天 6.调试验收1天 7.完成设计报告3天 四、基本要求 1.画出硬件电路图,完成PCB制版; 2.画出软件流程图,编写程序(C51语言/汇编语言); 3.完成系统调试; 4.提交设计报告。

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期:2011 年 3 月17 日

目录 1 设计任务和性能指标 (3) 1.1设计任务............................................................................ 错误!未定义书签。 2 设计方案 (4) 2.1任务分析 (4) 2.2方案设计 (4) 3 系统硬件设计 (5) 3.1时钟的电路设计 (5) 3.2复位电路设计 (5) 3.3灯控电路设计 (5) 3.4倒计时电路设计 (6) 3.5按键控制电路设计 (7) 4 系统软件设计 (8) 4.11秒定时 (8) 4.2定时程序流程 (8) 4.3交通灯的设计流程图 (9) 4.4定时器0与中断响应 (10) 5 仿真及性能分析 (10) 5.1仿真结果图 (11) 5.2仿真结果与分析 (12) 6 心得体会 (13) 参考文献 (14) 附录1 系统原理图 (15) 附录2 系统PCB图 .................................................................. 错误!未定义书签。附录3 程序清单 (17)

1.1设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图5.1所示。设东西向为主干道,南北为支干道。 图5.1 交通灯示意图 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干 道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒, 支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。 黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆 禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

单片机课程设计-电子钟

中北大学 单片机课程设计说明书 数字钟设计 1 设计任务与要求 (1)

1.1设计任务 (1) 1.2设计要求 (1) 2单片机简介 (2) 2.1单片机的发展历程 (2) 3系统设计思路和方案 (3) 3.1系统总体方案 (3) 3.2硬件简介 (3) 3.2.1硬件选择 (3) 3.2.2 51单片机的构成 (4) 3.2.3 STC89C52RC引脚功能说明 (5) 3.2.4 LED简介 (6) 3.3 Keil调试 (7) 4、系统实物图 (9) 5、课程设计体会 (9) 参考文献 (10) 附录A (11) 附录B (13) 附录C (14)

1 设计任务与要求 1.1设计任务 本课题应完成以下设计内容: 1)硬件设计 设计数字钟的电路原理图,用PROTEL绘制硬件电路。制作实物。 2)软件设计 (1)时、分、秒的设置及显示; (2)画出程序框图; (3)调试与分析。用PROTEUS仿真。 3)课程设计说明书 1.2设计要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介 2.1单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。 2.2实用价值与理论意义 在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此研究数字时钟及扩大其应用有着非常现实的意义。

单片机课程设计模板2017

课程设计(论文)课程名称单片机应用课程设计 题目 院(系) 专业班级 姓名 学号 指导教师 年月日

西安建筑科技大学课程设计(论文)任务书 专业班级:电子1302 学生姓名:王玖玲指导教师(签名): 一、课程设计(论文)题目 正弦波信号发生器设计 二、本次课程设计(论文)应达到的目的 本次课程设计是自动化专业学生在学习了《单片机原理及应用》课程及《模拟电子线路》、《数字电子线路》等专业基础课程之后进行的一次综合训练,其主要目的是加深学生对单片机软硬件技术和相关理论知识的理解,进一步熟悉51单片机系统设计的基本理论、方法和技能;掌握工程应用的基本内容和要求,力争做到理论与实际的统一;同时培养学生分析问题、解决问题的能力和独立完成系统设计的能力,并按要求编写相关的技术文档和设计报告等。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 1.设计内容 (1)选择51单片机,晶振采用12MHz。 (2)设计一个能产生0至50HZ正弦波信号。通过0832D/A芯片完成数模转换。 (3)频率值由键盘输入。 (4)将频率值由LED数码管上显示(两位)。 2.设计要求 (1)按照任务书的要个求完成系统分析及方案设计。 (2)完成硬件原理图的设计,并选择相关元器件。 (3)完成控制软件流程图的设计,编写相应的单片机控制程序。 (4)撰写设计报告。 3. 成果要求 (1)在proteus中实现仿真。 (2)提交课程设计报告。 四、应收集的资料及主要参考文献: 1.李建忠.单片机原理及应用.西安电子科技大学出版社,2008 2.杨居义.单片机课程设计指导.清华大学出版社,2009 3.李海滨等.单片机技术课程设计与项目实例.中国电力出版社,2009 以及与51系列单片机相关的文献及教材。 五、审核批准意见 教研室主任(签字)

单片机课程设计大纲

《单片机原理及应用课程设计》教学大纲 适用专业:电子信息科学与技术 学时:一周学分: 课程编号:课程类别:专业课 开课单位:信息工程学院编写人:李丹 一、课程设计目的和要求 1、设计目的 通过课程设计,可将所学过的电子技术、模/数转换技术、传感器技术、单片机技术及智能仪器等知识综合串联起来,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,从而培养和提高学生的独立工作能力及解决实际问题的能力,为毕业设计和以后的工作打下一个良好的基础。 2、设计要求 a.了解并掌握单片机的原理、结构、指令、运行模式、功能模块及应用开发方法。 b.提高综合运用所学的理论知识独立分析和解决问题的能力。 c.掌握汇编语言的设计和调试。 二、课程设计方式 集体辅导与个别辅导相结合 三、课程设计内容 1.课程设计课题及要求 A类题目:(此类题目主要在“THGMZ-3型单片机·微机·CPLD·FPGA·网络接口开发综合实验装置”上完成) 题目1:V/F转换模块设计 设计任务:调试F/V变换电路 设计要求: 1)测量Vin和Fout,画出V/F线。 2)Fout接入8051的INT0或INT1,编程由单片机完成测量及显示项目 参考资料:见附件1。 题目2:F/V转换模块设计 设计任务:调试F/V变换电路 设计要求: 1)测量Fin和Vout,画出F/V线。 2)Fin接单片机I/O口,编程由单片机产生频率信号。 参考资料:见附件1。

基于c语言单片机电子时钟课程设计报告书

课程设计报告 课程名称:单片机程序设计 报告题目:电子时钟 学生: 所在学院:信息科学与工程学院专业班级: 学生学号: 指导教师:

2013年12月25日课程设计任务书

摘要 单片计算机即单片微型计算机。由RAM、ROM、CPU构成。定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。 关键词:单片机;子时钟;键控制

目录 一、概述 (5) 1.1电子时钟简介 (5) 1.2电子时钟的基本特点 (5) 1.3电子时钟的原理 (5) 二、方案设计选择 (5) 2.1计时方案 (5) 2.2显示方案 (5) 三、硬件设计 (6) 3.1单片机型号选择 (6) 3.2数码管显示工作原理 (6) 3.3键盘电路设计 (7) 3.4电路原理图 (7) 四、软件设计 (7) 五、结论与心得 (15) 六、参考文献 (16)

一、概述 1.1 电子时钟简介 1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。 1.2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED

单片机课程设计教案

《单片机技术及其应用》课程设计教案 一、课程设计的目的 课程设计是在学完《单片机原理及接口技术》课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础. 1.了解并掌握单片机的原理、结构、指令、接口及应用。 2.提高综合运用所学的理论知识独立分析和解决问题的能力。3.掌握汇编语言程序设计和调试。 4. 掌握C51语言的设计和调试。 二、课程设计的要求 1.根据设计要求,画出硬件接线图及程序的总体流程图,然后进行各控制模块的硬件设计及软件设计。 2.掌握如何应用单片机仿真器来开发应用系统及仿真调试的过程。 三、课程设计的安排 1.时间安排,课程设计时间分为三个阶段: 第一阶段(8学时):主要是学生接受课程设计的准备阶段。包括:1)学生集中介绍课程设计的具体内容和具体要求,学生选题。(4学时) 2)安排学生收集相关资料,确定课程设计的总体方案。(4学时)第二阶段(20学时):主要是学生具体课程设计的过程。包括:学生做的工作 1)确定电路中使用的电子元器件(包括元件名称和及参数值)

2)软件设计与仿真(画出软件流程图,并编写具体的代码) 老师做的工作 1)辅导学生解决在制作过程中出现的问题 2)协助学生购买设计中需要的电子元器件 3)辅导学生焊接电路板和相关元器件 4)辅导学生完成程序的烧写和硬件测试 提供烧写器给学生,由学生能够进行软件仿真调试程序。学生在焊接完毕后,将程序下载到主芯片里并测试电路。由辅导老师辅导学生调试硬件和软件部分,共同解决测试过程中出现的问题,使学生在测试过程进一步学习。 第三阶段(8学时):主要是文档资料整理和答辩 1)安排学生交课程设计报告并总结 2)每组随机抽取3个人进行答辩,取平均成绩作为小组每个人的答辩成绩 课程设计结束后,将学生的设计的实物做课程设计汇报,在实验中心1楼做一个展览。 2. 分组安排 学生可以自由组合,3-6名学生成立一个小课题组,选一名组长,确定课题后由组长进行分工。 3.课题选择 以小组为单位,一组选择一个课题,可以自己选定题目,也可以在指导教师提供的课题中选择。 四、可供选择的课题 1、抢答器的设计

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

相关主题
文本预览
相关文档 最新文档