全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;*; Aexp8.asm 走马灯(灯光变幻)程序 *; 内容:用DIP的8位开关控制走马灯的花样,用SW3控制走马灯的起/停 ; 运行步骤:1.按下一次开关SW3,开始灯光变幻,再按下一次则停止; 可重复进行 *; 2.按下SW3后,拨动不同的数码开关DIP,就会出现不同的灯光变幻 *; 3.按下q或者Q,退出 *;*sseg segment para stack stack dw 200 dup (?)sseg endsdseg segment para public datamessage db press SW3 to start and then press SW3 to stop,and so on!,0ah,0dh;系统提示信息 db turn on DIP one by one and display various soud-op patterns! db 0ah,0dh db if you want to quit, please hit q or Q!,0ah,0dh,$flag db 0 ;初始化状态标志变量为0t dw 0 ;初始化延时变量为0 num dw 0 ;初始化数字变量为0data1 db 80h,40h,20h,10h,08h,04h,02h,01h ;八种不同的灯光变幻组合 data2 db 01h,02h,04h,08h,10h,20h,40h,80h data3 db 80h,20h,08h,02h,40h,10h,04h,01h data4 db 01h,04h,10h,40h,02h,08h,20h,80hdata5 db 0c0h,30h,0ch,03h,0c0h,30h,0ch,03hdata6 db 03h,0ch,30h,0c0h,03h,0ch,30h,0c0hdata7 db 81h,42h,24h,18h,81h,42h,24h,18h data8 db 18h,24h,42h,81h,18h,24h,42h,81hdseg endscseg segment para public code assume ss:sseg,cs:cseg,ds:dsegm proc farstart: mov ax,ds push ax mov ax,00h push ax ;保留程序数据段地址 mov ah,09h ;显示系统提示信息 mov dx,seg message mov ds,dx mov dx,offset message int 21h ;初始化8255 mov dx,303h ;取8255的控制端口的地址 mov al,91h ;初始化8255的A口和C口高四位为输出模式 out dx,al ;B口和C口低四位为输入模式 ;初始化灯LED全灭 mov dx,301h ;取8255的端口A的地址 mov al,00h ;使8255的PA0-PA7全为0 out dx,al ;使所有的灯LED全灭 wait: ;检测q或者Q键 mov ah,0bh int 21h ;调用DOS 21H 功能0BH 进行键盘判断 inc al jnz readpc ;检测是否有键按下 mov ah,08h int 21h ;调用DOS 21H 功能08H 进行键盘输入判断 cmp al,q jz quit ;检测到q,退出 cmp al,Q jz quit ;检测到Q,退出 readpc: ;判断开关SW3的状态 mov dx,302h ;取8255的端口C的地址 in al,dx ;读端口C的值 ;当按下开关SW3时,PC2口为低电平 test al,04h ;检测PC2口状态 jnz caselp: in al,dx test al,04h jz lp ;循环检测直至放开 xor flag,01h ;将状态值取反case: cmp flag,01h ;进行状态值比较 jne stopbegin: call ledflash ;调用灯光变幻过程 call delay2 jmp wait ;灯LED全灭 stop: mov dx,301h ;取8255的端口A的地址 mov al,00h ;使8255的PA0-PA7全为0 out dx,al ;使所有的灯LED全灭 jmp waitquit: ;灯LED全灭 mov dx,301h ;取8255的端口A的地址 mov al,00h ;使8255的PA0-PA7全为0 out dx,al ;使所有的灯LED全灭 ;返回DOS mov ah,4ch ;DOS功能调用 int 21h ;返回DOSm endpdelay2 proc push cx push bx mov cx,02ffhdl4: mov bx,0ffffhdl3: dec bx jnz dl3 dec cx jnz dl4 pop bx pop cx retdelay2 endp ;检测数码开关DIP的状态,以便产生八种不同的灯光变幻ledflash proc mov dx,300h ;取8255的端口B的地址 in al,dx ;读端口B的值 cmp al,0feh ;检测PB0口是否为0 jne choice1 mov si,offset data1 ;置第一种灯光变幻组合 jmp herechoice1: cmp al,0fdh ;检测PB1口是否为0 jne choice2 mov si,offset data2 ;置第二种灯光变幻组合 jmp herechoice2: cmp al,0fbh ;检测PB2口是否为0 jne choice3 mov si,offset data3 ;置第三种灯光变幻组合 jmp herechoice3: cmp al,0f7h ;检测PB3口是否为0 jne choice4 mov si,offset data4 ;置第四种灯光变幻组合 jmp herechoice4: cmp al,0efh ;检测PB4口是否为0 jne choice5 mov si,offset data5 ;置第五种灯光变幻组合 jmp herechoice5: cmp al,0dfh ;检测PB5口是否为0 jne choice6 mov si,offset data6 ;置第六种灯光变幻组合 jmp herechoice6: cmp al,0bfh ;检测PB6口是否为0 jne choice7 mov si,offset data7 ;置第七种灯光变幻组合 jmp herechoice7: cmp al,7fh ;检测PB7口是否为0 jne choice0 mov si,offset data8 ;置第八种灯光变幻组合 jmp here ;choice0: call m0 ;调用声光变幻过程 choice0: jmp wait ;送加电数据here: add si,num mov al,si ;取当前加电数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省白银市会宁县会宁县第一中学2025年化学高一上期中考试模拟试题含解析
- 山东省临沂市沂南县2025-2026学年高一化学第一学期期中质量跟踪监视模拟试题含解析
- 河北省秦皇岛市卢龙县2026届高一物理第一学期期末教学质量检测模拟试题含解析
- 电商平台市场扩展计划
- 75个税务会计论文题目参考
- 中南财经政法大学毕业论文基本格式1
- 电化教育教辅人员的职称评定建议
- 毕业论文(设计)plc控制电动机正反转【范本模板】
- 行管专毕业论文选题(12.6.1)
- 感悟自然的议论文800字5作文
- 转让成熟民宿合同范本
- 2025年11月23日辽宁省税务局遴选笔试真题及答案解析(业务卷)
- 中泰证券2025届秋季校园招聘笔试历年常考点试题专练附带答案详解试卷3套
- 2025年中国氧化镁现状分析及市场前景预测
- 妊娠晚期催产素引产课件
- 2025年铁岭辅警招聘考试真题带答案详解
- 住院医师规范化培训结业临床实践能力考核标准方案(2022版)(全科)
- 重庆美的-Lc系列电控使用说明书
- PJG760系列矿用隔爆兼本质安全型永磁式高压真空配电装置说明书-PJG760-10(6)高压真空配电装置Y
- 窗帘布艺投标方案
- 保密协议NDA(中英文)
评论
0/150
提交评论