导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→帮看看我的脉宽调制程序!!!!

* 95155: 帮看看我的脉宽调制程序!!!!

   光明二进制 
光明二进制发表的帖子 

 帮看看我的脉宽调制程序!!!!
我的程序如下,但是输出的频率是400多Hz的。我试着按注释那里改了下程序,但是发现当a=128时,占空比远远大于1/2,如果不加那两句占空比就是1/2。
不懂为什么,高手帮看看。

#include   <AT89x051.H>  
unsigned int a=128,b,c=0,d=0;
void main(void)
{
 while(1)
 {
  P3_0=1;
  for(i=0;i  <10;i++)            //后来加上的,如果没有这两句能正常输出400多HZ的方波
  for(b=d;b  <256-a;b++);
  P3_0=0;
  for(i=0;i  <10;i++)            //后来加上的,如果没有这两句能正常输出400多HZ的方波
  for(b=b;b  <256-d;b++);
 }
}

我需要的输出频率要在100Hz以下,不懂应该怎么办了。。。

发表时间:2006年6月29日3:46:19

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  95185.[详细]干吗不用定时中断呢?
摘要:定时中断可以,定时0.1MS,分100份,要什么比就有什么比......(49字)
- [bzxc9][900次] 2006年6月30日

  95424.[详细]按照你的要求用延时比用循环好
摘要:void delay(unsigned int times) {} main() { while(1)  {   P3_......(148字)
- [zhangyufei_123][908次] 2006年7月7日

[上一篇帖子]:拜求Mentor isd2004!FTP上的Mentor ISD2004&nbs
[下一篇帖子]:回答!可能是你的晶振管脚离你的板子太远啦,造成你的晶振不稳啊! 晶振的典型电路就是这么接的!