单片机红绿灯的汇编语言程序设计.docx
《单片机红绿灯的汇编语言程序设计.docx》由会员分享,可在线阅读,更多相关《单片机红绿灯的汇编语言程序设计.docx(5页珍藏版)》请在第壹文秘上搜索。
1、单片机红绿灯的汇编语言程序设计a程序源代码ORGOOOOH注程序的入口地址1.jmpmain;跳转到主程序的开场处ORG0003H汐卜部中断0的中断程序入口地址ORGOOOBH淀时器0的中断程序入口地址1.JMPT0NT;跳转到中断服务程序处ORG0013H;外部中断I的中断程序入口地址MAIN:MOVSP,#50HMOVlE,#8EH;CPU开中断,允许To中断,Tl中断和外部中断1中断MoVTMoD,#5IH1设置TI为计数方式,TO为定时方式,且都工作于模式1MOVTH1,M)OH;Tl计数器清零MOVTL1,M)OHSETBTRl;启动Tl计时器SETBEXl;允许INTl中断SETB
2、ITI;选择边沿触发方式MOVDPTR,#0003HMoVA,#80H;给8255赋初值,8255工作于方式OMOVXDPTR,AAGAIN:JBP3.1,NO;判断是否要设定东西方向红绿灯时间的初值,假设P3.1为I那么跳转MOVA,PlJBP1.7,RED;判断P1.7是否为1,假设为1那么设定红灯时间,否那么设定绿灯时间MOVRO,#OOH;R0清零MOVRO,A;存入东西方向绿灯初始时间MOVR3,A1.CALLDISPl1.CALLDELAYAjmpagainRED:MOVA,PlANLA,#7FH1.7置OMOVR7,#00H;R7清零MOVR7,A;存入东西方向红灯初始时间MOV
3、R3,A1.CALLDISPl1.CALLDELAYAJMPAGAINNO:SETBTRO;启动TO计时器MOV76H,R7;红灯时间存入76HNOO:MoVA,76H;东西方向制止,南北方向通行MOVR3,AMoVDPTR,#OOOOH;置8255A口,东西方向红灯亮,南北方向绿灯亮MOVA,#ODDHMOVXDPTR,AN01:JBP2.0,B0N02:SETBP3.0CJNER3,M)0H,N01;比较R3中的值是否为0,不为O转到当前指令处执行;-黄灯闪烁5秒程序-NkSETBP3.0MOVR3,#05HMoVDPTR,#OOOOH;置8255A口,东西,南北方向黄灯亮MOVA,M)D
4、4HMOVXDPTR,ANil:MOVR4,#00HNI2:CJNER4,#7DH,$;黄灯持续亮0.5秒NI3:MOVDPTR,#000OH;置8255A口,南北方向黄灯灭MOVA,#ODDHMOVXDPTR,AN14:MOVR4,#00HCJNER4,#7DH,$;黄灯持续灭0.5秒CJNER3,M)OH,N1;闪烁时间达5秒那么退出N2:MOVR7,#00HMOVA,RO;东西通行,南北制止MOVR3,AMoVDPTR,#OOOOH;置8255A口,东西方向绿灯亮,南北方向红灯亮MOVA,M)EBHMOVXDPTR,AN21:JBP2.0,T03N22:CJNER3,#00H,N21;-
5、黄灯闪烁5秒程序-N3:MOVR3,#05HMoVDPTR,#OoOOH;置8255A口,东西,南北方向黄灯亮MOVA,#0E2HMOVXDPTR,AN31:MOVR4,M)0HCJNER4,#7DH,$;黄灯持续亮0.5秒N32:MOVDPTR,#OOOOH;置8255A口,南北方向黄灯灭MOVA,M)EBHMOVXDPTR,AN33:MOVR4,M)0HCJNER4,#7DH,$;黄灯持续灭0.5秒CJNER3,M)0H,N3;闪烁时间达5秒那么退出SJMPNOO;-闯红灯报警程序-BO:MOVR2,#03H;报警持续时间3秒BOI:M0VA,R3JZNl;假设倒计时完毕,不再报警CLRP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 红绿灯 汇编语言 程序设计