用74hc14 输入电流与38KHZ晶振搭建的方...

如何使用单片机产生38KHz的载波,求原理及C语言简单代码,晶振11.0592,请高手指点。_百度知道
如何使用单片机产生38KHz的载波,求原理及C语言简单代码,晶振11.0592,请高手指点。
提问者采纳
_nop_();用于_nop_(),那么输出高电平13uS,对输出口取反即可;_nop_(),那么机器周期是近似为1uS;
/_nop_();_nop_();_nop_(),每个空指令耗费1uSP0^1=~P0^1;reg51;_nop_();指令void main{while(1){_nop_();_nop_();_nop_()。所以隔13uSf=38KHz 那么周期T约等于26uS.h&_nop_().h&gt,另外13uS输出低电平。#include&/13个空指令;_nop_();/_nop_();#include&
/_nop_(),如果这个载波是方波的话.0592MHz。你的晶振是11
我了解你说的原理了,可以的话我想知道怎么用定时器来实现?
使用定时器0void main{TMOD=0X01;//工作于模式1TH0=0XFF;TL0=0XF4;//定时13uSTR0=1;//定时器开始while(1){};} void delay(void) interrupt 1 using 1{TH0=0XFF;//重装定时值TL0=0XF4;P0^1=~P0^1;}
提问者评价
谢谢你啦。
其他类似问题
晶振的相关知识
按默认排序
其他1条回答
〃《问。道》送上世界仧朂好旳礼物.?﹎`ˊ
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用555多谐振荡器设计一个38khz占空比为50%的脉冲电路,两个电阻与电容分别为多少?_百度知道
用555多谐振荡器设计一个38khz占空比为50%的脉冲电路,两个电阻与电容分别为多少?
在本人相册雪景的部分具有一个555脉宽调制电路,你只要改变定时电容的数值即可改变频率。可以作为参考。
其他类似问题
多谐振荡器的相关知识
其他1条回答
最好的办法是用protues进行电路的仿真,可以很直观的得出较精确的电路参数。
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用STC12c5A60s2自带的pwm在P1.3输出pwm信号,但用数字示波器测试时,出现的方波噪声很大,要怎么办?_百度知道
用STC12c5A60s2自带的pwm在P1.3输出pwm信号,但用数字示波器测试时,出现的方波噪声很大,要怎么办?
有许多脉冲波叠加在上面波形不是标准的方波,未改变I&#47,未加限流电阻;O口工作模式
提问者采纳
最简单的方法是经过两个非门(反相器)、你现在的波形质量不好,如果带施密特功能就更好了,我们经常用,我建议你在IO输出时在后面加一级整形电路。不过反相器速度要注意、方波质量不好,整形效果不要太好,可以用 74HC04或者74HC14(带施密特的反相器),杂波多是正常的;2,因为里面包含了极为丰富的谐波成分1
请问有没有办法能从软件的层面解决问题。
我感觉这个跟软件关系不大,你可以尝试一下,比如把PWM的频率降下来,看看波形。不过个人直觉问题可能出在硬件上的可能性更大。至于STC的单片机,我感觉它的抗电磁干扰干扰能力不过关,很多出口产品中都制定你用AT89S52,AVR或者PIC的。
提问者评价
其他类似问题
如廉价STC89C52RC 500万。 但现在大多数微控制器PWM或可编程时钟输出,它只能调节频率(固定占空比为50%),并做其他事情,没有做其他的事情千赫占空比为50%的PWM波其实。 打断达到38khz的50%占空比的PWM波的程序,不需要改变频率的波形,只要输入参数的特殊寄存器可以得到方波,MCU不要忽略它,单片机几乎是真的太忙了,这是38kHz的方波的占空比为50%,前者可以调整频率和占空比,有一个可编程时钟输出
pwm信号的相关知识
按默认排序
其他1条回答
这个有可能是示波器的表笔匹配问题造成的。
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁单片机红外发射接收程序中,for语句对于产生38khz的频率起到了什么作用?请具体讲解下38khz是如何产生的_百度知道
单片机红外发射接收程序中,for语句对于产生38khz的频率起到了什么作用?请具体讲解下38khz是如何产生的
红外发射sbit LED1=P1^3; Init_Timer0();//读取一体化接收头数值 if(Flag)
for(j=0; ET0=1;j&
/}/*-----------------------------------------------
名称红外测试程序
//
/void Init_Timer0(void){ TMOD |= 0x01;大约38KHz
LED=;* Init value *///#include&
&#47,LED4(P1; TL0=0x00; Flag=.h&
/******************************************************************/
/main(){ EA=1;*
*&#47&#47:
*红外测试程序,可以用黑色纸片完全遮挡接收头使
*之不能接收到发射管的信号.3)一直闪烁,头文件包含特殊功能寄存器的定义 sbit LED=P3^3;&#47,由一体化接收并解码由发光管显示。说明功能性正常------------------------------------------------*/27;* enable timer0 interrupt */
/******************************************************************/定时器初始化 while(1) {
LED1=IR;reg52;//* interupt enable */* Init value */******************************************************************/
/&#47,用单片机通过发射管发射38K的调制频率码,由于反射和高灵敏度接收;sbit IR=P3^2;
}/红外一体化接收bit F/
TH0=0xf0; TL0=0x00!Fj++)/
*正常情况下;
/ TR0=1;包含头文件;*
定时器0初始化
*/&#47!LED,一般情况不需要改动,这是LED4熄灭;******************************************************************/void Timer0_isr(void) interrupt 1 using 1{ TH0=0x0f
请大虾把具体的数学计算公式呈上,三克油。
我有更好的答案
按默认排序
&#47。仅从程序看,或脉冲的时间间隔,看不出来和 38KHz 有任何关系。脉冲频率,都是对 LED 引脚取反;&#47for(j=0。即输出一系列的高低电平,关键要看硬件,每次;j&27;
&#47:晶振频率;大约38KHz
LED=;j++)/发射管输出
}共循环27次!LED
请问,红外的频率具体指的是什么,或者说是程序的哪些语句产生的,因为程序里还有中断,还有for循环
--红外的频率具体指的是什么,由外接的换能器决定,你应该用什么频率。38KHz、40KHz、200KHz。。。这是硬件方面的问题。从程序里面,看不出来。-------------------或者说是程序的哪些语句产生的,就是这些语句:for(j=0;j&27;j++)//大约38KHz
//发射管输出
}共循环27次,每次,都是对 LED 引脚取反。即输出一系列的高低电平。-------------------因为程序里还有中断,还有for循环对 LED 引脚进行操作,就会输出脉冲。脉冲的时间间隔,从程序中,看不出来。-----------------*红外测试程序,用单片机通过发射管发射38K的调制频率码,由一体化接收并解码由发光管显示。*正常情况下,由于反射和高灵敏度接收,LED4(P1.3)一直闪烁,可以用黑色纸片完全遮挡接收头使*之不能接收到发射管的信号,这是LED4熄灭。说明功能性正常这些实验过程,和频率,一丁点的联系,也没有。说到了《发射38K的调制频率码》,纯属蒙人。
我理解:执行两次LED=!LED,高低电平各一次,就是花了26.3us,也就是一个38KHz的频率而27次就是这个38KHz的载频要执行的时间不知道理解对不对
其实就是一个计数程序,每隔27次LED闪烁一次,这要看你的指令周期是多少,做相应的循环就可以产生不同周期的闪烁频率,例如你把27改成54的话,输出频率就会变成19KHz。如果想要调高一倍频率只要将27改成13就可以了。
38khz只是调制频率,目的是节能和调稳定度
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 74hc14 输入电流 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信