免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
十字路口交通灯的变化规律要求:(1) 南北路口的绿灯、东西路口的红灯同时亮30秒左右。(2) 南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。(3) 南北路口的红灯、东西路口的绿灯同时亮30秒左右。(4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。(5) 转(1)重复。通过连接的 七段数码管动态显示绿灯剩余时间本次试验环境为 tcp-usb实验板,清华大学出的板子。下面是我的实现的全部代码,附带注释。代码遵循gpl协议,欢迎修改。*;data: 20:13 2009-9-8;author: muzi;zzu.model small.stack.dataled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码gewei word 8 ;存放要显示的个位和十位shiwei word 8counter byte 10intoff word ? ;保存原中断服务程序的偏移地址intseg word ? ;.段基地址.code.startup mov dx,28bh ;初始化 8255,设置a口,c口输出 mov al,80h out dx,al ;初始化 8253,输出1HZ 的方波,作为中断输入mov al,00110110b ;初始化计数器0,工作方式3,计数初值为1000mov dx,283hout dx,almov ax,1000mov dx,280hout dx,almov al,ahout dx,almov al,01110110b ;初始化计数器1,工作方式3,计数初值为1000mov dx,283hout dx,almov ax,1000mov dx,281hout dx,almov al,ahout dx,al;设置中断,中断号 0bh mov ax,350bh ;设置系统0b号中断int 21hmov intoff, bxmov intseg, esclipush dsmov dx,offset new0bhmov ax,seg new0bhmov ds,axmov ax,250bhint 21hpop dsin al,21h ;读取imrand al,0f7h ;允许irq3,其他不变out 21h,al ;设置imrstigo: mov counter,30 ;南北绿灯倒计时秒数 call greenn ;南北绿灯,东西黄灯,30sgo2: call xianshi mov al,counter add al,2 cmp al,1 jb go1 jmp go2 go1: cli ; 关中断 call yellown ; 南北黄灯闪 sti ;开中断 mov counter,30 call greenego3: call xianshi mov al,counter add al,2 cmp al,1 jb go4 jmp go3go4: cli call yellowe sti jmp go .exitdelay0 proc ; 延时子程序,控制数码管显示时间(亮度)timer=2push bxpush cxmov bx,timerdelay1: xor cx,cxdelay2: loop delay2dec bxjnz delay1pop cxpop bxretdelay0 endpcloseled proc ;关闭数码管显示子程序 mov al,00000000b ;关闭数码管 pc0=0 mov dx,28bh out dx,al mov al,00000010b ;关闭数码管 pc1=0 mov dx,28bh out dx,alretcloseled endpnew0bh procpush bxpush axpush cxpush sipush dsmov ax,datamov ds,axmov bl,10mov al,countermov ah,0div blmov bx,axmov ah,0mov shiwei,axmov bl,bhmov bh,0mov gewei,bxdec countermov al,20h ;发送eoi命令out 20h,alpop dspop sipop cxpop axpop bxiretnew0bh endpxianshi proc call closeled mov ax,shiwei mov si,offset led ;置led数码表偏移地址为SI add si,ax mov al,byte ptr si ;求出对应的led数码 mov dx,288h ;自8255A的口输出 out dx,al mov al,00000011b ;使相应的数码管亮,显示十位 pc1=1 mov dx,28bh out dx,al call delay0 call closeled mov ax,gewei mov si,offset led ;置led数码表偏移地址为SI add si,ax mov al,byte ptr si ;求出对应的led数码 mov dx,288h ;自8255A的口输出 out dx,al mov al,00000001b ;使相应的数码管亮,显示个位 pc0=1 mov dx,28bh out dx,al call delay0 retxianshi endpgreenn proc ;南北绿灯子程序mov dx,28bhmov al,10000000bout dx,almov dx,28ahmov al,00110000bout dx,alretgreenn endpgreene proc ;东西绿灯子程序mov dx,28bhmov al,10000000bout dx,almov dx,28ahmov al,10000100bout dx,alretgreene endpyellown proc ;南北黄灯闪子程序mov dx,28bhmov al,10000000bout dx,almov dx,28ahtime1=3mov cx ,time1abb:mov al,01010000bout dx,alcall delaymov al,00010000bout dx,alcall delayloop abbretyellown endpyellowe proc ;东西黄灯闪子程序mov dx,28bhmov al,10000000bout dx,almov dx,28ahtime1=3mov cx ,time1abc:mov al,10001000bout dx,alcall delaymov al,10000000bout dx,alcall delayloop abcretyellowe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钻孔施工专项方案
- 阀门项目绿色建筑方案分析(参考)
- 陕西礼盒项目可行性研究报告模板
- 高性能绝缘材料项目可行性研究报告方案可用于立项及银行贷款+201
- 煤矿行业班组长安全生产知识考试题库400题(含答案)
- (一统)大理州2026届高三高中毕业生第一次复习统一检测历史试卷(含答案详解)
- XXX国企2025年党建工作总结暨2026年工作计划范文
- 2020-2025年中药学类之中药学(师)能力测试试卷A卷附答案
- 无条件支付协议书
- 团购房补贴协议书
- 如何预防错混料
- 2024离婚协议书(标准版)pdf-(多篇)
- 电子信息工程专业大学生生涯发展展示
- 电气设备老化机理与寿命评估
- 关于预防银行业保险业从业人员金融违法犯罪的指导意见-银保监管政策解读及培训
- 模板炮炮王3D游戏策划
- 税务情况说明范文
- 南京市九中2023-2024高一上学期数学期中试卷及答案
- 嵌入式软件开发实习报告
- 绿化工程竣工验收单
- 无人机采购投标方案(完整技术标)
评论
0/150
提交评论