实训报告-交通灯控制电路设计.doc

上传人:jian****018 文档编号:9098484 上传时间:2020-04-03 格式:DOC 页数:11 大小:484.50KB
返回 下载 相关 举报
实训报告-交通灯控制电路设计.doc_第1页
第1页 / 共11页
实训报告-交通灯控制电路设计.doc_第2页
第2页 / 共11页
实训报告-交通灯控制电路设计.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
实 训 报 告学 院:电子与信息学院课程名称:单片机课程设计设计题目:交通灯控制电路设计专 业:通行工程班 级:姓 名:学 号:指导教师:时 间:2010-05-30一、实训目的和作用.掌握MCS-51单片机的原理和基本应用,学会应用单片机实现交通灯的信号控制以及时间控制等实用功能。并且通过软硬结合加深对单片机各个接口功能的理解与掌握。二、实训设计内容要求.设计并制作一个十字路口的交通灯控制电路(用红、绿、黄发光二极管模拟显示灯),同时用2位数码管显示禁止与通行时间。要求:A.绿灯亮表示允许通行,时间设定为20s;红灯亮表示禁止通行,时间设定为20s;黄灯亮表示警告,时间设定为3s。B.时间显示为倒计时,六个指示灯准确的交替显示。 三、系统设计.3.1 硬件设计.3.1.1 实现总体模型:交通灯显示时间8051系统处理3.1.2 实现实际电路:3.1.3 80C51芯片介绍:(1)80C51引脚图管脚图及各引脚功能介绍:输入/输出引脚:(1)P0.0P0.7 (39脚32脚)(2)P1.0P1.7 (1脚8脚)(3)P2.0P2.7 (26脚21脚)(4)P3.0P3.7 (10脚17脚)Vss(20脚):接地VCC(40脚):主电源+5VXTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚): 接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)PSEN(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。ALE/PROG(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。EA/VPP(31脚): 当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。(2)80C51单片机的内部结构:(3)80C51存贮器的结构:(4)80C51特殊功能寄存器:(5)时钟接法:(6)复位方式:复位信号是高电平有效,高电平有效的持续时间应为24个时钟周期以上,若时钟频率为6MHz,则复位信号至少应持续4s以上,才可以使单片机可靠复位。复位后各寄存器状态:(PC)= 0000H .3.1.4 工作原理:(1) 由80C51单片机的P1口显示红、绿、黄灯的亮灭情况;由P0口显示每个灯的亮灭时间。绿、黄、红时间分别为20秒、3秒、20秒循环,由80C51单片机的 P0口输出显示。(2) 通过单片机的P2口中任两位来控制数码管的高低位显示,模拟接线接21、22脚,在实际电路焊接中是接了23、26即对应P2.2(十位)、P2.5(个位)口来控制,软件中相应位也对应为P2.2和P2.5即可。(3)南北红,东西绿,红灯倒计时20秒后然后灭。(4)南北黄,东西黄,黄灯闪动3秒。(5)南北绿,东西红,绿灯倒计时20秒后,重新开始循环。3.2 软件设计.3.2.1 时间的设定: 采用软延时的方法。MCS-51单片机的工作频率为12MHZ,机器周期是时钟周期的12倍,所以一个机器周期的时间为12*(1/12M)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定时间。延时10MS程序如下:DLY10MS:MOV R6,#20D1: MOV R7,248 DJNZ R7,$ DJNZ R6,D1 RET延时100MS程序如下:DLY100MS:MOV R6,#200D10: MOV R7,248 DJNZ R7,$ DJNZ R6,D10 RET3.2.2 时间及信号灯的显示:80C51虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,再显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 3.2.3 输出信号与数码管的连接:LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以SP上为0伏,不亮其余为TTL高电平,全亮则显示为8。采用共阴级连接。其中 PC0PB0-a,PC1PB1-b,PC2PB2-c,PC3PB3-d,PC4PB4-e, PC5PB5-f,PC6PB6-g,PC7PB7 -SP接单片机的32脚。驱动代码表如下:显示数值(dop) g f e d c b a驱动代码(16进制)00 0 1 1 1 1 1 17DH10 0 0 0 0 1 1 028H20 1 0 1 1 0 1 15BH30 1 0 0 1 1 1 17AH40 1 1 0 0 1 1 02EH50 1 1 0 1 1 0 076H60 1 1 1 1 1 0 077H70 0 0 0 0 1 1 138H80 1 1 1 1 1 1 17FH90 1 1 1 1 1 1 17EH3.2.4 程序流程图如下图所示:黄灯闪3秒绿灯亮红灯亮继续倒计时黄灯闪3秒设定初始值初始化开始倒计时20秒完毕?倒计时20秒完毕?继续倒计时四、调试方法及步骤.1.用伟福编译器先调试设计好的程序,方法是打开伟福编译器后新建项目,加入模块文件.asm保存到文件夹下,名字自定即可,然后打开.asm模块文件,再编译检查是否正确通过。2.若出现错误,就要修改错误,(比如指令错误,或者是符号错误等)编译全部通过后再接外围硬件电路,接上仿真头,硬件电路供电后再开启仿真头,然后正确设置好仿真器,最后全速运行,查看硬件电路显示结果是否与原设计思想一致。3.显示结果正确后结束仿真,先停止运行程序,再关掉仿真头开关,最后断电,撬开仿真器。五、结果与讨论.实验结果正确显示了先是南北红,东西绿,倒计时20秒后,黄灯闪亮3秒,接着南北绿,东西红,倒计时20秒后,黄灯闪亮3秒,如此重复执行。如果按下复位键,所有的状态重新开始,即是南北方向亮绿灯。由于人行道和车道的状态一致,所以只用两组灯就可以,且由于显示时间一致,所以用一个2位7段译码管显示4路时间。六、参考文献.1.单片机原理及应用技术 主编 吴黎明 2.电子技能与EDA技术 主编 韩 克 柳秀山 七、实验感想.在本次实训作品交通灯控制电路的设计和制作中,我对电子设计方面有了很大的提高,同时也更加的了解十字路口交通灯的工作原理和实际应用过程。也对前一阶段的单片机课程学习和各种EDA设计软件的学习有了进一步的巩固和提高。对一些单片机的应用,延迟电路的设计应用和数码管的电路程序的应用有了更多的理解。在设计的过程,先是设计好电路图后,开始到实验室进行电路焊接,最后到作品的调试,其中在整个过程中,遇到了很大的挑战和困难,不过最后在同学们的帮助下都得以一一解决。从开始数码管的选择错误到最后的电路调试,从开始的程序编写,到最后的软件测试,大家互相帮助,共同进步。同时对相关设计软件应用也有了进一步的了解和熟悉,也对电子设计的整体流程有了更多的理解。经过这次实训课程设计,我学到了很多书本上没有的,比较实际、实用的东西,学会了怎样将理论知识运用到实际设计当中,对实验设备和设计软件的使用和分析问题解决问题的能力也有了很大的提高。同时也明白了电路焊接和作品调试时,需要更多的耐心。通过这次实训课程设计,不仅可以在专业上可以学到更多的知识,同时也对平时的学习和工作中产生了影响,那就是认认真真的去完成每一件事。附录(程序清单)ORG 00HAJMP STARTORG 0BHRETIORG 30HSTART:MOV SP,#60H ;置堆栈指针MOV A,#0FFHMOV P0,AMOV P1,AMOV P2,A ;初始化端口CLR 00H ;显示标志位初始化MOV DPTR,#TAB ;装入显示表头LOOP1:MOV R0,#20 ;南北红,东西绿MOV P1,#11011110BLIN: ACALL TO_BCDACALL DISPLAY1MOV A,#00HCLR C ;进位位清0SUBB A,R0DEC R0CJNE R0,#00,LINLOOP2: MOV R0,#3 ;黄灯亮KE: MOV P1,#11101101BACALL TO_BCDACALL DISPLAY2ACALL DLY100MSMOV P1,#11111111B ACALL DISPLAY2ACALL DLY100MSMOV A,#00HCLR CSUBB A,R0 ;进位位清0DEC R0JC KELOOP3:MOV R0,#20 ; 南北绿,东西红MOV P1,#11110011BLIN1:ACALL TO_BCDACALL DISPLAY1MOV A,#00HCLR C ;进位位清0SUBB A,R0DEC R0CJNE R0,#00,LIN1LOOP4:MOV R0,#3 ;黄灯亮YE:MOV P1,#11101101BACALL TO_BCDACALL DISPLAY2ACALL DLY100MSMOV P1,#11111111B ACALL DISPLAY2ACALL DLY100MSMOV A,#00HCLR CSUBB A,R0DEC R0JC YEAJMP LOOP1TO_BCD:MOV A,R0 ;BCD转换MOV B,#10DIV ABMOV R1,AMOV R2,BRETDISPLAY2:MOV A,#40 ;20*20=0.4S MOV R3,ANEXT2:MOV A,R2 ;个位显示 ACALL DISPLAY CLR P2.5 ACALL DLY10MS SETB P2.5 MOV A,R1 ;取十位显示 ACALL DISPLAY CLR P2.2 ACALL DLY10MS SETB P2.2 DJNZ R3,NEXT2 RETDELAY:MOV R7,#10 ;延时1s程序DEL1:MOV R6,#200DEL2:MOV R5,#248DJNZ R5,$DJNZ R6,DEL2DJNZ R7,DEL1RETDISPLAY1:MOV A,#50 ;50*20=1S MOV R3,ANEXT:MOV A,R2 ;个位显示 ACALL DISPLAY CLR P2.5 ACALL DLY10MS SETB P2.5 MOV A,R1;取十位 ACALL DISPLAY CLR P2.2 ACALL DLY10MS SETB P2.2 DJNZ R3,NEXT RETDISPLAY:MOVC A,A+DPTR MOV P0,ARETDLY10MS:MOV R6,#20D1: MOV R7,248DJNZ R7,$DJNZ R6,D1RETDLY100MS:MOV R6,#200D10: MOV R7,248DJNZ R7,$DJNZ R6,D10RETORG 300H;LED显示数据TAB:DB 7DH,28H,5BH,7AH,2EH,76H,77H,38H,7FH,7EH; ;77H,7CH,39H,5EH,79H,71H,00H,共阴数码管字段码;TAB:DB 5FH,06H,3BH,2FH DB 66H,6DH,7DH,07HDB 7FH,6FHEND
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!