您的位置:首页 > 其它

用51单片机编写一个产生38K方波的程序

2014-08-31 18:49 246 查看
/* 遗憾的是不能产生标准38kHz频率的方波,有点误差*/

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

sbit Waveout=P1^0; //P1.0口输出方波

uchar

void main()

{

TMOD=0x01; //定时器0方式1

TH0=0xFF; ///由于晶振是11.0592MHz,每个机器周期约是1.09us,38kHz是26.3us产生一个方波,26.3/1.09需要计数24次,因而TH0=(65536-24)/256=255,即0xff

TL0=0xE8; //TL0=(65536-24)%256=232,即E8

EA=1;

ET0=1;

TR0=1;

while(1);

}

void T0_time() interrupt 1

{

TH0=0xFF;

TL0=0xE8;

Waveout=!Waveout;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐