接口技术的一个问题,产生周期为1ms的连续方波并在示波器上显示

;产生一个周期为1ms的连续方波,并在示波器上显示。使用1MHZ的脉冲DATASEGMENTT0EQU280HT1EQU281HT2EQU282HCTLEQU283HDA... ;产生一个周期为1ms的连续方波,并在示波器上显示。使用1MHZ的脉冲
DATA SEGMENT
T0 EQU 280H
T1 EQU 281H
T2 EQU 282H
CTL EQU 283H
DATA ENDS

STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS

COSEG SEGMENT
ASSUME CS:COSEG,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX

MOV DX,CTL
MOV AL,00110111B
OUT DX,AL

MOV DX,T0
MOV AL,00H
OUT DX,AL
MOV AL,10H
OUT DX,AL

MOV AH,4CH
INT 21H
COSEG ENDS
END START
我有几个问题:
1、这个是老师的课件,第一个示波器下面一个1us是什么意思?前面999us是干嘛?
2、1MHZ计数次数应该是1000次吧,带上所给代码MOV AL,00H OUT DX,AL MOV AL 10H,OUT DX,AL这里是什么意思?求助。麻烦大神给我解释一下感激不尽
补充一下,用的是8253芯片哦
展开
 我来答
xhztech
推荐于2016-03-28 · TA获得超过1184个赞
知道小有建树答主
回答量:544
采纳率:0%
帮助的人:552万
展开全部
  1. 周期是1ms,1us是低电平时间,999us是高电平时间,一个周期就是999us+1us=1ms。这个方波的占空比是99.9%.

  2. 1Mhz是时钟输入,得到1ms周期也就是1Khz的方波需要计数1000次。这个代码都是基本的寄存器读写操作。


       MOV DX,T0       指定端口为T0,

       MOV AL,00H     在AL写入00H

       OUT DX,AL        把00写入T0端口 (计数器初值低位)

       MOV AL,10H    在AL写入10H

       OUT DX,AL        把10H写入T0端口 (计数器初值高位)


因为前面配置8253控制寄存器为T0,方式3,BCD计数,所以上面代码就是给T0初值1000。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式