下载此文档

单片机PWM控制LED灯渐亮渐灭C51程序.rtf


文档分类:通信/电子 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
单片机 PWM 控制 LED 灯渐亮渐灭 C51 程序[ 日期:2009-08-24 ][ 来源: 东哥单片机学****网作者:admin] [ 字体:大中小]( 投递新闻) // PWM 控制 LED 灯渐亮渐灭程序// 晶振为 // 利用定时器控制产生占空比可变的 PWM 波//按 K1, PWM 值增加,则占空比减小,LED 灯渐暗。//按 K2, PWM 值减小,则占空比增加,LED 灯渐亮。//当 PWM 值增加到最大值或减小到最小值时,蜂鸣器将报警。#include < > #include < > sbit K1 =P1^4 ; // 增加键 sbit K2 =P1^5 ; // 减少键 sbit BEEP =P3^7 ; // 蜂鸣器 unsigned char PWM=0x7f ; // 赋初值 void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); void main() { P1=0xff; TMOD=0x21 ; TH0=0xfc ; //1ms 延时常数 TL0=0x66 ; // 频率调节 TH1=PWM ; // 脉宽调节 TL1=0 ; EA=1; ET0=1; ET1=1; TR0=1 ; while(1) { do{ if(PWM!=0xff) {PWM++ ;delayms(10);} else Beep() ;} while(K1==0); do{ if(PWM!=0x02) {PWM-- ;delayms(10);} else Beep() ;} while(K2==0); }} /*********************************************************/ // 定时器 0 中断服务程序. /*********************************************************/ void timer0() interrupt 1 { TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P0=0x00 ; // 启动输出} /*********************************************************/ // 定时器 1 中断服务程序/*********************************************************/ void timer1() interrupt 3 { TR1=0 ; P0=0xff ; // 结束输出} /*********************************************************/ // 蜂鸣器子程序/*********************************************************/ void Beep() { unsigned char i; for (i=0 ;i<100 ;i++) { delay(100) ; BEEP=!BEEP ; //Beep 取反} BEEP=1 ; // 关闭蜂

单片机PWM控制LED灯渐亮渐灭C51程序 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人825790901
  • 文件大小0 KB
  • 时间2016-05-08
最近更新