如何用c语言让at89s51单片机产生一个时钟脉冲

在下刚接触单片机很很菜。能不能给编一个c程序给一个实例... 在下刚接触单片机 很很菜。
能不能 给编一个c程序 给一个实例
展开
 我来答
grace_wang2008
推荐于2016-01-17 · TA获得超过130个赞
知道答主
回答量:171
采纳率:0%
帮助的人:73.3万
展开全部
#include<reg51.h>

sbit out = P1^0;
void Init(void)
{
TMOD = 0x01; //十六位定时器
TH0 = 60000/256; //定时器计数器赋值,12MHz晶振5.5ms一次中断
TL0 = 60000%256;
ET0 = 1; //开定时器0中断允许
PT0 = 0; //中断优先级为0
return;
}
void main(void)
{
Init(); //系统初始化函数
TR0 = 1; //开始计数
EA = 1; //开中断允许
while(1) //休眠模式
{
PCON = 0x01;
}
}
void Timer0(void) interrupt 1
{
TL0 = TL0|(60000%256);
TH0 = 60000/256; //定时器计数器赋值,12MHz晶振50ms一次中断
out = ~out;
return;
}
说明:改变定时初值就可以改变时钟脉冲的频率.

参考资料: 3+1

niushengqi
2008-11-07 · TA获得超过681个赞
知道小有建树答主
回答量:729
采纳率:0%
帮助的人:610万
展开全部
用定时中断,设置定时器,定时时间就是脉冲周期的1/4,然后中断程序里面置某个端口取反就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jcj0606
2008-11-06 · TA获得超过193个赞
知道答主
回答量:80
采纳率:0%
帮助的人:25.3万
展开全部
先让某一个I/O口输出高(低)电平,然后用延时子程序延时一下,再让它输出低电平即可了,
也可以用定时器,定时输出一段时输出高电平,然后取返也可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式