pc课程设计 led灯闪烁显示控制

上传人:xins****2008 文档编号:109977340 上传时间:2019-10-28 格式:DOCX 页数:9 大小:66.42KB
返回 下载 相关 举报
pc课程设计 led灯闪烁显示控制_第1页
第1页 / 共9页
pc课程设计 led灯闪烁显示控制_第2页
第2页 / 共9页
pc课程设计 led灯闪烁显示控制_第3页
第3页 / 共9页
pc课程设计 led灯闪烁显示控制_第4页
第4页 / 共9页
pc课程设计 led灯闪烁显示控制_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《pc课程设计 led灯闪烁显示控制》由会员分享,可在线阅读,更多相关《pc课程设计 led灯闪烁显示控制(9页珍藏版)》请在金锄头文库上搜索。

1、CODE SEGMENT ASSUME CS:CODE ORG 1000HSTART: MOV BP, 0 MOV DI,002CH ;填中断IR3 矢量表 LEA AX,DISP MOV DI,AX INC DI INC DI MOV AX,CS MOV DI,AX INC DI INC DI ;8253控制字初始化 MOV AL,13H ;ICW1,边沿触发,要 ICW4,单片8259 MOV DX,20H ;送出, 0020H OUT DX,AL MOV AL,08H ;ICW2, 中断类型号 MOV DX,21H ;送出, 0021H OUT DX,AL MOV AL,09H ;ICW

2、4, 8088,缓冲方式,一般嵌套 OUT DX,AL ;8253初始化 MOV DX,4BH ;计数器0-初使话-地址为 4BH MOV AL,00110110B ;计数器0,方式三 OUT DX,AL MOV AL,10110110B ;计数器2-初使话 OUT DX,AL ;计数器2,方式三 MOV DX,4BH ;计数器0-初使话-地址为 4BH MOV AL,00110110B ;计数器0,方式三 OUT DX,AL MOV AL,10110110B ;计数器2-初使话 OUT DX,AL ;计数器2,方式三 MOV DX,48H ;写计数器0的初值-地址为48H MOV BP,0

3、MOV AX,CS:BP+A0 ;取存储器内的初始设定值 OUT DX,AL ;先送低八位 MOV AL,AH OUT DX,AL ;后送高八位 MOV DX,4AH ;写计数器2的初值-地址为4AH MOV BP,0 MOV AX,CS:BP+A2 ;取存储器内的初始设定值 OUT DX,AL ;先送低八位 MOV AL,AH OUT DX,AL ;后送高八位 ;8255初始化 MOV AL,10001000B ;A,B输出方式0,c口高四位输入,低四位输出 MOV DX,63H OUT DX,AL ; 控制字的地址63H MOV BX,00H STI CALL SUANXUNHUAN: M

4、OV DX,62H IN AL,DX MOV CX , 500H LOOP $ ;消抖软件延时 TEST AL,80H ;判断是否按下set键 JZ XUNHUAN ;没有按下就循环扫描,否则向下执行JIAJIAN: MOV CX , 500H LOOP $ ;消抖软件延时 TEST AL,40H ;判断是否键置高电平 JNZ XIA0 ;是话跳转至xia1JIANJIAN:MOV CX , 500H ;消抖软件延时 LOOP $ TEST AL,20H ;判断是否键置高电平 JNZ XIA1 ;是的话跳至xia1QEUDING0:MOV CX , 500H ;消抖软件延时 LOOP $ TE

5、ST AL,10H ;判断是否enter键置高电平 JNZ XIA2 ;是的话跳至xia2 JMP XUNHUANXIA0: MOV DX,62H ; 判断是否置低电平 IN AL,DX TEST AL,40H JNZ XIA0 CALL JIA ;调用加一秒程序 JMP XUNHUANXIA1: MOV DX,62H ;判断是否置低电平 IN AL,DX TEST AL,20H JNZ XIA1 CALL JIAN ;调用减一秒程序 JMP XUNHUANXIA2: MOV DX,62H 判断是否置低电平 IN AL,DX TEST AL,10H JNZ XIA2 CALL QUEDING

6、重新给定时器2写入定时初值 JMP XUNHUAN;=算出刚开始显示的时间=SUAN: MOV Bx,0 ;算出刚开始显示的时间 MOV AX,WORD PTR DS:BX+A2 MOV DX,0 MOV CX,WORD PTR DS:BX+AHZ1 DIV CX;A2除以2000,得到分频后输出方波信号的半周期 ,即点亮时间 MOV BL,10 ;算出数码管显示的数值 DIV BL MOV BX,00H MOV BYTE PTR DS:BX+SAVE,AL ;显示时间值-低位 MOV BYTE PTR DS:BX+SAVE+1,AH ;显示时间-高位 RETDISP: CLI 中断定时时间到

7、进入数码管显示程序 PUSH AX PUSH BX PUSH CX PUSH DX PUSHF MOV AL, DS:BP+SAVE INC BP MOV BX,OFFSET TAB1 XLAT MOV DX,61H ;8255b口断选 OUT DX,AL MOV AL,BYTE PTR DS:WEI ;取存储器的位值 MOV DX ,62H OUT DX,AL ROL AL,1 ;左移一位 MOV byte ptr ds:WEI,AL CMP AL,0FBH JZ FUZHI JMP EXITFUZHI: MOV BYTE PTR DS:WEI,0FEH MOV BP,00HEXIT: MOV AL,20H ;退出中断 MOV DX,0020h OUT DX,AL POPF POP DX POP CX POP BX POP AX STI IRETJIA: ;加键 MOV BP,0 MOV AX,WORD PTR DS:BX+A2 ADD AX,2000 MOV WORD PTR DS:BX+A2,AX CALL SUAN ;调整显示时间,cun1,cun2 RETJIAN: ;减键

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号