单片机源程序如下:
- //程序名:单片机实验仪配套程序--pwm控制led亮度
- //电路简介:1、P0接J1的led共阳端;
- // 2、P2.6接J14单键键盘的6,作为增加亮度按钮
- // 3、P2.7接J14单键键盘的7,作为减小亮度按钮
- //saxmcu 20080518
- #include <reg51.h>
- #define out P0
- sbit INC=P2^6; //SW1
- sbit DEC=P2^7; //sw2
- //-----------------------------------------------------------------
- void Init(void)
- {
- //定时器设置
- TMOD=0x22; //T1=T0=定时方式2自动重装
- TH1=0; //脉宽宽度
- TL1=80;
- TH0=55; //频率调节=0频率最低
- TL0=0;
- TR0=1; //先启动T0定时
- ET1=1;
- ET0=1;
- EA=1; //总中断开
- }
- //定时器0中断
- //频率********************************************
- void Timer0(void) interrupt 1
- {
- out=0xff; //关led
- TL0=0;
- TR1=1; //打开脉宽定时
- }
- //定时器1中断
- //脉宽********************************************
- void Timer1(void) interrupt 3
- {
- out=~out; //开led
- TR1=0; //脉宽调节结束
- }
- //消抖延时
- delay()
- {
- unsigned int i;
- for(i=0;i<2000;i++);
- }
- //**********************************
- main()
- {
- Init();
- while(1)
- {
- INC=1;DEC=1;
- if (INC==0)
- {delay();
- if (INC==0)
- {
- if (TH1<200) TH1++;
- }
- }
- else if (DEC==0)
- {delay();
- if (DEC==0)
- {
- if (TH1>0) TH1--;
- }
- }
- }
-
- }
复制代码
所有资料51hei提供下载:
按键PWM控制led亮度-c.rar
(15.43 KB, 下载次数: 212)
|