51单片机产生40KHZ方波

请教利用51单片机产生40KHZ方波的C语言程序。谢谢。要求占空比50%我用555试验了一下,但出不来方波,老是三角波,希望大家帮忙。... 请教利用51单片机产生40KHZ方波的C语言程序。谢谢。
要求占空比50%
我用555试验了一下,但出不来方波,老是三角波,希望大家帮忙。
展开
 我来答
anyway丶yy
高粉答主

2019-09-27 · 繁杂信息太多,你要学会辨别
知道答主
回答量:102
采纳率:100%
帮助的人:2.4万
展开全部

程序为:

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int 

sbit Waveout=P1^0; 

uchar 

void main()

{

TMOD=0x01; 

TH0=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; 

}

扩展资料

使用方法

1.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;

2.将仿真器的串行电缆和PC机接好,打开用户板电源;

3.通过Keil C 的IDE 开发仿真环境UV2 下载用户程序进行仿真、调试。


硬件说明

1、使用用户板的晶振:仿真器晶振旁有两组跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。

2、为便于调试带看门狗的用户板,仿真器的复位端未与用户板复位端相连;故仿真器的复位按钮只复位仿真器,不复位用户板;若要复位用户板,请使用用户板复位按钮。

参考资料来源:百度百科-51单片机

做而论道
高能答主

2010-05-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
12.5us高电平、12.5us低电平,使用机器周期为6T的,晶振需要用24MHz。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0334cb9aebe
推荐于2017-10-13 · TA获得超过5759个赞
知道小有建树答主
回答量:788
采纳率:62%
帮助的人:68.2万
展开全部
40khz方波是周期为25us的方波,可以正负电平各延时大约12us
51单片机P1口输出40khz方波,汇编程序如下:
L1:CLR A
MOV P1,A
LCALL DELAY
SETB A
MOV P1,A
LCALL DELAY
SJMP L1
DELAY:MOV R1,#6
L1:DJNZ R1,L1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楼春岚V1
2010-05-21 · TA获得超过141个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:97万
展开全部
51单片机直接产生40KHZ"不可能是方波,除非输出后面处理,我用24mhz做的不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changshs
2010-05-21 · TA获得超过311个赞
知道答主
回答量:262
采纳率:100%
帮助的人:214万
展开全部
这个很简单。
你可以使用定时器来定时到某时刻将某脚电平置位或者拉低,
也可以使用具有PWM模块的单片机,
比如:
STC系列,C8051F系列,PIC,AVR等,
均可以实现以上功能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式