交通灯课程设计.docx
《交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
交通灯课程设计
单片机课程设计实验报告
题目:
单片机最小系统设计
指导老师:
xxxxx
姓名:
xxxxx
学号:
xxxxxx
日期:
2011.12.25
一、设计任务设及要求
1、设计任务
设计一个单片机系统(包括单片机最小系统、4个独立式按键及8个发光二极管、6个数码管和一个蜂鸣器),能用Protel绘出其原理图,并进行Proteus仿真,完成单片机综合开发板的键盘、显示等程序的编写、编译和调试。
2、设计要求
(1)原理图要清楚,标注元件参数;
(2)A4打印正式原理图;
(3)要求用统一格式封面;
(4)图要均匀分布,合理布局
二、方案论证
1.设计方案:
选用ATC51单片机作为最小系统的控制器,设计电源电路、时钟电路、复位电路完成其基本功能。
串行通讯则采用为电脑的RS-232标准串口设计的单电源电平转换芯片和D9端口,实现系统数据下载;设计LED电路和蜂鸣器电路,实现简单扩展功能。
三、硬件部分
1.复位电路
复位电路由按键复位和上电复位两部分组成。
AT89S系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。
2.时钟电路
AT89C51单片机内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,如电路原理图所示在引脚XTAL1和XTAL2跨接晶振Y1和微调电容C1和C6。
电容一般选择30pf,电容的大小会影响振荡器频率的高低,稳定性和速度。
晶振的频率选择12MHz。
3.按键电路
按键原理图
每按一次按键,可以增加一次led灯闪烁的时间,灯闪烁到达十次,用蜂鸣器警报,设计要求不能用单片机,只能用纯电路搭建。
4.LED显示电路
本电路使用8个数码管可以显示8位数字,扩展控制端口来输入数据,通过电阻和PNP放大电流来动态控制四个共阳极数码管的轮流显示。
5.发光二极管电路
LED的阴极接地,阳极接单片机IO口,那么IO口高电平,LED亮,低电平,LED灭。
四、软件部分
1.程序流程图
2.LED显示子程序
MOVTMOD,#00H
MOVTH0,#0F0H
MOVTLO,#0CH
SETBTR0
SETBETO
SETBEA
AJMP$
SETMM:
cLRET0
CLRTR0
LCALLDL1S
JBP3.7,CLOSEDISMOVR2,#06HSETBET1
SETBTR1
SET2:
JNBP3.7,SET1
SETB00H
SET4:
JBP3.7,SET3
LCALLDL05S
JNBP3.7,SETHH
MOVR0,#77H
LCALLADD1
MOVA,R3
CLRC
CJNEA,#60H,HHH
HHH:
JCSET4
LCALLCLR0
CLRC
AJMPSET4
CLOSEDIS:
SETBET0
SETBTR0
CLOSE:
JBP3.7,CLOSE
LCALLDISPLAY
JBP3.7,CLOSE
WAITH:
JNBP3.7,WAITH
LJMPSTART1
SETHH:
CLR00H
SETHH1:
JNBP3.7,SET5
SETB01H
SET6:
JBP3.7,SET7
LCALLDL05S
JNBP3.7,SETOUT
MOVR0,#79H
LCALLADD1
MOVA,R3
CLRC
CJNEA,#24H,HOUU
HOUU:
JCSET6
LCALLCLR0
AJMPSET6
SETOUT:
JNBP3.7,SETOUT1
LCALLDISPLAY
JNBP3.7,SETOUT
CLR01H
CLR00H
CLR02H
CLRTR1
CLRET1
SETBTR0
SETBET0
LJMPSTART1
SET1:
LCALLDISPLAY
AJMPSET2
SET3:
LCALLDISPLAY
AJMPSET4
SET5:
LCALLDISPLAY
AJMPSETHH1
SET7:
LCALLDISPLAY
AJMPSET6
SETOUT1:
LCALLDISPLAY
AJMPSETOUT
延时程序:
1MS延时程序,LED显示程序用
DL1MS:
MOVR6,#14H
DL1:
MOVR7,#19H
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET
;;20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象
DS20MS:
ACALLDISPLAY
ACALLDISPLAY
ACALLDISPLAY
RET
五、仿真调试
根据设计的硬件电路图使用dxp绘图软件绘制电路原理图。
根据绘制的电路原理图使用proteus仿真软件绘制仿真电路。
根据硬件电路使用keil3软件编写程序。
使用keil3软件和proteus软件联合仿真调试程序并修改软件错误,实现相应功能,达到设计目的。
附录1:
原理图如下:
附录2:
proteus仿真效果如下: