用AT89C51单片机设计声音报警器

2025-01-31 02:10:51
推荐回答(1个)
回答1:

试试:
用89C51片定时器
fosc=12MHz,
从P1.0口输出500Hz

org 000h
sjmp do ;跳初始化程序

org 000bh
ajmp t1ms ;1毫秒定时中断

do:
mov tmod,#00010001b ;双定时T0,T1
setb et0 ;开中断
setb ea ;开中断
MOV TH0,#252 ;设定T0: 1ms中断一次12MHz
MOV TL0,#24
setb tr0 ;开始定时

sjmp $

;=====================定时器中断==============

t1ms: MOV TH0,#252 ;设定T0: 1ms中断一次12MHz
MOV TL0,#24 ;
;----------------------0.2s定时--
djnz r0,next;0.2s
cpl 00h
mov r0,#200
;--------------------------------
next:
jb 00h,toret
cpl p1.0 ;从P1.0输出周期2ms方波,每1ms翻转
reti
;-----------------------------
toret:
clr p1.0 ;电平输出
reti ;中断返回

end