两位数码管综合实验程序.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两位数码管综合实验程序

A8254 EQU 06C0H B8254 EQU 06C2H C8254 EQU 06C4H CON8254 EQU 06C6H DATA SEGMENT TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH GW DB 0 SW DB 0 INTCOUNT DB 0 ;INTCOUNT保存中断次数计数中断 DATA ENDS SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:SSTACK START: MOV AX,DATA MOV DS,AX MOV AX,SSTACK MOV SS,AX PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ;取中断服务程序入口偏移地址 MOV SI,003CH ;中断向量地址 MOV [SI],AX MOV AX,SEG IRQ7 ;取中断段地址 MOV SI,003EH MOV [SI],AX CLI POP DS MOV AL,11H ;初始化8259,ICW1,ICW2,ICW3,ICW4,OCW1 OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,AL IN AL,21H AND AL,7FH OUT 21H,AL ;打开中断屏蔽位,根据中断号修改 MOV DX,CON8254 ;初始化8254定时计数器 MOV AL,10H OUT DX,AL MOV DX,A8254 MOV AL,03H OUT DX,AL MOV DX,0646H ;初始化8255 MOV AL,80H OUT DX,AL STI ;允许中断 ;主程序 LEA SI,TABLE1 LEA DI,TABLE1 DISP: MOV AL,GW MOV BX,SI XLAT ;查表得到个位段码 MOV DX,0640H OUT DX,AL ;送出段码 MOV AL,0FDH MOV DX,0642H OUT DX,AL ;输出个位位选码 CALL DELAY MOV AL,SW MOV BX,DI XLAT ;查表得到十位段选码 MOV DX,0640H OUT DX,AL ;输出十位段码 MOV AL,0FEH MOV DX,0642H OUT DX,AL ;输出十位位选码 CALL DELAY JMP DISP IRQ7: PUSH AX PUSH BX ; PUSH DX MOV DX,A8254 MOV AL,03H OUT DX,AL INC INTCOUNT MOV BL,INTCOUNT ;把中断次数赋给BL,再显示BL的值 MOV AH,0 MOV AL,BL MOV BL,10 DIV BL ;商存在AH,余数存在AL MOV DX,AX ;AX赋值给DX,所以DH是商,DL是余数 MOV GW,DL ;把个位的赋给GW MOV SW,DH ;把十位的赋给SW ADD DX,3030H MOV AH,01H MOV AL,DL INT 10H MOV AH,01H MOV AL,DH INT 10H MOV AX,0120H ;空格 INT 10H MOV AL,20H ;中断结束命令 OUT 20H,AL STI POP DX ;恢复AX,DX的值 P

您可能关注的文档

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档