PersonalCorpus 版 (精华区)
寄信人: asaki (牙子·:-#)
标 题: 没主题
发信站: 哈工大紫丁香 (2003年06月17日12:59:25 星期二)
来 源: 202.118.248.68
延时计数初值计算:
机器周期=12/晶振=12/(4*10^6)=3us
初值:(2^13-X)*3*10^(-6)=2*10^(-3)
X=0x1D65 初值TH0=0xE8 TL0=0x65
说明:中断调试程序。把输入的初值放到40H里,程序设的是15,就是15递减。
蜂鸣器接到P0.0端口。
ORG 0000H
RESET: AJMP MAIN
ORG 000BH
AJMP IT0
ORG 0100H
MAIN: MOV 40H,#15
MOV R0,#40H
LCALL PTOMO ;调用设置初值子程序
HERE: JMP HERE
;
;设初值子程序
PTOMO: MOV TL0,#65H ;设初值
MOV TH0,#0E8H
SETB TR0 ;启动T0
SETB ET0 ;允许T0中断
SETB EA ;CPU开中断
RET
;中断程序
IT0: MOV TL0,#65H
MOV TH0,#0E8H
DEC R0
CJNE R0,#9,CAL ;小于10蜂鸣
jmp re
CAL: MOV A,#01H
MOV P1,A
CJNE R0,#0,OFF ;等于0清显示
;OFF: LCALL CLRDIS ;清除显示(以后再调)
RE: RETI
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.248.68]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.007毫秒