如何使用单片机产生38KHz的载波,求原理及C语言简单代码,晶振11.0592,请高手指点。

 我来答
sagitattoo
2011-04-19 · TA获得超过261个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:144万
展开全部
f=38KHz 那么周期T约等于26uS,如果这个载波是方波的话,那么输出高电平13uS,另外13uS输出低电平。
你的晶振是11.0592MHz,那么机器周期是近似为1uS。
所以隔13uS,对输出口取反即可。
#include<reg51.h>
#include<intrins.h> //用于_nop_();指令
void main{
while(1){
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //13个空指令,每个空指令耗费1uS
P0^1=~P0^1;
}
}
追问
我了解你说的原理了,可以的话我想知道怎么用定时器来实现?
追答
使用定时器0
void main{
TMOD=0X01;//工作于模式1
TH0=0XFF;
TL0=0XF4;//定时13uS
TR0=1;//定时器开始
while(1){};
}
void delay(void) interrupt 1 using 1
{
TH0=0XFF;//重装定时值
TL0=0XF4;
P0^1=~P0^1;
}
意法半导体(中国)投资有限公司
2021-01-14 广告
单片机(Microcontrolers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
w787078578
2011-04-18 · 贡献了超过119个回答
知道答主
回答量:119
采纳率:0%
帮助的人:0
展开全部
〃《问。道》送上世界仧朂好旳礼物.?﹎`ˊ
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式