|
PWM 調(diào)LED亮度 在實驗板上通過
仿真電路圖如下:(下載本帖最后附件可看清晰圖)
0.png (20.53 KB, 下載次數(shù): 90)
下載附件
2016-1-11 18:50 上傳
1.png (42.29 KB, 下載次數(shù): 116)
下載附件
2016-1-11 18:50 上傳
51單片機(jī)源程序如下:
- #include <AT89X51.H>
- #define uchar unsigned char
- #define uint unsigned int
- uint sec,miaoshu,tcnt,count,a;
- sbit p30=P3^0;
- sbit p31=P3^1;
- sbit p20=P2^0;
- sbit p27=P2^7;
-
- void Delay(uchar t)
- {
- uchar i;
- while(t--)
- {
- for ( i = 0; i < 200 ;i ++);
- }
- }
- void t0(void) interrupt 1 using 0 //定時T0中斷服務(wù)函數(shù)
- {
-
- TH0=(65536-10)/256;
- TL0=(65536-10)%256;
- tcnt++;
- if(tcnt<=miaoshu){p20=1;}
- if(tcnt>miaoshu) {p20=0;}
- if(tcnt==20) //調(diào)頻率
- {
- tcnt=0;
- if(p30==1&&p31==1){a=0;p27=1;}
-
- if(a==0)
- {
- if(p30==0){if(miaoshu>0 ){miaoshu--;a=1;p27=0;}} //調(diào)占空比
- if(p31==0){if(miaoshu<20){miaoshu++;a=1;p27=0;}} //調(diào)占空比
- }
-
- }
-
- }
- void main(void)//主程序
- {
-
- TMOD=0x01;
- TH0=(65536-10)/256;
- TL0=(65536-10)%256;
- TR0=1; //開始定時
- ET0=1; //允許T0 產(chǎn)生中斷
- EA=1;
-
- miaoshu=10;tcnt=0;
- while(1)//調(diào)用各個函數(shù)模塊,死循環(huán)
- {
- ;
- }
- }
復(fù)制代碼
仿真文件和程序下載:
led調(diào)光.rar
(43.44 KB, 下載次數(shù): 39)
2016-1-11 15:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|