ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:284.58KB ,
资源ID:11749492      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11749492.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(叶奇基于51单片机的交通灯控制系统设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

叶奇基于51单片机的交通灯控制系统设计.docx

1、叶奇基于51单片机的交通灯控制系统设计课程设计报告( 2013- 2014 年度第二学期)名 称: 单片机与嵌入式系统 题 目: 基于51单片机的交通信号灯控制系统 院 系: 控制与计算机工程学院 班 级: 测控1101班 学 号: 1111160121 学生姓名: 叶奇 指导教师: 吕跃刚教授 设计周数: 1周 组员: 成 绩: 日期: 2014 年 6 月 18 日基于51单片机的交通灯控制系统设计一、课程设计的目的与要求 1、运用单片机与嵌入式系统课程所学知识,学生独立完成微处理器与外围电路设计与软件编程使用proteus电路制版软件,独立完成单片机与外围电路设计,内容包括51单片机及电

2、源接口、复位与晶振电路、1个按键及接口、2位LED数码显示驱动电路。2、掌握交通灯控制系统的设计方法,掌握常用的数字集成电路的功能和应用,以及对一些常用的芯片熟悉,并使用proteus仿真软件完成定时器、LED驱动显示、循环方式等的软件编程。二、设计正文1设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现人工紧急控制。该过程在编程时可利用中断实现,设置一个按钮,只要按下,那么四个方向全部显

3、示红灯,禁止以往车辆通行。当情况解除,让时间回到跳转处继续进行。2 硬件设计2.1 LED循环电路设计 2.1.1 89cs51单片机概述 MCS-51单片机内部结构: 89CS51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 89CS51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元,及数据总线、地址总线和控制总线等三大总线,现在分别加以说明。 *中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系

4、统的工作,完成运算和控制输入输出等操控。 *数据存储器(RAM): 89CS51内部有128个8位用户数及存储单元和128个寄存器单元,他们是统一编址的,专营寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户自定义的字型表。 *程序存储器(ROM): 89CS51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 *定时/计数器(ROM): 89CS51有两个16位的可编程定时/计数器,一时想定时或计数产生中断用于控制程序转向。 *并行输入输出(I/O)口: 89CS51共有4组8位I

5、/O口(P0、P1、P2或P3),用于对外数据传输。 *全双工串行号: 89CS51内置一个全双行串行通信口,用于与其它设备间的串行数据传输,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 *中断系统: 89CS51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,客满著不同的控制要求,并具有2级优先级别选择。 *时钟电路: 89CS51内置最高频率高达12Hz的时钟电路,用于产生整个单片机运行的脉冲时序,但89CS51单片继续外置震荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广

6、泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。 MCS-51系统的引脚说明: MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,图二是它们的引脚配置,40个引脚中,正电源和底线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用 图二 8951的复位方式可以自动复位,也可以是手动复位,见下图。除此之外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可以接上没用电源,以保证单片机内部RAM的数据不丢失。 在编程时,EA/Vpp脚还需加上21V的编程电压。 2.1.2 LED循环

7、说明 东西、南北两干道交于一个十字路口,各干道有一组红、绿、黄三色的指示灯,指挥车辆和行人的安丘按通行。红灯禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西,南北两干道的公共停车时间。25s3s2s25s3s2s东西通道红灯亮红灯亮红灯亮绿灯亮绿灯闪黄灯亮南北通道绿灯亮绿灯闪黄灯亮红灯亮红灯亮红灯亮 上表说明东西路口红灯亮,南北路口绿灯亮,同时开始25s倒计时。25s倒计时结束后开始5s倒计时,南北路口绿灯闪烁,计时至最后2s时,南北路口黄灯亮。完成一次这样的循环要30s。30s结束,南北路口红灯亮,东西路口绿灯亮,并重新30s倒计时,依次循环。电路图如

8、图三所示。 图三2.2 倒计时显示电路 2.2.1 74LS164芯片 74LS164用于扩展并行输出口。用89CS51串行口外接164串入-并出移位寄存器扩展8位并行口。8位并行口的每位分别接到数码显示管的不同显示端。74LS164芯片管脚排列如下图,管脚1、2相连共同接单片机管脚RXD,8管脚接单片机管脚TXD,9管脚接高电平,7管脚接地,14管脚接高电平,其他管脚依次接数码显示管管脚。 图四2.2.2 共阴极数码显示管这里列出了共阴和共阳数码管的管脚平排列和内部结构。数码管3、8管脚内部连在一起。如果是共阳极则将其接到高电,如果是共阴极则将其接地。为了数码显示管的安全这里用三个二极管与其

9、串联来降压。 图五2.2.3 倒计时电路 倒计时显示电路如图六。利用两个74LS164芯片并联后,其1、2管脚至单片机RXD管脚8管脚至单片机TXD管脚。然后其他管脚依次接至数码管个管脚。对于数码管其3、8管脚经过三个串联的二极管接地。 图六2.2.4 人工紧急控制电路 为了实现此功能,利用单片机中断达到目的。利用一个手动按钮开关接至单片机外部中断INT0,同时在软件设计时将其设为最高优先级中断。当有按键按下,四方全为红灯,同时将终端位置的PSW、ACC进栈保护。当再按下按钮,将PSW、ACC出栈,回到原来的位置继续执行,电路图如下图。 图七3 软件设计 3.1 程序流程图:如图八所示。 图八

10、 3.2 LED红绿灯显示 如图三所示,当P1端口输出高电平,即P1各端口=1时,根据发光二极管的单向导电性可知,这是发光二极管熄灭;当P1个端口输出低电平,即P1各端口=0时,发光二极管亮。我们可以使用SETB指令使P1各端口输出高电平,使用CLR指令时P各端口输出低电平。至于循环需要软件控制,程序见附录。 3.3倒计时显示 此处采用LED静态显示方式,当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另个字符为止。89C51的串行口RXD和TXD为一个全双工串行通信口,但工作在方式0下可作同步移位寄存器,其数据由RXD端串行输出或输入;而同步移位时钟由TXD端并行输出,在同步时钟的

11、作用下,实现由串行到并行的数据通信。在不需要使用串行通信的场合,利用串行口加外围芯片74LS164就可构成一个或多个并行输入输出口,用于串并转换或显示器LED驱动,此利用后者。 3.4 人工紧急控制 将一按钮接到单片机外部中断INT0端口。另一端接地,通过在程序里设置外部中断0为最高优先级。当检测到有按钮按下时,产生中断,停止刚才的程序,转向中断执行。在此过程必须利用PUSH、POP指令保护现场,这样当情况解除可以回到原来的地方继续执行。3.5程序代码见附录二三 课程设计总结通过此次课程设计,使我更加扎实的掌握了有单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又

12、一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。在学习单片机理论课时候就感觉到内容很多,知识点很杂,分繁琐。在老师的讲解下,在通过自己的努力也更进一步了解了单片机的内部构造和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”,还需要实际动手去实践。这次单片机实习,我选的是交通灯控制系统设计,通过这次设计我感觉到要想做成功,必须花时间多准备,查阅大量资料,认证分析每一步每一个模块要实现的功能,然后分步进行,最后整合成一个整体。四 参考文献 1 叶挺秀.应用电子学M.杭州:浙江大学出版社,19942 朱承高.电工及电子技术手册M.北京:高等教育出版社,1

13、9903 阎石.数字电子技术基础(第三版)M.北京:高等教育出版社,19894 周润景.PEOTEUS在MCS-51&ARM7系统中的应用百例M.北京:电子工业出版社,20065 李朝青.单片机原理及接口技术(第三版)M.北京:北京航空航天大学出版社,2005附录一:附录二: 源程序代码 SECOND1 EQU 30H ;东西路口计时寄存器 SECOND2 EQU 31H ;南北路口计时寄存器 DBUF EQU 40H ;显示码缓冲1 TEMP EQU 44H ;显示码缓冲2 LED_G1 BIT P1.0 ;东西路口绿灯 LED_Y1 BIT P1.1 ;东西路口黄灯 LED_R1 BIT

14、P1.2 ;东西路口红灯 LED_G2 BIT P1.5 ;南北路口绿灯 LED_Y2 BIT P1.6 ;南北路口黄灯 LED_R2 BIT P1.7 ;南北路口红灯 ORG 0000H LJMP START ORG 0003H LJMP INTO0 ORG 0100HSTART:MOV TMOD,#01H ;置T0工作方式1 MOV TH0,#3CH MOV TL0,#0B0H CLR TF0 SETB TR0 ;启动T0 SETB EX0SETB PX0 ;设置外中断0高优先级SETB EALOOP: MOV R2,#20 ;置1s计数初值 MOV R3,#20 ;红灯亮20S MOV

15、SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;南北路口计时显示初值25s LCALL DISPLAY LCALL STATE1 ;调用状态1WAIT1:JNB TF0,WAIT1 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ; 恢复T0定时初值50ms MOV TL0,#0B0H DJNZ R2,WAIT1 ;判断1s到否?未到继续状态1 MOV R2,#20 ;置50ms计数初值 DEC SECOND1 ; 东西路口显示时间减1 DEC SECOND2 ; 南北路口显示时间减1 LCALL DISPLAY DJNZ R3,WAIT1

16、 ; 状态1维持20s MOV R2,#5 ;置50ms计数初值 MOV R3,#3 ; 绿灯闪烁3s MOV R4,#4 ; 闪烁间隔200ms MOV SECOND1,#5 ; 东西路口计时显示初值5s MOV SECOND2,#5 ; 南北路口计时显示初值5s LCALL DISPLAYWAIT2:LCALL STATE2 ; 调用状态2 JNB TF0,WAIT2 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50ms MOV TL0,#0B0H DJNZ R4,WAIT2 ; 判断200ms到否?未到继续状态2 CPL LED_G1 ;东西绿灯闪烁

17、MOV R4,#4 ; 闪烁200ms DJNZ R2,WAIT2 ; 判断1s到否?未到继续状态2 MOV R2,#5 ; 置50ma计数初值 DEC SECOND1 ;东西路口显示时间减1 DEC SECOND2 ;南北路口显示时间减1 LCALL DISPLAYDJNZ R3,WAIT2 ;状态2维持3sMOV R2,#20 ; 置50ms计数初值MOV R3,#2 ; 黄灯闪烁2sMOV SECOND1,#2 ; 东西路口计时显示初值2sMOV SECOND2,#2 ; 南北路口计时显示初值2sLCALL DISPLAY WAIT3:LCALL STATE3 ;调用状态3 JNB TF

18、0,WAIT3 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ; 恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R2,WAIT3 ; 判断1s到否?未到继续状态3 MOV R2,#20 ; 置100ms计数初值 DEC SECOND1 ; 东西路口显示时间减1 DEC SECOND2 ; 南北路口显示时间减1 LCALL DISPLAY DJNZ R3,WAIT3 ;状态3维持2s MOV R2,#20 ; 置50ms计数初值 MOV R3,#20 ; 红灯闪烁20s MOV SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#

19、25 ; 南北路口计时显示初值25s LCALL DISPLAYWAIT4:LCALL STATE4 ; 调用状态4 JNB TF0,WAIT4 ; 查询100ms到否 CLR TF0 MOV TH0,#3CH ; 恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R2,WAIT4 ; 判断1s到否?未到继续状态4 MOV R2,#20 ; 置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1 DEC SECOND2 ; 南北路口显示时间减1 LCALL DISPLAY DJNZ R3,WAIT4 ; 状态4维持2s MOV R2,#5 ; 置50ms计数初值

20、MOV R3,#4 ; 红灯闪烁20s MOV R3,#3 ; 绿灯闪烁3s MOV SECOND1,#25 ; 东西路口计时显示初值5s MOV SECOND2,#25 ; 南北路口计时显示初值25s LCALL DISPLAYWAIT5:LCALL STATE5 ; 调用状态5 JNB TF0,WAIT5 ; 查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R4,WAIT5 ; 判断200ms到否?未到继续状态5 CPL LED_G2 ;南北绿灯闪烁 MOV R4,#4 ; 闪烁200ms DJNZ R2,W

21、AIT5 ; 判断1s到否?未到继续状态5 MOV R2,#5 ; 置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1 DEC SECOND2 ;南北路口显示时间减1 LCALL DISPLAY DJNZ R3,WAIT5 ; 状态5维持3s MOV R2,#20 ; 置50ms计数初值 MOV R3,#20 ;红灯闪烁2s MOV SECOND1,#25 ;东西路口计时显示初值5s MOV SECOND2,#25 ;南北路口计时显示初值5s LCALL DISPLAYWAIT6:LCALL STATE6 ; 调用状态4 JNB TF0,WAIT6 ; 查询100ms到否 C

22、LR TF0 MOV TH0,#3CH ; 恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R2,WAIT6 ; 判断1s到否?未到继续状态6 MOV R2,#20 ; 置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1 DEC SECOND2 ;南北路口显示时间减1 LCALL DISPLAY DJNZ R3,WAIT6 ;状态6维持3s LJMP LOOP STATE1: ;状态1 SETB LED_G1 ;东西路口路灯亮 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北路口红灯亮 R

23、ET STATE2: ; 状态2 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北路口红灯亮 RET STATE3: ; 状态3 CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ; 南北路口红灯亮 SETB LED_Y1 ;东西路口黄灯亮 RET STATE4: ;状态4 CLR LED_G1 CLR LED_Y1SETB LED_R1 ; 东西路口红灯亮SETB LED_G2 ; 南北路口绿灯亮 CLR LED_Y2 CLR LED_R2 RET STATE5

24、: ; 状态5 CLR LED_G1 CLR LED_R1 SETB LED_R1 ; 东西路口红灯亮 CLR LED_Y2 CLR LED_R2 RET STATE6: ;状态6 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ; 东西路口红灯亮 CLR LED_G2 CLR LED_R2 SETB LED_Y2 ; 南北路口黄灯亮 RET DISPLAY: ; 数码显示 MOV A,SECOND1 ; 东西路口计时寄存器 MOV B,#10 DIV AB MOV DBUF+3,A MOV A,B MOV DBUF+2,A MOV A,SECOND2 ;南北路口计时寄存器

25、 MOV B,#10 DIV AB MOV DBUF+1,A MOV A,B MOV DBUF,A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4 DP10:MOV DPTR,#LENMAP MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R0 INC R1 DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4 DP12:MOV R7,#8 MOV A,R0 DP13:RLC A MOV P3.0,C CLR P3.1 SETB P3.1 DJNZ R7,DP13 INC R0 DJNZ R1,DP12 RET LENMAP:DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH ORG 0200HINTO0:PUSH PSW PUSH ACC SETB LED_R1 SETB LED_R2 CLR LED_G1 CLR LED_Y1 CLR LED_G2 CLR LED_Y2 POP PSW POP ACC RETI END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1