单片机红绿灯的汇编语言程序设计.docx

上传人:王** 文档编号:1025334 上传时间:2024-03-16 格式:DOCX 页数:5 大小:19.22KB
下载 相关 举报
单片机红绿灯的汇编语言程序设计.docx_第1页
第1页 / 共5页
单片机红绿灯的汇编语言程序设计.docx_第2页
第2页 / 共5页
单片机红绿灯的汇编语言程序设计.docx_第3页
第3页 / 共5页
单片机红绿灯的汇编语言程序设计.docx_第4页
第4页 / 共5页
单片机红绿灯的汇编语言程序设计.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机红绿灯的汇编语言程序设计.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

6、3.0;报警CJNER2,M)0H,B01;判断3秒是否完毕SJMPN02;1秒延时子程序N7:RETITO_INT:MOVTL0,#9AH;给定时器TO送定时IOms的初值MOVTH0,#OFIHINCR4INCR5CJNER5,#OFAH,TOl;判断延时是否够一秒,不够那么调用显示子程序MOVR5,#00H;R5清零DECR3;倒计时初值减一DECR2;报警初值减一TOI:ACALLDlSP;调用显示子程序RETI;中断返回;-显示子程序-DISP:JNBP2.4,T02DISPl:MOVB,#OAHMOVA,R3;R3中值二转十显示转换DIVABMOV79H,AMOV7AH,BDIS:

7、MOVA,79H;显示十位MOVDPTR,#TABMOVCA,A+DPTRMOVDPTR.#0002HMOVXDPTR,AMOVDPTR,M)001HMOVA,M)F7HMOVXDPTR,ALCALLDELAYDS2:MOVA,7AH;显示个位MOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,#0002HMOVXDPTR,AMOVDPTR,M)001HMOVA,#OFBHMOVXDPTR,ARET;_一一东西方向车流量检测程序-一T03:MoVA,R3SUBBA,M)OH;假设绿灯倒计时完毕,不再检测车流量JZN3JBP2.0,T03INCR7CJNER7,#64H,E1MOVR

8、7,#00H;中断到IoO次那么清零EkSJMPN22;-东西方向车流量显示程序-一T02:MOVB,#OAHMOVA,R7;R7中值二转十显示转换DIVABMOV79H,AMOV7AH,BDIS3:MOVA,79H;显示十位MOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,#0002HMOVXDPTR,AMOVDPTR,M)001HMOVA,#0F7HMOVXDPTR,A1.CALLDELAYDS4:MOVA,7AH;显示个位MOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,M)002HMOVXDPTR,AMOVDPTR.#000IHMOVA,#OFBHMOVXD

9、PTR,A1.JMPN7;延时4MS子程序DELAY:MOVR1,M)AH1.OOP:MOVR6,#64HNOP1.OOPl:DJNZR6,LOOP1DJNZR!,LOOPRET;-字符表-TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHENDORGOOOOHAJMPMAINORGOOOBH1.JMPINTORG0030HMAIN:MOVR2,#20HMOVTMOD,#01HMOVTLO,M)BOHMOVTH0,#80HSETBEASETBETOSETBTROLOOP:MOVA,#01HMOVP1,A1.CALLDELMOVR0,#02H1.CALLF

10、PLOOPkMOVA,#02HMOVPl,A1.CALLDELMOVR0,#02H1.CALLFP1.00P2:M0VA,#04HMOVPl,A1.CALLDELMOVR0,#05H1.CALLFPMOVP1,#OOH1.CALLDELCJNERO,M)OH,AASjmploopFP:MOVR1,#80HMOVA,RlMOVDPTR,#3FFFHMOVXDPTR,ARRAMOVRl,AMOVA,ROANLA,#OFHMOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,#5FFFHMOVXDPTR,ALCALLDELMOVA,M)FFHMOVDPTR,#5FFFHMOVXDPTR,A

11、MOVA,RlMOVDPTR,#3FFFHMOVXDPTR,AMOVA,ROANLA,#OFOHSWAPAMOVDPTR,#TABMOVCA,A+DPTRMOVDPTR,#5FFFHMOVXDPTR,A1.CALLDELMOVA,#OFFHMOVDPTR,#5FFFHMOVXDPTR,ACJNER0,#99H,FPRETDEL:MOVR5,#100HDELO:MOVR6,#250HDEL1JNZR6,DEL1DJNZR5,DEL0RETINT:CLRETODJNZR2,GOONMOVA,ROADDA,#99HDAAMOVRO,AMOVR2,#20HGOON:MOVTMoD,#OIHMOVTLO,#OBOHMOVTH0,#80HSETBEASETBETOSETBTRORETITAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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