51单片机产生40KHZ方波

[复制链接]
38818|59
 楼主| zhenxing2000 发表于 2010-5-26 21:55 | 显示全部楼层
32# sophya
您好,我手头只有stc单片机的下载工具,所以我用的stc52rc,我用程序没有做出方波来,现在急着要交东西,如果您能给写一下程序的话非常感谢。
wwfjj1987 发表于 2010-5-27 09:35 | 显示全部楼层
40KHZ的信号,需要每12.5us电位变化一次,12MHZ晶振明显不能精确的达到这个值,24MHZ晶振刚刚好达到这个精度。其他的嘛,就是定时或是延时的问题了,她的程序会非常简单的。
还有一点,就是防止波形畸变了,你要把硬件做好点啊!~!~呵呵
ym2008 发表于 2010-5-27 14:26 | 显示全部楼层
貌似 14楼的方式不错!
chzhjn 发表于 2010-5-27 15:59 | 显示全部楼层
#include<reg52.h>
void main()
{
char temp;
EA=1;
ET0=1;
TMOD=2;
TH0=243.5;
TL0=243.5;
TR0=1;
temp=0x00;
P1=temp;
while(1)
{
   temp=~temp;
   P1=temp;

  }
}
void timer() interrupt 1
{
}
chzhjn 发表于 2010-5-27 16:06 | 显示全部楼层
将P1口重新定义一下就可以将40KHz的方波定义在一个管脚上!如sbit aa=P1^7;
就将temp=0x00;
P1=temp;
while(1)
{
   temp=~temp;
   P1=temp;

  }
改为
aa=0;
P1=aa;
while(1)
{
      aa=~aa;
      P1=aa;
}
mqp108 发表于 2010-5-27 20:32 | 显示全部楼层
学习啊
yangzf0000 发表于 2010-5-27 21:50 | 显示全部楼层
yangzf0000 发表于 2010-5-27 21:50 | 显示全部楼层
请高手赐教啊
a6632001 发表于 2010-5-29 22:02 | 显示全部楼层
我最近也在做超声波测距的,楼主可以用C+汇编试试啊,用汇编的NOP指令应该就可以调出来了
sxhhhjicbb 发表于 2010-5-30 13:57 | 显示全部楼层
主要确定一下I/O口的速率可以达到就可以。CPU速率不用担心。
kingTek 发表于 2010-5-31 11:50 | 显示全部楼层
本帖最后由 kingTek 于 2010-6-6 22:19 编辑

看见俺博文中的
“红外遥控大功率LED闪灯”没?
这个就是用51CPU产生红外载波,以及DC-DC驱动,
这里的40K也是一样的。
51可以同时干很多事!
取决于你对系统的认识程度。
fywx 发表于 2010-5-31 12:09 | 显示全部楼层
40K没一点问题;AT89S52定时器以前做过
lovetan 发表于 2010-5-31 15:16 | 显示全部楼层
定时器啥
大秦正声 发表于 2010-5-31 17:25 | 显示全部楼层
容易!用c8051f

//////

销售 c8051f单片机开发工具,芯片,usb,rf,internet开发板
http://yang96381.blog.163.com
coody 发表于 2010-6-1 12:50 | 显示全部楼层
使用stc52RC的T2的高速脉冲输出方式,非常简单的,输出频率是Fosc/2/N, N=1~255.
keepon2010 发表于 2010-6-1 15:25 | 显示全部楼层
你可以选择一款带硬件PWM的单片机,并且可以调PWM的频率,STK6037就可以,51内核的,www.mcu315.com,找柳工
行不改名 发表于 2010-6-2 16:03 | 显示全部楼层
用中颖88F系列单片机吧,这个问题可以很好解决.
ttlasong 发表于 2010-6-4 13:47 | 显示全部楼层
ly283571 发表于 2010-6-5 10:29 | 显示全部楼层
纯属来学习一下!
gj20071571 发表于 2010-6-6 12:34 | 显示全部楼层
t2吧,单纯一个方波不值得用死循环吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部