永发信息网

利用KEIL(C51)编写程序, 1) 利用设计的程序使单片机产生1KHz方波

答案:1  悬赏:30  手机版
解决时间 2021-04-05 06:41
  • 提问者网友:骑士
  • 2021-04-04 07:56
利用KEIL(C51)编写程序, 1) 利用设计的程序使单片机产生1KHz方波
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-04-04 08:34
500HZ方波周期是2ms,只需定时器1ms,将管脚状态取反一次就其可,若按下按键,改为定时500us即可,程序如下:
#include
sbit key=P1^0;

void main()
{
unsigned int n=1000;
TMOD=0x01;//定时器0工作方式1
TH0=(65536-N)/256;//定时器初值,先是定时1000US
TL0=(65536-N)%256;
ET0=1;//开定时器0中断
EA=1;//开总中断
TR0=1;//启动定时器0
while(1)
{
if(key==0)//判断按键是否按下

{
delay_ms(20);//延时消抖动

if(key==0)n=500;
}
}
}
中断程序如下:
void timer0() interrupt 1
{
TH0=(65536-N)/256;
TL0=(65536-N)%256;
P2^0=~P2^0;//P2.0输出方波
}
延时子程序略
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯