微机原理及机电接口技术课程设计红绿灯(共13页).docx

上传人:飞****2 文档编号:6598641 上传时间:2022-02-06 格式:DOCX 页数:13 大小:233.70KB
返回 下载 相关 举报
微机原理及机电接口技术课程设计红绿灯(共13页).docx_第1页
第1页 / 共13页
微机原理及机电接口技术课程设计红绿灯(共13页).docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《微机原理及机电接口技术课程设计红绿灯(共13页).docx》由会员分享,可在线阅读,更多相关《微机原理及机电接口技术课程设计红绿灯(共13页).docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上微机原理及机电接口技术课程设计第五组题目十字路口交通灯控制系统一明确任务1.任务要求1)、模拟十字路口交通灯变化规律能实现通行时间的倒计时显示;当特种车(消防、警车等)通过时,中断保护现场并使四个口红灯全亮,中断消除后恢复现场。2)、用开关控制中断信号2.任务分析1)南北东西道路有信号灯显示2)2位7段数码管显示通行和禁行倒计时3)针对特种车经过要设计相应的中断程序,并且中断返回后能信号灯按原来的状态继续进行道路控制。二总体设计1. 设计方案十字路口有南北方向和东西方向,每个方向都设有红、黄、绿三色交通信号灯12盏,并配有相应的亮灯倒计时显示4组。当南北为绿灯或黄灯时

2、,东西向一定是红灯,即南北绿灯时间加南北黄灯时间应等于东西红灯时间。系统开始工作,南北路口绿灯亮,南北方向数码管进行绿灯50S倒计时显示,东西路口的红灯亮,东西方向数码管进行红灯55S倒计时显示。当东西禁行方向剩5S时,南北通行方向的绿灯灭黄灯亮,同时数码管进行5S黄灯倒计时显示,5S后黄灯熄灭红灯亮,并进行南北红灯倒计时,同时东西方向红灯55S计时时间到红灯灭绿灯亮,东西向开始通行南北向禁行。同样东西向绿灯50S计时时间到后转为黄灯,黄灯5S计时时间到再转为红灯,之后重复上述过程。另设有点动按钮用来发出特种车经过时的中断信号2.单片机选型选择89C51系列单片机3.划分系统软、硬件功能数码管

3、采用共阴极七段码动态显示4.确定系统结构组成时钟电路,复位电路,红绿黄灯指示电路(采用各色发光二极管代替),动态显示电路和简单按键电路三硬件电路设计元器件清单:元件名称注释AT89C5151单片机7SEG-MPX2-CC2位共阴极七段码LED显示LED-GREEN绿灯LED-YELLOW黄灯LED-RED红灯RES电阻RESPACK-8排阻CAP电容CRYSTAL晶振BUTTON按钮P0口作为数码显示段选控制,P1口作为LED灯亮灭控制,P2口作为数码显示位选控制。P3.3作为外部中断输入口P1.0:南北向红灯,高电平点亮P1.1:南北向黄灯,高电平点亮P1.2:南北向绿灯,高电平点亮P1.3

4、:东西向红灯,高电平点亮P1.4:东西向黄灯,高电平点亮P1.5:东西向绿灯,高电平点亮P2.7:南北向十位数码管位选信号P2.6:南北向个位数码管位选信号P2.5:东西向十位数码管位选信号P2.4:东西向个位数码管位选信号P0.0:数码管aP0.1:数码管bP0.2:数码管cP0.3:数码管dP0.4:数码管eP0.5:数码管fP0.6:数码管gP3.3:中断按钮,点动南北东西全部禁行,特种车通过四软件设计1.片内RAM的定义A_BIT EQU 20H :用于存放南北十位数B_BIT EQU 21H :用于存放南北个位数C_BIT EQU 22H :用于存放东西十位数D_BIT EQU 23

5、H :用于存放东西个位数TEMP1 EQU 24H :南北方向要显示的时间TEMP2 EQU 25H :东西方向要显示的时间 SEC EQU 30H:1S计时标志 2.程序设计由设计方案描述交通灯的显示可以分为以下4种状态:状态一:南北绿灯亮并从50S开始倒计时显示,东西红灯亮并从55S开始倒计时显示状态二:南北黄灯亮并从5S开始倒计时显示,东西红灯亮并继续55S倒计时显示状态三:南北红灯亮并从55S开始倒计时显示,东西绿灯亮并从50S开始倒计时显示 状态四:南北红灯亮并继续55S倒计时显示,东西黄灯亮并从5S开始倒计时显示 3.设计流程图初始化状态一调用BCD转换调用倒计时显示状态二调用BC

6、D转换调用倒计时显示状态三调用BCD转换调用倒计时显示状态四调用BCD转换调用倒计时显示主程序流程图INT1中断入口保护现场全部禁行N10S计时时间到?Y恢复现场中断返回INT1中断程序流程图4.源程序:A_BIT EQU 20H ;用于存放南北十位数B_BIT EQU 21H ;用于存放南北个位数C_BIT EQU 22H ;用于存放东西十位数D_BIT EQU 23H ;用于存放东西个位数TEMP1 EQU 24H TEMP2 EQU 25H SEC EQU 30H ;1S计时标志ORG 0000HAJMP MAINORG 0013HAJMP INTORG 0100HMAIN:MOV SP

7、,#45HMOV IE,#84H ;开INT0中断SETB IT1 ;下降沿触发MOV TMOD,#01H ;定时器初始化MOV TH0,#3CH ;50ms定时初值MOV TL0,#0B0H SETB TR0 ;启动定时器T0MOV SEC,#20 ;1S循环常数MOV R7,#50 ;绿灯时间MOV R6,#5 ;黄灯时间MOV R5,#55 ;红灯时间MOV R4,#10 ;全部红灯的时间STA1:MOV P1,#B ;南北绿灯东西红灯ST1:MOV TEMP1,R7MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP1: ACALL DISPLAY ;

8、调用显示子程序JNB TF0,STLOP1;50MS定时未到,转到STLOP1CLR TF0DEC SECMOV A,SEC CJNE A,#0,STLOP1;1S定时未到转到STLOP1MOV SEC,#20DEC R5;东西倒计时数减一DJNZ R7,ST1;南北倒计时数减一MOV R7,#50STA2:MOV P1,#B ;南北黄灯东西红灯ST2:MOV TEMP1,R6MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP2: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP2CLR TF0 DEC SECMOV A,SEC CJNE

9、 A,#0,STLOP2MOV SEC,#20DEC R5DJNZ R6,ST2MOV R6,#5MOV R5,#55STA3:MOV P1,#B ;南北红灯东西绿灯ST3:MOV TEMP1,R5MOV TEMP2,R7ACALL CONVERT ;调用BCD码转换子程序STLOP3: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP3CLR TF0 DEC SECMOV A,SEC CJNE A,#0,STLOP3MOV SEC,#20DEC R5DJNZ R7,ST3MOV R7,#50STA4:MOV P1,#B ;南北红灯东西黄灯ST4:MOV TEMP2,R6M

10、OV TEMP1,R5ACALL CONVERT ;调用BCD码转换子程序STLOP4: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP4CLR TF0 DEC SECMOV A,SEC CJNE A,#0,STLOP4MOV SEC,#20DEC R5DJNZ R6,ST4MOV R6,#5MOV R5,#55AJMP STA1INT: ;中断子程序PUSH 90H;存入46H中PUSH PSWPUSH 00HPUSH 01HPUSH 02HPUSH 05HPUSH 06HPUSH 07HPUSH 20HPUSH 21HPUSH 22HPUSH 23HPUSH 24HP

11、USH 25HPUSH 30HPUSH TH0PUSH TL0MOV P1,#09H ;全部红灯CLR TF0 MOV TH0,#3CHMOV TL0,#0B0HMOV SEC,#20L3:MOV TEMP1,R4MOV TEMP2,R4ACALL CONVERT ;调用BCD码转换子程序L4:ACALL DISPLAY;调用显示子程JNB TF0,L4CLR TF0DEC SECMOV A,SEC CJNE A,#0,L4MOV SEC,#20DJNZ R4,L3MOV R4,#10POP TL0POP TH0POP 30HPOP 25HPOP 24HPOP 23HPOP 22HPOP 21

12、HPOP 20HPOP 07HPOP 06HPOP 05HPOP 02HPOP 01HPOP 00HPOP PSWPOP 90HRETI转换子程序CONVERT:MOV A,TEMP1 ;将南北要显示的数存放到AMOV B,#10 DIV AB ;A除以B商存A,余数存BMOV A_BIT,A ;将A放到20HMOV B_BIT,B ;将B放到21HMOV A,TEMP2 ;将东西要显示的数存放到AMOV B,#10 DIV AB ;A除以B商存A,余数存BMOV C_BIT,A ;将A放到22HMOV D_BIT,B ;将B放到23HRETDISPLAY: MOV DPTR ,#TAB ;显

13、示子程序DPLOP1: MOV A,A_BIT ;将南北要显示的10位数送AMOVC A,A+DPTR ;查表MOV P0,A CLR P2.7 ;显示南北10位数ACALL D1MS ;延时1MSSETB P2.7 ;灭南北10位数MOV A,B_BIT ;将南北要显示的个位数送AMOVC A,A+DPTR ;查表MOV P0,A CLR P2.6 ;显示南北个位数ACALL D1MS ;延时1MSSETB P2.6 ;灭南北个位数MOV A,C_BIT ;将东西要显示的10位数送AMOVC A,A+DPTR ;查表MOV P0,A CLR P2.5 ;显示东西10位数ACALL D1MS ;延时1MSSETB P2.5 ;灭东西10位数MOV A,D_BIT ;将东西要显示的个位数送AMOVC A,A+DPTR ;查表MOV P0,A CLR P2.4 ;显示东西个位数ACALL D1MS ;延时1MSSETB P2.4 ;灭东西个位数RET D1MS:MOV R3,#250 ;1MS延时子程序D2:NOP NOP DJNZ R3,D2RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁