|
單片機(jī)源程序如下:
- //程序名:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)儀配套程序--pwm控制led亮度
- //電路簡(jiǎn)介: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)
- {
- //定時(shí)器設(shè)置
- TMOD=0x22; //T1=T0=定時(shí)方式2自動(dòng)重裝
- TH1=0; //脈寬寬度
- TL1=80;
- TH0=55; //頻率調(diào)節(jié)=0頻率最低
- TL0=0;
- TR0=1; //先啟動(dòng)T0定時(shí)
- ET1=1;
- ET0=1;
- EA=1; //總中斷開
- }
- //定時(shí)器0中斷
- //頻率********************************************
- void Timer0(void) interrupt 1
- {
- out=0xff; //關(guān)led
- TL0=0;
- TR1=1; //打開脈寬定時(shí)
- }
- //定時(shí)器1中斷
- //脈寬********************************************
- void Timer1(void) interrupt 3
- {
- out=~out; //開led
- TR1=0; //脈寬調(diào)節(jié)結(jié)束
- }
- //消抖延時(shí)
- 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--;
- }
- }
- }
-
- }
復(fù)制代碼
所有資料51hei提供下載:
按鍵PWM控制led亮度-c.rar
(15.43 KB, 下載次數(shù): 212)
2018-4-30 17:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|