默认的时间中断是每秒产生18.2次,如果要求不精确,就用18次时钟中断来延时一秒。
地址0:46c存放的就是这个计数器,可以读取这个,然后加上18,比较就可以实现。代码如下:
mov ax,0
mov ds,ax
mov si,46ch
lodsw
add ax,18
mov cx,ax
loc_1:
mov si,46ch
lodsw
cmp ax,cx
jnb loc_2
jmp loc_1
loc_2:
如果要求非常精确,那就要直接对定时器进行编程,通过端口操作来实现。
12mhz的晶振就是1us
时钟周期是时钟频率(也叫晶振频率)的倒数