中易网

已知89C51单片机的fos=12MHz用T1的工作模式1定时试采用中断方式编程实现由P1.3引脚上产生一个25Hz的方波.

答案:2  悬赏:60  
解决时间 2021-01-11 22:04
  • 提问者网友:情歌越听越心酸
  • 2021-01-11 16:06
已知89C51单片机的fos=12MHz用T1的工作模式1定时试采用中断方式编程实现由P1.3引脚上产生一个25Hz的方波.
最佳答案
  • 二级知识专家网友:上分大魔王
  • 2021-01-11 17:03
主程序中:
TMOD=0x10;
ET1=1;

EA=1;
TH1=(65536-20000)/256;//定时20ms
TlL1=(65536-20000)%256;
TR0=1;
while(1);
中断程序:
void timer1(void) interrupt 3
{
TH1=(65536-20000)/256;
TlL1=(65536-20000)%256;
P1^3=! P1^3;
}
追问:可以用单片机的指令(就是类似mov TMOD,#10H)帮忙回答一下吗
全部回答
  • 1楼网友:北方的南先生
  • 2021-01-11 17:24
#include<reg51.h>
#define uchar unsigned char
uchar cnt;
sbit p13=P1^3;
void t0isr() interrupt 1
{
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
p13=~p13;
}
main()
{
TMOD=0x01;
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息