用单片机内部定时器输出方波脉冲信号,写出源方程。

2025-01-02 22:38:13
推荐回答(3个)
回答1:

;AT89C51的晶振频率为12MHz用定时器0工作于中断方式在P2.0输出频率为10Hz的方波

ORG 0000H
SJMP START
ORG 000BH
MOV TH0, #(65536 - 50000) / 256
MOV TL0, #(65536 - 50000) MOD 256
CPL P2.0
RETI
START:
MOV TMOD, #01H
MOV TH0, #(65536 - 50000) / 256 ;定时50ms@12MHz
MOV TL0, #(65536 - 50000) MOD 256
SETB TR0
MOV IE, #82H
SJMP $
END

回答2:

#include
sbit p10=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
p10=~p10;
}
main()
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}

回答3:

不同的单片机差别很大。AVR的单片机,基本上只要设置几个寄存器就可以了。