陕西理工学院
课程设计实验报告
课 程:单片机原理及应用
题 目:交通灯
院 系:电气工程系
班 级:自控
学 号:
姓 名:
指 导老师:
时 间:2010.11.22 — 2010.12.10
摘 要... 3
1. 引言... 4
2. 总体设计方案... 4
2.1. 设计思路... 4
2.1.1. 设计目的. 4
2.1.2. 设计任务和内容. 5
2.1.3. 方案比较、设计与论证. 5
2.1.4. 芯片简介. 7
2.2. 设计方框图... 10
3. 设计原理分析... 10
3.1. 交通灯显示时序的理论分析与计算... 10
3.2. 交通灯显示时间的理论分析与计算... 12
3.3. 电路模块... 13
3.3.1. LED数码管显示模块. 13
3.3.2. LED红绿灯显示模块. 15
3.3.3. 复位电路. 17
3.3.4. 晶振电路. 17
4. 结束语... 18
5. 参考文献... 18
6. 附录... 18
6.1. 附录1:程序清单... 18
6.2. 附录2:仿真电路设计总图... 25
6.3. 附录3:实物电路设计总图... 25
任务书
1.设计目的和要求
a.加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
b.用单片机模拟实现具体应用,使个人设计能够真正使用。
c.把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
d.提高利用已学知识分析和解决问题的能力,提高实践动手能力。
e.单片机采用AT89C51芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口15秒,南北路口25秒,黄灯时间5秒)。
2.设计内容
a.方案确定
为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。此方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
综上所述,我们选择第二种方案。
复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。
方案一:
采用89C51扩展I/O 口及键盘,显示等。该方案的优点是:
使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:
直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二
该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:
方案一:
完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。
方案二:
完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
设计方框图
整个设计以AT89C51单片机为核心,由数码管显示,LED数码管显示,复位电路组成。
硬件模块入图2-1。
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如2。
表2说明:
(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为25秒。
(2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。
(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为25秒。
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
b.硬件电路设计
(1)静态显示方式:静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。由于单片机本身提供的I/O口有限,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。
静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。
(2)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
(2)复位电路
复位方式有多种,本设计采用按键复位。接线图如图程序3.1复位电路,
框图
在设定的定时时间内,89C51必须在RST引脚产生一个由高到低的电平变化,以清内部定时器.
晶振电路原理图如3-2:
3-2 晶振模块原理图
选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振为2MHz。
c.软件设计
数码管显示子程序:
DISP: MOV A,R2
MOV B,#10
DIV AB
MOV 60H,A
MOV 61H,B
MOV A,R3
MOV B,#10
DIV AB
MOV 62H,A
MOV 63H,B
MOV 40H,#04H
MOV R5,#0FEH
MOV R0,#60H
LLP: MOV A,@R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,R5
MOV P2,A
LCALL DELAY1
MOV P2, #0FFH ;令显示器熄灭,以免产生残影
RL A
MOV R5,A
INC R0
DJNZ 40H,LLP
RET
DELAY1: ;延时子程序
MOV R4,#12
DL2: MOV R7,#12
DJNZ R7,$
DJNZ R4,DL2
RET
TABLE:DB 3FH,24H,5dH,75H,66H
DB 73H,7bH,25H,7fH,77H
END
本实验有四种状态:
状态1, 东西绿灯亮,南北红灯亮,此时P1.0口—P1.7口的高低电平为#0BBH。
子程序:
ST1: MOV P1,#0EBH ;第一个状态,主干道亮绿灯、支干道亮红灯;
CJNE R1,#0FFH,TZ1
MOV R1,#00H
DEC 20H
DEC 23H
TZ1: MOV R2,20H
MOV R3,23H
LCALL DISP ;调用显示子程序。
MOV A,20H
CJNE A,#00H,ST1
MOV 20H,#25
状态2, 东西黄灯亮,南北红灯亮,此时P1.0口—P1.7口的高低电平为#0BDH。
子程序:
ST2: MOV P1,#0EDH ;第二个状态,主干道亮黄灯、支干道亮红灯;
CJNE R1,#0FFH,TZ2
MOV R1,#00H
DEC 21H
DEC 23H
TZ2: MOV R2,21H
MOV R3,23H
LCALL DISP ;调用显示子程序。
MOV A,21H
CJNE A,#00H,ST2
MOV 21H,#05
状态3, 东西红灯亮,南北绿灯亮,此时P1.0口—P1.7口的高低电平为#0DEH。
子程序:
ST3: MOV P1,#0BEH ;第三个状态,主干道亮红灯、支干道亮绿灯;
CJNE R1,#0FFH,TZ3
MOV R1,#00H
DEC 24H
DEC 22H
TZ3: MOV R2,24H
MOV R3,22H
LCALL DISP ;调用显示子程序。
MOV A,22H
CJNE A,#00H,ST3
MOV 22H,#15
状态4, 东西红灯亮,南北黄灯亮,此时P1.0口—P1.7口的高低电平为#0EEH。再采用显示子程序与延时子程序可使LED显示灯按照要求点亮。
子程序:
ST4: MOV P1,#0DEH ;第四个状态,主干道 亮红灯、支干道亮黄灯;
CJNE R1,#0FFH,TZ4
MOV R1,#00H
DEC 24H
DEC 21H
TZ4: MOV R2,24H
MOV R3,21H
LCALL DISP ;调用显示子程序。
MOV A,21H
CJNE A,#00H,ST4
MOV 21H,#05
MOV 24H,#20
LJMP ST1
1.程序清单
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTT0
ORG 0013H
LJMP INTT1
ORG 001BH
LJMP TT1
ORG 0100H
TT1: MOV TH1,#0D8H ;定时器1,定时10us
MOV TL1,#0F0H
DJNZ R6,EXIT
MOV R6,#100 ;定时器定时100次
MOV R1,#0FFH
EXIT: RETI
INTT0:MOV P1,#0BEH ;外部中断0,
JB P3.4,$
RETI
INTT1:MOV P1,#0BBH ;外部中断1,
JB P3.4,$
RETI
ORG 1000H
MAIN: MOV R6,#100 ;主程序;
MOV R1,#00H
MOV TMOD,#10H ;初始化
MOV TH1,#0D8H
MOV TL1,#0F0H
MOV IE,#8DH
MOV 20H,#25
MOV 21H,#5
MOV 22H,#15
MOV 23H,#30
MOV 24H,#20
SETB TR1
ST1: MOV P1,#0EBH ;第一个状态,主干道亮绿灯、支干道亮红灯;
CJNE R1,#0FFH,TZ1
MOV R1,#00H
DEC 20H
DEC 23H
TZ1: MOV R2,20H
MOV R3,23H
LCALL DISP ;调用显示子程序。
MOV A,20H
CJNE A,#00H,ST1
MOV 20H,#25
ST2: MOV P1,#0EDH ;第二个状态,主干道亮黄灯、支干道亮红灯;
CJNE R1,#0FFH,TZ2
MOV R1,#00H
DEC 21H
DEC 23H
TZ2: MOV R2,21H
MOV R3,23H
LCALL DISP ;调用显示子程序。
MOV A,21H
CJNE A,#00H,ST2
MOV 21H,#05
MOV 23H,#30
ST3: MOV P1,#0BEH ;第三个状态,主干道亮红灯、支干道亮绿灯;
CJNE R1,#0FFH,TZ3
MOV R1,#00H
DEC 24H
DEC 22H
TZ3: MOV R2,24H
MOV R3,22H
LCALL DISP ;调用显示子程序。
MOV A,22H
CJNE A,#00H,ST3
MOV 22H,#15
ST4: MOV P1,#0DEH ;第四个状态,主干道亮红灯、支干道亮黄灯;
CJNE R1,#0FFH,TZ4
MOV R1,#00H
DEC 24H
DEC 21H
TZ4: MOV R2,24H
MOV R3,21H
LCALL DISP ;调用显示子程序。
MOV A,21H
CJNE A,#00H,ST4
MOV 21H,#05
MOV 24H,#20
LJMP ST1 ;跳转到第一个状态。
DISP: MOV A,R2 ;显示子程序。
MOV B,#10
DIV AB
MOV 60H,A
MOV 61H,B
MOV A,R3
MOV B,#10
DIV AB
MOV 62H,A
MOV 63H,B
MOV 40H,#04H
MOV R5,#0FEH
MOV R0,#60H
LLP: MOV A,@R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,R5
MOV P2,A
LCALL DELAY1
MOV P2, #0FFH; 注意,这里是程序修改的地方,令显示器熄灭,以免产生残影
RL A
MOV R5,A
INC R0
DJNZ 40H,LLP
RET
DELAY1: ;延时子程序
MOV R4,#12
DL2: MOV R7,#12
DJNZ R7,$
DJNZ R4,DL2
RET
TABLE:DB 3FH,24H,5dH,75H,66H
DB 73H,7bH,25H,7fH,77H
END
d.综合调试
e.总结
自20##年11月22日起至20##年12月10日,这三周我们进行了关于计算机控制技术课程的实践学习训练。单片机的学习与应用。下面讲述关于计算机控制技术课程设计的总结与体会。
在这个学习过程中,我们六人一组系统的学习了交通灯
的相关知识。一开始,我们对它很陌生,可以说是知之甚少,可是我们不断翻阅图书馆的相关资料及网上查阅,经过自己的思考后,形成想法,之后我们经常在一起讨论,交换意见和看法,遇到大家都不懂的地方,我们会上网查资料或者去找周围的同学,如果仍旧一知半解,我们会去询问我们的指导老师,就这样,经过一段时间的系统学习,我们对这个交通灯有了一定程度的认识,学到了很多东西,这也对我们的后续学习过程和实践环节提供了有力的帮助和支持。
在这个课程设计中,我们要感谢的人有很多。首先,要感谢我们的指导老师—胡波老师,他给我们提供了很大的帮助,解决了我们组课设过程中实际存在的一些问题。其次,我要感谢我们组的其他组员,是他们的团结互助,和谐相处,不断协作,才使我们的课设进程快速高效完成。当然,也要感谢那些帮助过我们的其他同学,没有他们,我们的课设也不可能进行的如此顺利。
本次课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
最后,我还要感谢我们的学校以及我们电气工程系的各位领导,是他们给我们提供了如此好的实习环境和硬件资源;及指导老师胡波不辞辛苦,耐心讲解,使我们非常感动。在这里,我向他们致以崇高的敬意。
附录
A元件清单
At89c51
74ls373
晶振2MHz
排阻respack-8
LED-RED
LED-GREEN
LED-YELLOW
10uF电容
30pF电容
共阴七段LED显示
电阻
B硬件图
C参考文献
[1].李朝青.单片机原理及接口技术(第3版).20##年10月
[2].蔡朝洋.单片机控制实习与专题制作
[3].楼然苗.单片机课程设计指导
[4].赵广林.电路设计与制版
陕西理工学院单片机课程设计陕西理工学院课程设计实验报告课程单片机原理及应用题目交通灯院系电气工程系班级自控学号姓名指导老师时间20…
计算机控制技术课程设计二阶环节电压跟踪控制系统的设计采用PC机JK实验装置on二阶环节电压跟踪控制系统的设计采用PC机JK实验装置…
计算机控制系统课程设计报告题目化工厂车间反应模型班级dj姓名学号1计算机控制系统课程设计一组态王软件简介组态王是完全基于网络的概念…
指导教师评定成绩计算机控制技术课程设计报告设计题目最少拍无波纹控制器的设计与仿真学生姓名专业班级指导教师一课程设计题目最少拍无波纹…
分数:华南理工大学广州学院课程设计报告题目:反应炉液位控制系统设计方案课程:计算机控制技术课程设计专业:自动化班级:20##级1班…
《微机原理与接口技术》课程设计报告交通灯控制系统班级:学号:姓名:指导教师:成绩:20##年7月1日目录1、课程设计的目的和要求3…
指导教师评定成绩计算机控制技术课程设计报告设计题目最少拍无波纹控制器的设计与仿真学生姓名专业班级指导教师一课程设计题目最少拍无波纹…
计算机控制技术课程设计二阶环节电压跟踪控制系统的设计采用PC机JK实验装置on二阶环节电压跟踪控制系统的设计采用PC机JK实验装置…
计算机控制技术与系统计算机控制系统A课程设计任务书一目的与要求1通过本课程设计教学环节使学生加深对所学课程内容的理解和掌握2结合工…
计算机控制系统课程设计报告题目化工厂车间反应模型班级dj姓名学号1计算机控制系统课程设计一组态王软件简介组态王是完全基于网络的概念…
计算机控制系统实验报告姓名罗才宝学号0953505008指导教师专业年级所在院系完成日期实验一DA数模转换实验一实验目的1掌握数模…