刚上完汇编实验的心情是,格外沉重,最近除了问题,作业写不完,实验做不完,这次是开历史之先河,上课当天才知道要干嘛,实验的时候,竟然因为下载完成后每RUN ,耗费了大量时间,太不了解唐都仪器,实验编程准备时间太少了。
下面回顾一下实验内容:用定时器8253构成分频器(基础部分):clk0为时钟输入,输出out0与clk1相连,作为定时器1的时钟输入,其中,定时器0设定为模式3(方波发生器),定时器1为模式2,二分频。
控制口地址为0606H,定时器0口地址0600H,定时器1口地址0602H,定时器2口地址0604H,
8253定时器工作方式2、工作方式3:
工作方式2:(分频器)写入控制字后,out被拉高,从写入初值后的一个时钟开始计时,在计时值减为1之后,out变为低电平,之后自动重装初值,计时减一,GATE 为高,计时开始,GATE为低,计时结束,计数过程中GATE 为高,
工作方式3(方波发生器):写入控制字OUT 被拉高,写入初值后,等一周过期,之后开始开始计时,数值减到一半(初值N为偶数,若为奇数高电平持续时间为(N+1)/2),OUT被拉低.
初始化8053定时器的过程:写控制字;写初值;读计时值(基础实验无此步)。
DATA SEGMENT
DATA END
CODES SEGMENT
ASSUME CS:CODES
START:
MOV AX,CODE
MOV DS,AX ;DS 指向CODE
MOV DX,0606H ;写入控制字,控制口地址为0606H
MOV AL,17H ;定时器0,只读写低8位,工作方式3,bcd格式
OUT DX,AL
MOV AL ,20H ;以20个机器时钟为一个周期,
MOV DX, 0600H ;定时器0的口地址
OUT DX,AL
MOV DX ,0606H
MOV AL , 55H ;定时器1,分频器模式,只读低8位,工作方式2,bcd格式
OUT DX ,AL
MOV AL ,02H ;初值为2,二分频
OUT DX,AL
CODES ENDS
END START