8253延时程序

8253延时程序,第1张

CODE SEGMENT

ASSUME CS:CODE

START: MOV AL,17 %选凳历择计数器0,低举粗链八位有效,工作方式3,正孙BCD码

OUT 03H,AL %选择X00端口,03H端口执行

MOV AL,0.33H %初值是0.33

OUT 00H,AL

CODE ENDS

END START

T=30S=1HZ/0.33

汇编语言的科学定义,其实就是介于机器码(各种01)和高级语言(如C)之间的一种悔余语言。你用C语言写一段程序,其实要在机器上运行的没蚂话,机器是不懂的,要经过编译器、汇编器编译,变成汇编,最终再变成机器码,机器根据碧察滚这些机器码的01可以控制硬件电路完成你程序想执行的 *** 作。

分两步走(假定8253端口地址为40H~43H)

计数友和值1=Tout1/Tclk1=2000000/1000=2000(假定计数器1号,2M时钟输入,输出时钟为1KHz)

计肢樱数值2=Tout2/Tclk2=1000*0.5=500(计数器2号输好饥盯入时钟为1KHz,输出延时0.5s)

初始化程序为:

MOV AL,01110110B

OUT 43H,AL

MOV AX,2000

OUT 41H,AL

MOV AH,AL

OUT 41H,AL

MOV AL,10110110B

OUT 43H,AL

MOV AX,500

OUT 42H,AL

MOV AL,AH

OUT 42H,AL


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8264777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存