武汉理工大学《单片机应用实践》课程设计
目录
1. 概述........................................................................................................................... 1
1.1 设计背景......................................................................................................... 1 1.2 设计任务......................................................................................................... 1 2. 系统方案和总体设计............................................................................................... 2
2.1 AT89C52单片机简介 ..................................................................................... 2 2.2 AT89C52单片机的硬件结构 ......................................................................... 2
2.2.1 主要性能参数...................................................................................... 3 2.2.2 定时器.................................................................................................. 4 2.2.3 晶振特性.............................................................................................. 4 2.3 系统硬件系统设计......................................................................................... 5 3. 软件设计................................................................................................................... 8
2.1 主程序流程图................................................................................................. 8 3.2 子程序显示流程图......................................................................................... 9 3.3 Ptoteus仿真 ..................................................................................................... 9 3.4 实物演示....................................................................................................... 11 4. 课程设计体会......................................................................................................... 12 附录A .......................................................................................................................... 14 本科生课程设计成绩评定表...................................................................................... 14
武汉理工大学《单片机应用实践》课程设计
1. 概述
1.1 设计背景
如今随着人们生活水平的提高,车辆越来越多,交通事故频繁发生。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的安全保障。因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立。
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
本系统设计一个基于单片机的交通灯控制系统。能方便的对交通灯进行控制,使交通更和谐。
1.2设计任务
设计一个十字路口的红、黄、绿交通灯控制系统,对南北、东西来往的车辆进行控制。
1
武汉理工大学《单片机应用实践》课程设计
2. 系统方案和总体设计
2.1 AT89C52单片机简介
在众多的单片机系列中,AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系列可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也适用于常规编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超高效的解决方案。AT89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,3个16位定时器/计数器,一个响亮2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。故此选用AT89C52单片机。
2.2 AT89C52单片机的硬件结构
AT89C52单片机的内部结构与MCS-51系列单片机的构成基本相同。CPU是由运算器和控制器所构成的。运算器主要用来对操作数进行算术、逻辑运算和位操作的。控制器是单片机的指挥控制部件,主要任务的识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。它的程序存储器为8K字节可重擦写Flash闪速存储器,闪烁存储器允许在线+5V电擦除、电写入或使用编程器对其重复编程。数据存储器比51系列的单片机相比大了许多为256字节RAM。AT89C52单片机的指令系统和引脚功能与MCS-51的完全兼容。
2
武汉理工大学《单片机应用实践》课程设计
图 1AT89C52单片机的内部结构
2.2.1 主要性能参数
? 8K字节可重擦写Flash闪速存储器,1000次可擦写周期 ? 全静态操作:0Hz-24MHz ? 三级加密程序存储器 ? 256×8字节内部RAM ? 32个可编程I/O口线 ? 3个16位定时/计数器 ? 8个中断源
? 可编程串行UART通道 ? 低功耗空闲和掉电模式
图 2 AT89C52引脚图
3
武汉理工大学《单片机应用实践》课程设计
2.2.2 定时器
1.定时器0和定时器1
在AT89C52中,定时器0和定时器1都是16位加法计数结构,分别由TH0(地址8CH)和TL0(地址8AH)及TH1(地址8DH)和TL1(地址8BH)两个8位计数器组成。这4个计数器均属于专用寄存器之列。每个定时器/计数器都有定时和计数两种功能。
2.计数功能
所谓的计数功能是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外脉冲进行计数。MCS-51系列的芯片有T0(P3.4)和T1(P3.5)两个信号引脚,分别就是这两个计数器的计数输入端。外部输入的脉冲在负跳变时有效,进行计数器加1。
计数方式下,单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效计数脉冲。在下一个机器周期的S3P1进行计数。可见采样计数脉冲是在2个机器周期进行的。鉴于此,计数脉冲的频率不能高于振荡脉冲的频率不能高于振荡脉冲频率的1/24。
3.定时功能
定时器也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。也就是每个机器周期计数加1。由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。如果单片机采用12MHz晶体,则计数频率为1MHz。即每微秒计数器加1。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。
2.2.3 晶振特性
AT89C52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟远驱动器件的话,XTAL2可以不接,而从XTAL1接入。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外
4
武汉理工大学《单片机应用实践》课程设计
部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。
石英晶振 C1,C2=30PF+-10PF 陶瓷谐振器 C1,C2=40PF+-10PF
2.3 系统硬件系统设计
(1)时钟电路设计
图 3 时钟电路
如图所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击荡器。其发出的时钟脉冲直接送入片内定时控制部件。
(2)复位电路设计
如图所示,采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。为保证复位可靠,RC时间常数应大于两个机器周期。
5
武汉理工大学《单片机应用实践》课程设计
图 4 复位电路
(3)灯控制电路设计
图 5 灯控制电路
如图所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向车道和东西方向车道两条交叉道路上的车辆交替运行,绿灯通行时间为25秒,黄灯闪烁5秒,红灯停止30
6
武汉理工大学《单片机应用实践》课程设计
秒。
(4)倒计时显示电路
图 6 倒计时显示电路
由两个共阳数码管来实现倒计时。两个数码管显示变化的绿灯,黄灯的倒计时。
7
武汉理工大学《单片机应用实践》课程设计
3. 软件设计
2.1 主程序流程图
图 7 主程序流程图
用p1口的八个引脚控制交通灯闪烁 P1.0——1.2分别代表东西路口的红黄绿灯
8
武汉理工大学《单片机应用实践》课程设计
P1.3——1.5分别代表南北路口的红黄绿灯 1.开始时东西红灯亮,南北绿灯亮(延时25s) 2.然后东西红灯亮,南北黄灯闪烁5次(亮灭一秒) 3.然后东西绿灯亮,南北红灯亮(延时25s) 4.然后东西黄灯闪烁5次(亮灭一秒) 5.返回的第一步继续循环
3.2 子程序显示流程图
图 8 子程序显示流程图
3.3 Ptoteus仿真
仿真步骤:
(1)根据电路图选择器件连接电路
(2)双击AT89S52装入源程序编译生成的HEX文件 (3)单击运行按钮运行仿真
9
武汉理工大学《单片机应用实践》课程设计
(4)根据仿真情况与程序实现任务对比,对于不能实现的任务修改并调试程序,重新装载重新运行调试仿真,直到能完全实现所要求的功能为止
(5)进一步改进和简化程序在进行调试仿真
图 9 25秒倒计时
10
武汉理工大学《单片机应用实践》课程设计
图 10 5秒倒计时
结果分析:
根据仿真结果,可得知仿真初始为p1.0(即东西向)红灯亮,p1.3(即南北向)绿灯亮,同时进行25秒倒计时;倒计时结束后p1.3(即南北向)黄灯闪烁,并进行5秒倒计时;倒计时结束后p1.0(即东西向)绿灯亮,p1.3(即南北向)红灯亮,并进行25秒倒计时;依次循环;本次课程设计成功。
3.4 实物演示
图 11 实物演示结果
实物结果分析:初始东西向红灯亮,南北向绿灯亮,15秒后南北向黄灯亮一秒,之后东西向绿灯亮,南北向红灯亮,实物设计成功。
11
武汉理工大学《单片机应用实践》课程设计
4. 课程设计体会
通过这次单片机课程设计,才深刻体会到自己实际操作能力的匮乏。从刚开始老师对单片机的整体介绍及其应用前景,对单片机产生了浓厚的兴趣,并利用自己的课余时间学习有关单片机的基本知识。但空有理路知识,却无半点的实际操作经验。从电路图的分析到实际电路元件的识别、焊接,再到后期的程序设计以及系统调试,初步掌握了运用单片机系统设计特定功能的设计步骤,也对单片机有了更深的体会。了解和掌握了一些简单的编程思想,对单片机各管脚的功能,I/O口的使用条件都有了更深的理解。特别对protues软件画电路图及仿真的过程,我几乎是从零开始学习并使用的。说到这里,得感谢小组里同学的指导,同时也幸好大家都很繁忙,让我有更多的独立探索学习和思考的空间,将这些东西变成自己的。这次课程设计的任务是通过单片机的I/O口来控制交通灯,主要完成两大项任务,第一就是硬件连接图;第二是编写相应的程序来实现硬件功能。看似简单,实际上需要过硬的知识作为基础,平时看看书考试那样的过程,是难以完成这样的任务的。
这次设计过程中,遇到了很多棘手的问题,很多东西,动起手来束手无策,大多都只得先通过查阅资料或者参考别人做类似课题,才能自己动手设计画图,编程调试。过程中还错误不少,就这个程序吧,我写了改,改了写,花了很长时间。还有就是protues软件仿真涉及整个过程,虽然并不太难,但是我是通过这次才真正弄明白的。通过这次课程设计,关于单片机的知识深入了解了更多,但更多是让我知道了知识的欠缺,很多环节,都慢慢翻书或者查找资料才能完成。让我明白,在以后的学习中,应更注重知识的应用,更注重实质的掌握。当然这次课程设计,提高了知识的应用能力和和实践能力,同时提高了独立思考独立完成任务的能力,当然同组之间,遇到了实在没办法解决的问题,也相互的咨询和讨论,加强了大家的合作精神和团结能力。这对以后的学习和工作都有重要意义。
这次的课程设计让我把单片机的理论知识运用的实践中,实现了理论与实践的相结合,从中更懂得了理论是实践的基础,实践更能检验理论的真实性,让我受益匪浅。
12
武汉理工大学《单片机应用实践》课程设计
参考文献
[1] 高惠芳.单片机原理与应用技术[M].北京:科学出版社,2010.4 [2] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004 [3] 吴飞青.单片机原理与应用实践指导[M].北京:机械工业出版社,2009.2 [4] 李群芳,肖看.单片微型计算机与接口技术[M].北京:电子工业出版社,2012 [5] 谭浩强.单片机课程设计[M].北京:清华大学出版社,1989
13
武汉理工大学《单片机应用实践》课程设计
附录A
ORG 0000H AJMP STATE1 ORG 0030H
STATE1:MOV P1,#11011110B;东西向红灯亮,南北向绿灯亮 MOV R7,#25 ;延时显示25秒 ACALL DISP
STATE2:SETB P1.5 ;南北向黄灯闪烁 MOV R7,#05 ACALL DISP1
STATE3:MOV P1,#11110011B MOV R7,#25 ACALL DISP
STATE4: SETB P1.2 MOV R7,#05 ACALL DISP1 LJMP STATE1 DISP: MOV 40H,R7 NEXT: MOV A,40H MOV B,#10 DIV AB
MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B
MOVC A,@A+DPTR MOV P2,A
ACALL DELAY1s DEC 40H
MOV A,40H CJNE A,#00,NEXT DELAY1s:MOV R3,#10 MOV TMOD,#01H LOOP:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0
LOOP1:JBC TF0,LOOP2 SJMP LOOP1 LOOP2:CLR TR0
DJNZ R3,LOOP RET
DISP1: MOV 40H,R7 NEXT1: MOV A,40H
;延时显示5秒 ;东西向绿灯亮,南北向红灯亮 ;延时显示25秒 ;东西向黄灯闪烁 ;延时显示5秒 ;第一、三步延时显示 ;第二步延时显示 14
武汉理工大学《单片机应用实践》课程设计
MOV B,#10 DIV AB
MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B
MOVC A,@A+DPTR MOV P2,A CLR P1.4
LCALL DELAYbs SETB P1.4
LCALL DELAYbs DEC 40H MOV A,40H CJNE A,#00,NEXT1 DELAYbs:MOV R3,#5 MOV TMOD,#01H LOOP0:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0
LOOP10:JBC TF0,LOOP2 SJMP LOOP1 DISP2: MOV 40H,R7 NEXT2: MOV A,40H MOV B,#10 DIV AB
MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B
MOVC A,@A+DPTR MOV P2,A CLR P1.1
LCALL DELAYbs SETB P1.1
LCALL DELAYbs DEC 40H MOV A,40H CJNE A,#00,NEXT2 DELAYb1s:MOV R3,#5 MOV TMOD,#01H LOOP01:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0
;第四步延时显示程序
15
武汉理工大学《单片机应用实践》课程设计
LOOP11:JBC TF0,LOOP2 SJMP LOOP1
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
16
武汉理工大学《单片机应用实践》课程设计
本科生课程设计成绩评定表
姓 名 专业班级 性 别 课程设计题目: 课程设计答辩或质疑记录: 成绩评定依据: 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字:
年 月 日
17