资源描述:
《基于单片机的交通信号灯控制系统程序毕业设计论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于单片机的交通信号灯控制系统设计附:交通灯主程序:ORG000H;主程序的入口地址LJMPMAIN;跳转到主程序的开始处ORG0003H;外部中断0的中断程序入口地址ORG000BH;定时器0的中断程序入口地址LJMPT0_INT;跳转到中断服务程序处ORG0013H;外部中断的中断程序入口地址MAIN:MOVSP,#50HMOVIE,#8EH;CPU开中断,允许T0中断,T1中断和外部中断1中断MOVTMOD,#51H;设置T1为计数方式,T0为定时方式,且都工作于模式1MOVTH1,#00H;T1计数器清零MOVTL1,#00HSETBTR1;启动T
2、1计数器SETBEX1;允许INT1中断SETB1T1;选择边沿触发方式MOVDPTR,#003HMOVA,#80H;给8255赋初值,8255工作于方式0MOVX@DPTR,AAGAIN:JBP3.1,N0;判断是否要设定东西方向红绿灯时间的初值,若P3.1为1则跳转MOVA,P1JBP1.7,RED;判断P1.7是否为1,若为1则设定红灯时间。否则设定绿灯时间MOVRO,#00H;R0清零MOVRO,A;存入东西方向绿灯初始时间MOVR3,ALCALLDISP1LCALLDELAYAJMPAGAINRED:MOVA,P1ANLA,#7FH;P1.7置0
3、MOVR7,#00H;R7清零MOVR7,A;存入东西方向红灯初始时间MOVR3,ALCALLDISPILCALLDELAYAJMPAGAINN0:SETBTR0;启动T0计时器MOV76H,R7;红灯时间存入76HN00:MOVA,76H;东西方向禁止,南北方向通行MOVR3,AMOVDPTR,#0000H;置8255口,东西方向红灯亮,南北方向绿灯亮MOVA,#0DDHMOVX@DPTR,AN01:JBP2.0,B0N02:SETBP3.0CJNER3,#00H,N01;比较R3中的值是否为0,不为0转到当前指令处执N2:MOVR7,#00HMOVA,
4、R0;东西通行,南北禁止MOVR.,AMOVDPTR,#0000H;置8255A口,东西方向绿灯亮,南北方向红灯亮MOVA,#0EBHMOVX@DPTR,AN21:JBP2.0,T03N22:CJNER3,#00H,N21东西方向车流量检测程序:T03:MOVA,R3SUBBA,#00H;若绿灯倒计时完毕,不再检测车流量JZN3JBP2.0,T03INCR7CJNER7,#64H,E1MOVR7,#00H;中断到100次则清零E1:SJMPN22东西方向车流量显示程序:T02:MOVB,#0AHMOVA,R7;R7中值二转十显示转换DIVABMOV79H,
5、AMOV74H,BDIS3:MOVA,79H;显示十位MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0002HMOVX@DPTR,AMOVDPTR,#0001HMOVA,#0F7HMOVX@DPTR,ALCALLDELAYDS4:MOV,74H:显示个位MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0002HMOVX@DPTR,AMOVDPTR,#0001HMOVA,#0FBHMOVX@DPTR,ALJMPN7字符表:TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND
6、程序代码:R4存放黄灯时间303H(此时间可以动态设定)R5存放红灯时间603CHR6存放绿灯时间8050HPC0显示黄灯信号PC1显示红灯信号PC2显示黄灯信号8255工作与方式08255PA,PB,PC口输出PC控制字为B(80H)程序代码:ORG000HLJMPMAINORG0100HMAIN:MOVR1,#03H初始化8255MOVA,#80HMOVX@R1,AAGAIN:MOVP3,#80H设置初值MOVA,P3JBACC.7,NEXT0AGAIN:MOVP3,#80H设置初值MOVA,P3JBACC.7,NEXT0AGAINI:MOVP3,#4
7、0HMOVA,P3JBACC.6,REDMOVP3,#0FHMOVA,P3ANLA,#0FHMOVR3,AAJMPAGAINIRED:MOVP3,#0FHMOVA,P3ANLA,#0FHMOVR2,AAJMPAGAINNEXT0:MOVDPTR,#TAB显示黄灯个位MOVA,R1MOVCA,@A+DPTRMOVR1,#00HMOVX@R1,AMOVR1,#0MOVDPTR,#TAB显示黄灯十位MOVA,R0MOVCA,@A+DPTRMOVR1,#01HMOVX@R,AMOVDPTR,#0C62HMOVA,#00HLCALL0F4E0HACALLDELAY延
8、时1秒MOVA,R3MOVR0,ANEXT2:MOVDPTR,#T