微机原理与接口技术

您所在的位置:网站首页 微机接口原理及应用技术 微机原理与接口技术

微机原理与接口技术

2024-06-11 10:50| 来源: 网络整理| 查看: 265

(一) 操作练习

通过8253芯片通道0和通道2级连,CLK0输入时钟信号100KHz,使OUT2每隔1s,通过不可屏蔽引脚NMI产生中断,依次轮流点亮8盏LED灯。

DATA SEGMENT LIGHT_STATUS DB 00000001B DATA ENDS CODE SEGMENT 'CODE' ASSUME CS:CODE,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV AX,0 MOV DS,AX MOV SI,02H*4 ;设置2号中断向量 MOV AX,OFFSET NMI_SERVICE MOV [SI],AX MOV AX,SEG NMI_SERVICE MOV [SI+2],AX MOV DX,406H MOV AL, 16H ;计数器0,只读写低字节,方式3,二进制 OUT DX,AL MOV DX,400H MOV AL,11001000B ;十进制200 OUT DX,AL MOV DX,406H MOV AL, 0B0H ;计数器2,先读写低字节后读写高字节,方式0,二进制 OUT DX,AL MOV DX,404H MOV AX,000111110100B ;十进制500 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX 200H ;灯的地址 MOV AL,LIGHT_STATUS ;点亮第一个LED灯 OUT DX,AL JMP $ ;等待中断 MOV AH,4CH INT 21H NMI_SERVICE PROC FAR MOV DX, 200H ;灯的地址 MOV AL,LIGHT_STATUS ROL AL,1 ;灯循坏左移一位 OUT DX,AL MOV LIGHT_STATUS,AL ;更新LIGHT_STATUS的值 MOV DX,406H ;通道2送计数初值,再次启动计数 MOV AL, 0B0H ;计数器2,先读写低字节后读写高字节,方式0,二进制 OUT DX,AL MOV DX,404H MOV AX,000111110100B ;十进制500 OUT DX,AL MOV AL,AH OUT DX,AL IRET NMI_SERVICE ENDP CODE ENDS END BEGIN

仿真结果(截图放在下面): 在这里插入图片描述 在这里插入图片描述

请回答:程序中的400H、404H、406H分别表示哪个端口的地址? 400H代表计数器0 404H代表计数器2 406H代表控制端口

请回答:下面这两行代码是什么意思? MOV AH,4CH INT 21H INT表示中断 代码表示执行中断指令4CH

请回答:图中红框里面的三行代码是什么意思?(给这三行代码添加注释) 在这里插入图片描述 将AL的内容输出到DX所指示的端口 将ax寄存器高八位赋值给低八位 将AL的内容输出到DX所指示的端口

请回答:为什么计数器0的计数初值是200,计数器2的计数初值是500?

计数器0初值是200, 计数器2初值是500 芯片通道0和通道2级联,两个计数器初值乘积为100k

请回答:如果将计数器0的计数初值改为250,计数器2的计数初值改为400,仿真效果一样吗?在程序中的哪个位置进行修改,请将修改的地方截图,并在图中标记出来? 在这里插入图片描述 在这里插入图片描述 仿真效果一样的


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3