已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8255设控制字为10000010B,8254设控制字为36H8254定时器0置初值,周期为10ms的方波8254设控制字为50H开始显示提示信息Y有按键?依次点亮2个小灯从两边向中间点亮有按键?下?有按键?下?从左向右一次点亮小灯有按键?下?有按键?下?有按键?下?从中间向两边点亮从左向右在从右向左点亮有按键?下?从两边向中间在从中间向两边点亮结束有按键?下?有按键?下?水滴类型点亮小灯水滴类型点亮小灯NYNYNYNYNYYNN有按键按下?N从两边向中间点亮有按键按下?NYY1、 二极管按照红、绿、黄的顺序依次闪烁,数码管显示02、 二极管按由左至右的顺序依次闪烁,数码管显示13、 二极管按由两边到中间的顺序依次闪烁,数码管显示24、 二极管按由中间到两边的顺序依次闪烁,数码管显示35、 二极管按先由左至右再由右至左往返的顺序依次闪烁,数码管显示46、 二极管按先由两边到中间再由中间到两边的顺序依次闪烁,数码管显示57、 二极管按照水滴形成的规律从左到右依次闪烁,数码管显示68、 二极管两红灯闪3次,两黄灯亮,再两绿灯亮,最后全亮,数码管显示79、 上述过程执行完后,自动跳回第1种状态DATA SEGMENT ;定义数据段IOPORT EQU 0D880H-280H IO8255A EQUIOPORT+280H ;定义8255A端口地址IO8255BEQUIOPORT+281H ;定义8255B端口地址IO8255C EQU IOPORT+282H ;定义8255C端口地址 IO8255T EQU IOPORT+283H ;定义8255控制端口地址IO82540EQUIOPORT+288H ;定义8254计数器0地址IO82541EQUIOPORT+289H ;定义8254计数器1地址IO8254KEQUIOPORT+28BH ;给8254 写控制字BUF1 DB ? ;给BUF1字节空间BUF2 DB ? ;给BUF2字节空间BUF3 DB ? ;给BUF3字节空间BUF4 DB ? ;给BUF4字节空间MESS DB ENTER ANY KEY CAN EXIT TO DOS!,0DH,0AH,$ ;提示信息DATA ENDS ;数据段结束STACK SEGMENT STACK ;定义堆栈段STA DW 50 DUP(?) ;给STA 50个字空间TOP EQU LENGTH STA ;TOP=STA的长度STACK ENDS ;堆栈段结束CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK ;将段基址装入段寄存器START: MOV AX,DATA ;数据段段基址装入DS MOV DS,AX MOV ES,AX ;数据段段基址装入ES MOV AH,09H ;显示字符 MOV DX,OFFSET MESS;MESS的偏移地址赋给DX INT 21H ;退出START1: MOV DX,IO8255T ;8255控制端口给DX MOV AL,10000010B ;控制字写入8255控制端口 OUT DX,ALMOV DX,IO8254K ;8254控制字给DX MOV AL,36H ;控制字36H写入8254K端口 OUT DX,ALMOV DX,IO82540 ;8254计数器0给DX MOV AX,10000 ;控制字写入计数器0低4位 OUT DX,AL NOP ;延时 NOP MOV AL,AH ;AH给AL OUT DX,AL ;控制字写入计数器0高4位 MOV DX,IO8254K;8254端口K给DX MOV AL,50H ;控制字50H写入8254K端口 OUT DX,ALFIRST: PUSHDX ;DX入栈 MOV AH,06H;检测键盘是否有键按下 MOV DL,0FFH INT 21H POP DX ;DX出栈 JE K1 ;无键按下,转到K1 MOVAH,4CH ;返回DOS操作系统 INT21HK1: MOV DX,IO8255A ;8255A端口给DX MOV AL,3FH ;控制字3FH写入8255A端口 OUT DX,AL MOV DX,IO8255C ;8255C端口给DX MOV AL,10010000B ;控制字写入8255C端口,两红灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01001000B ;两黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00100100B ;两绿灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPP K2: MOV DX,IO8255A ;8255A端口给DX MOV AL,06H ;控制字06H写入8255A端口 OUT DX,AL MOV DX,IO8255C ;8255C端口给DX MOV AL,10000000B ;第一个红灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01000000B ;第一个黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00100000B ;第一个绿灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00010000B ;第二个红灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00001000B ;第二个黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00000100B ;第二个绿灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPP K3: MOV DX,IO8255A ;8255A端口给DX MOV AL,5BH ;控制字5BH写入8255A端口 OUT DX,AL MOV DX,IO8255C ;8255C端口给DX MOV AL,10000100B ;最外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01001000B ;靠近外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00110000B ;最内侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPPK4: MOV DX,IO8255A ;8255A端口给DX MOV AL,4FH ;控制字4FH写入8255A端口 OUT DX,AL MOVDX,IO8255C ;8255C端口给DX MOV AL,00110000B ;最内侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01001000B ;靠近外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,10000100B ;最外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPPK5: MOV DX,IO8255A ;8255A端口给DX MOV AL,66H ;控制字66H写入8255A端口 OUT DX,AL MOVDX,IO8255C ;8255C端口给DX MOV AL,10000000B ;第一个红灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01000000B ;第一个黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00100000B ;第一个绿灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00010000B ;第二个红灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00001000B ;第二个黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00000100B ;第二个绿灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00001000B ;第二个黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00010000B ;第二个红灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00100000B ;第一个绿灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01000000B ;第一个黄灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPPK6: MOV DX,IO8255A ;8255A端口给DX MOV AL,6DH ;控制字6DH写入8255A端口 OUT DX,AL MOV DX,IO8255C ;8255C端口给DX MOV AL,10000100B ;最外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01001000B ;靠近外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,00110000B ;最内侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AL,01001000B ;靠近外侧的两个灯亮 OUT DX,AL CALL DELAY10 ;调用延迟 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPPK7: MOV DX,IO8255A ;8255A端口给DX MOV AL,7DH ;控制字7DH写入8255A端口 OUT DX,AL MOV BUF1,10000000B ;红灯亮4S MOV BUF2,04H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00000000B ;红灯灭6S MOV BUF2,06H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,10000000B ;红灯亮6S MOV BUF2,06H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00000000B ;红灯灭4S MOV BUF2,04H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,10000000B ;红灯亮7S MOV BUF2,07H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00000000B ;红灯灭3S MOV BUF2,03H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,10000000B ;红灯亮8S MOV BUF2,08H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00000000B ;红灯灭2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,10000000B ;红灯亮8S MOV BUF2,08H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,11000000B ;红、黄灯亮10S MOV BUF2,0AH CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,01000000B ;黄灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,11100000B ;红、黄、绿灯亮7S MOV BUF2,07H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,01100000B ;黄、绿灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00100000B ;绿灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,11110000B ;红、黄、绿、红灯亮5S MOV BUF2,05H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,01110000B ;黄、绿、红灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00110000B ;绿、红灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00010000B ; 红灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,11111000B ;红、黄、绿、红、黄灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,01111000B ;黄、绿、红、黄灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00111000B ;绿、红、黄灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00011000B ;红、黄灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00001000B ;黄灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,01111100B MOV BUF2,02H ;黄、绿、红、黄、绿灯亮2S CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00111100B ;绿、红、黄、绿灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00011100B ;红、黄、绿灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00001100B ;黄、绿灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV BUF1,00000100B ;绿灯亮2S MOV BUF2,02H CALL SHUIDI1 ;调用SHUIDI1 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPPK8: MOV DX,IO8255A ;8255A端口给DX MOV AL,07H ;控制字07H写入8255A端口 OUT DX,AL MOVBUF1,10010000B ;两红灯亮60S MOV BUF2,3CH CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,00000000B ;两红灯灭60S MOV BUF2,3CH CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,10010000B ;两红灯亮60S MOV BUF2,3CH CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,00000000B ;两红灯灭60S MOV BUF2,3CH CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,10010000B ;两红灯亮60S MOV BUF2,3CH CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,00000000B ;两红灯灭60S MOV BUF2,3CH CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11011000B ;两红灯、黄灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,10010000B ;两红灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11011000B ;两红灯、黄灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,10010000B ;两红灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11011000B ;两红灯、黄灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,10010000B ;两红灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11111100B ;两红灯、黄灯、绿灯亮240S MOV BUF2,0F0H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11011000B ;两红灯、黄灯亮240S MOV BUF2,0F0H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11111100B ;两红灯、黄灯、绿灯亮240S MOV BUF2,0F0H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11011000B ;两红灯、黄灯亮240S MOV BUF2,0F0H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11111100B ;两红灯、黄灯、绿灯亮240S MOV BUF2,0F0H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11011000B ;两红灯、黄灯亮240S MOV BUF2,0F0H CALL SHUIDI2 ;调用SHUIDI2 MOV BUF1,11111100B ;两红灯、黄灯、绿灯亮120S MOV BUF2,78H CALL SHUIDI2 ;调用SHUIDI2 MOV AH,06H ;检测键盘是否有键按下 MOV DL,0FFH INT 21H JNZ PPP ;有键按下,转到PPP JMPSTART1 ;跳回开始,循环PPP: MOV AX,4C00H ;返回DOS操作系统 INT 21H SHUIDI1 PROC NEAR ;水滴子程序 PUSH AX ;AX 入栈 PUSH DX ;DX 入栈 MOV DX, IO8255C ;8255C端口给DX MOV AL,BUF1 ;8255C端口输出BUF1 O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026年)小学教师的工作计划
- (2026版)人教版选择性必修1物理上册阶段测试试卷含答案
- 棕草编织工安全实操能力考核试卷含答案
- 钼铁冶炼工班组协作测试考核试卷含答案
- 隧道工岗前绩效目标考核试卷含答案
- 井下水采工成果转化水平考核试卷含答案
- 肥皂制造工安全演练评优考核试卷含答案
- 管棒型材精整工岗前技能实操考核试卷含答案
- 渠道维护工岗中综合应用考核试卷含答案
- 吉他制作工工作合规模拟考核试卷含答案
- 九年级音乐教学设计:悠远古风单元整体教学与核心素养落实研究
- 2026年新疆新业国有资产经营集团有限责任公司人员招聘笔试参考题库及详细答案解析
- 2026中国眼科创新药物研发趋势及商业价值评估研究
- 2026年医院无废医院管理制度
- 2026年上半年软考中级网络工程师真题及答案解析
- 2026年《艺术概论》题库及参考答案
- 2026年维修钳工技师(二级)职业技能鉴定考试题库(全国)
- 山东省2025年冬季普通高中学业水平合格考试物理试题
- 2026年仓库安全培训考试题及答案
- 托管机构老师劳动合同
- 2026年银行从业资格《个人贷款》真题及答案解析
评论
0/150
提交评论