繁体中文
设为首页
加入收藏

推荐文章

更多

07-14·[可控硅] 可控硅及其整流
07-14·[可控硅] 集成化六脉冲触发组件KCZ6电原理图
07-27·[单片机技术] PIC单片机16F84的内部硬件资源

 

最新文章

更多

· 高精度模数转换芯片CS11...
· 最新10位数字温度传感器...
· AT45D081/AT45DB021/AT4...
· X24C44一款老的EEPROM,(...
· 93C46/93c06/93c46/93c5...
· 128x64液晶KS0108控制器...
· 本站液晶程序里使用的ab...
· DS1302驱动程序(C51)
· 学习GCC Complete Refer...
· 农历转换函数(C语言版)
当前位置:技术文章首页 >> 单片机技术 >> 单片机源码 >> pwm 调制程序(c)

pwm 调制程序(c)

1970-01-01 08:00:00  作者:本站  来源:转载  浏览次数:663  文字大小:【】【】【

/*pwm 调制程序*/
/*作者: 尹书扬 */
/*时间:05-8-27 */
/*说明: key用来控制 脉宽的高电平时间,
可以在P2.0引脚 接一个led做测试*/

#i nclude <reg51.h>

#define CIRCLE 10

void pwmkey(void);

unsigned char count=1,last;

sbit led=P2^0;
sbit key=P0^0;

void main(void)
{
 EA=1;
 ET0=1;
 TH0=(65536-1000)/256;
 TL0=(65536-1000)%256;
 TR0=1;
 count=1;
 last=1;
 
 while(1)
 {
  pwmkey();
 }
}

void pwmkey(void)
{
 char old=0 ,new=0;
 while(1)
 {
  new=key;
  if(new && !old)
   last++;
  if(last>CIRCLE)
   last=1;
  old=new;
 }
}

void into(void) interrupt 1
{
 count++;
 if(count>CIRCLE)
 {
  count=1;
 }
 if(count<=last)
  led=0;
 else 
   led=1;
 TH0=(65536-1000)/256;
 TL0=(65536-1000)%256;
}

责任编辑:

启蒙电子http://www.51c51.net 启蒙电子网http://www.atc51.com 启蒙电子论坛
相关文章