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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机交通灯设计Word文件下载.docx

1、为实现所要求的功能,首先参考多种参考资料,选用89ATC51单片机为硬件设计的核心器件。其次采用74LS245驱动电路驱动LED晶体管显示部分, 由89ATC51的P2.1口控制北边和东边剩余时间的十位数的显示,P2.0控制北边和东边剩余时间的个位数的显示。用P1端口作为输出端口,用P1.2到P1.7端口分别控制东和北两组灯的状态,低电平点亮,用数码管显示黄、红、绿灯。(2)软件设计部分2.2 硬件设计(1)AT89C51简介 功能:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memo

2、ry)的低电压、高性能CMOS8位微处理器,俗称单片机。具有128*8位内部RAM,有32根可编程I/O线、两个16位定时器/计数器5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口

3、缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输

4、出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据

5、存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节PSEN:外部程序存储器的选通信号。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷

6、振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振

7、荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。(2)复位部分:采用上电+按钮电平复位,复位电容采用,电阻,连接如图:(3)显示部分:数码管显示部分采用四位一体共阴数码管,分别显示西和北的剩余时间,A到G为码段控制端口,1到4为片选端口。数码段显示部分通过74LS245接单片机管脚的P0口,片选部分由P2.0到P2.1提供,具体的共阴数码管见图。其中P2.1控制北边和西边剩余时间的十位数的显示;P2.0控制北边和西边剩余时间的个位数的显示。 晶体管显示部分由于对称性,设计时只设计了西北两个方向。由红黄绿按要求显示。用P1端口作为输出端口,用P1.2到P1.7端口分别控制西和北两组灯的状态,

8、低电平点亮,具体端口功能如下:P1.2控制北边红灯的亮灭;P1.3控制北边黄灯的亮灭;P1.4控制北边绿灯的亮灭;P1.5控制东边红灯的亮灭;P1.6控制东边黄灯的亮灭;P1.7 控制东边绿灯的亮灭。(4) 驱动部分:74LS2453 软件设计3.1 程序流程图(1) T0中断服务程序(2)外部中断零服务程序(3)主程序3.2 软件系统设计(1)主程序P0口作为字形码输出口P2口输出为选信号用P1口控制交通灯的亮灭23H为标示位,当23H为0时南北红灯亮东西绿灯亮,并进入计时;当23H为1时东西南北黄灯亮,并进入计时;当32H为2时南北绿灯亮东西红灯亮,并进入计时;当23H为1时东西南北黄灯亮

9、,并进入计时。27H为特殊情况标示位,当27H为0时南北红灯东西绿灯亮。当27H为2时南北绿灯东西红灯亮。还有通过标示位2FH.0来判断是否进入东西南北都红的紧急状态。ORG 0100HMAIN:MOV SP,#50HMOV TCON,#05H ;定义中断方式MOV 20H,#05H ;时间计数单元,A道放行时间MOV 21H,#02H ;黄灯亮时间 MOV 22H,#05H ;B道放行时间 MOV 23H,#00H ;交通灯转换标示位 MOV 24H,#05H ;时间欲存区,A道放行时间 MOV 25H,#02H ; MOV 26H,#05H ;MOV 27H,#0FFH ;特殊情况下转换标

10、示位 MOV 28H,#01H ; MOV 30H,#05H ;显示缓存区 MOV 31H,#00H MOV TMOD,#01H ;16位计数器MOV TH0,#03CHMOV TL0,#0B0HMOV IE,#10000111BSETB TR0 ;T0启动计数 MOV R2,#13HMOV P2,#0FFHML1: ACALL DISP MOV A,23H CJNE A,#00H,X1 SETB P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SETB P1.7X1: CJNE A,#01H,X2 CLR P1.2 SETB P1.3 SETB P1.6 C

11、LR P1.7X2: CJNE A,#02H,X3 SETB P1.4 SETB P1.5X3: CJNE A,#03H,X4X4: JNB 2FH.0,ML2 AJMP X4ML2: JB TR0,ML1 MOV A,27H CJNE A,#00H,X11X11: CJNE A,#01H,X21X21: CJNE A,#02H,X31X31: JB P1.0,M1M1: MOV C,P1.0 ;按键消振 JC M2M2: LCALL DELAY MOV C,P1.0 JC ML10STOP1: JNC STOP1 MOV R0,#20H MOV R1,#24H MOV A,27H ;加一 M

12、OV 23H,A CLR C ADD A,R1 MOV R1,A ADD A,R0 MOV R0,A INC R1 MOV A,R1 CJNE A,#100,H1 MOV A, #00H MOV R1,AH1: MOV R0,A MOV B,#0AH DIV AB MOV 31H,A MOV 30H,BML10: JB P1.1,M3M3: MOV C,P1.1 ; JC M4M4: MOV C,P1.1 JC ML2STOP2: JNC STOP2 减一 DEC R1 CJNE A,#0FFH,H2 MOV A, #99H2: LJMP ML1DELAY:MOV R4,#14HDL00: M

13、OV R5,#0FFHDL11: DJNZ R5,DL11 DJNZ R4,DL00 RET(2)T0中断服务程序T0主要是完成计时,和标示位更值得功能。当23H 为0时按20H内的初值计时,当23H为1和3时按21H内的初值计时,当23H为2时按22H内的的初值计时。*TIME PROCESS*TIME: PUSH ACCPUSH PSWMOV TH0,#03CHMOV TL0,#0B0HDJNZ R2,RET0MOV R2,#13HMOV A,23HCJNE A,#00H,L1MOV A,20HCLR CDEC ACJNE A,#0FFH,GO11INC AMOV 23H,AMOV A,2

14、4HMOV 20H,A LJMP L1GO11: MOV 20H,A LJMP RET0L1: CJNE A,#01H,L2 MOV A,21H CLR C DEC A CJNE A,#0FFH,GO12 INC A MOV A,25H MOV 21H,A LJMP L2 GO12:L2: CJNE A,#02H,L4 MOV A,22H CJNE A,#0FFH,GO13 MOV A,26H MOV 22H,A LJMP L4 GO13: MOV 22H,A RET0: POP PSW POP ACC RETI L4:CJNE A,#03H,RET0MOV A,21HCJNE A,#0FFH

15、,GO14MOV A,#00HMOV A,25HMOV 21H,ALJMP RET0 GO14: MOV 21H,A LJMP RET(3)外部中断零服务程序外部中断零服务程序主要完成的是特殊情况下交通灯状态标示位的转换当P3.0和P3.1有键按下式停T0中断,进入相应键的处理,当第二次有键按下式,若是相同键即推出中断服务程序,若是相异键,就改变特殊情况状态标示位。SECTION1:PUSH ACC PUSH PSWQQQ: MOV C,P3.0 ; JC JJJ ACALL DELAY MOV C,P3.0STOP3: JNC STOP3 CLR TR0 CJNE A,#00H,PPP1MO

16、V A,#0FFH MOV 27H,A MOV 28H,#01H SETB TR0 AJMP PP1PPP1: CJNE A,#02H,PPP MOV 27H,#00HPPP: INC 27HPP1:JJJ: MOV C,P3.1 ; JC QQQ MOV C,P3.1STOP4: JNC STOP4 MOV A,28H CJNE A,#02H,GGG1MOV A,#01H MOV 28H,A LJMP PP1GGG1: CJNE A,#00H,GGG MOV 27H,#02H MOV 28H,#02HGGG: INC 28H MOV 27H,28H其他程序段都只是完成特定简单功能只须说明器完

17、成功能即可。4 Proteus软件仿真4.1 初始状态0仿真图东边绿灯亮,北边红灯亮。4.2 状态1北边和东边黄灯闪烁。4.3 状态2东边由黄灯闪烁转亮为红灯,同时北边由黄灯闪烁转亮为绿灯。4.4 状态3东边和北边均黄灯闪烁。4.5 状态4东西道有车而南北道无车时,按K0键,北边转亮红灯同时东边转亮绿灯。4.6 状态5东西道无车而南北道有车时,按K1键,东边转亮红灯同时北边转亮绿灯。4.7 状态6紧急车通过时,按K2键,北边和东边均转亮红灯。5 课程设计体会通过这次做交通灯的课程设计,自己再次学习了微机原理,并认真复习单片机,查阅和浏览了很多的相关资料, 并且对wave和proteus软件的使

18、用有了一定的了解。虽然提前做了一些准备工作,但完成初次编程用wave进行编译时,确也出现了一系列的问题。例如:有的符号未定义,源程序起始地址重复,标点符号漏写等,最终还是利用wave中的单步跟踪功能将问题一一解决。软件模拟时,我们用proteus仿真软件运行,发现有时两个绿灯同时亮,当有紧急车辆通过时,两个红灯不受按键控制,出现抖动现象等等一系列的问题。但是最后在同学的帮助下终于完成任务。通过这次学习,发现自己对书本的掌握只是很表层的一部分,离实际应用还有很大一段距离。真是不用不知道,一用吓一跳。做课程设计期间,自己进一步学习了单片机书上的例子,而且学习了许多书本之外的东西。尤其是,和几个同学

19、一起进行编程调试进而运行时期间,发现自己还算比较喜欢编程。这次做单片机课程设计也对自己以后的学习方向有很大的影响。参考文献期刊论文:1 刘心红、郭福田、孙振兴、曾丽丽,Proteus仿真技术在单片机教学中的应用(大庆石油学院应用技术学院,河北秦皇岛),实验技术与管理(Experimental Technology and Management)2007,24(3):96-1022 蔡军、曹慧英,智能交通灯控制系统的设计与实现,(重庆邮电学院,重庆400065)重庆邮电学院学报(Journal of Chongqing University of Posts and Telecommunicat

20、ions Jun),2004 16(3):128-1323 杨汉祥、刘良福、邬喜辉,利用单片机改进交通灯控制系统(北京电子科技学院学报),北京电子科技学院学报(Journal of Bei jing Electronic Science and Technology institute)2005,13(4):68-72书、专著:1 余发山主编 单片机原理与应用技术北京:中国矿大出版社 20042赖寿宏主编 微型计算机控制技术北京:机械工业出版社 20023李朝青单片机原理及接口技术M北京:北京航空航天大学出版社,1999.87904 李广第等单片机基础M北京:北京航空航天大学出版社,2001.147-1515 栾桂冬,张金铎,金欢阳传感器及其应用M西安:西安电子科技大学出版社,2002.255-261电子文献:AT89C51单片机简介:附1: 源程序代码ORG 0000HLJMP MAINORG

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

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