標題: 如果你自認為高手就來試試這個! [打印本頁]
作者: wjw0532 時間: 2008-8-25 21:18
標題: 如果你自認為高手就來試試這個!
最簡單的流水肯定難不倒自認為高手的您啦,題目也是非常的簡單,8個流水燈,要求第一個1/8亮,第二個2/8亮,第三個3/8亮第四個4/8亮,一直到第八個8/8亮也就是全亮!也許您說了,單片機是數字電路,沒有模擬的信號,不可能作到半亮半不亮的狀態,其實也不完全是這個樣子的.好好想辦法還是有的!
作者: xiaoyi 時間: 2008-8-25 23:43
我不是什么高手,但感覺該題不是很難,
可以使用2 個不同的變量,一個控制8個流水燈的公共線電源,另一個變量控制相應部分的另一端就可以了吧
就象動態控制LED顯示一樣。
作者: haikuan 時間: 2008-8-27 14:37
可不可以用串電阻限流的方法!就好像電氣工程里電動機串電阻降壓啟動那樣? 有時間試試!樓主應該給點提示!
作者: zn123717885 時間: 2008-8-28 10:28
用方波占空比來控制LED亮度 LED視頻大屏幕就是這樣控制的
作者: a13758777532 時間: 2008-8-28 12:36
PWM技術
作者: wangguiqing2008 時間: 2008-8-29 19:28
看看
作者: fdsa 時間: 2008-9-8 16:55
其實我覺得用動態掃描就OK,
控制好亮燈的時間長度和滅燈的時間長度,
就應該可以控制亮度
作者: yangyi153 時間: 2008-9-10 10:52
看不懂 不過 過幾天就會了
作者: 美琴的備胎 時間: 2021-4-9 11:22
pwm正解
作者: 3486635230 時間: 2021-4-10 07:59
PWM脈寬調制
作者: koboman 時間: 2021-4-11 20:59
#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int
sbit light1=P1^7;
sbit light2=P1^6;
sbit light3=P1^5;
sbit light4=P1^4;
sbit light5=P1^3;
sbit light6=P1^2;
sbit light7=P1^1;
sbit light8=P1^0;
void Timer0 () interrupt 1
{
static uchar count;
TH0=(65536-4500)/256; //裝初值12M晶振定時50ms數為5000
TL0=(65536-4500)%256;
count++;
if(count==1){light1=1;light2=1;light3=1;light4=1;light5=1;light6=1;light7=1;light8=0;}
if(count==2){light1=1;light2=0;light3=0;light4=0;light5=0;light6=0;light7=0;light8=0;}
if(count==3){light1=1;light2=1;light3=1;light4=1;light5=1;light6=0;light7=0;light8=0;}
if(count==4){light1=0;light2=1;light3=0;light4=0;light5=0;light6=0;light7=0;light8=0;}
if(count==5){light1=1;light2=0;light3=1;light4=1;light5=1;light6=1;light7=0;light8=0;}
if(count==6){light1=1;light2=1;light3=0;light4=0;light5=0;light6=0;light7=0;light8=0;}
if(count==7){light1=1;light2=1;light3=1;light4=1;light5=0;light6=0;light7=0;light8=0;}
if(count==8){light1=1;light2=1;light3=1;light4=0;light5=0;light6=0;light7=0;light8=0;count=0;}
}
void main()
{
TMOD=0x11; //將定時器0設置成工作方式1
TH0=(65536-4500)/256; //裝初值12M晶振定時50ms數為5000
TL0=(65536-4500)%256;
EA=1; //開總中斷
ET0=1; //開中斷
TR0=1;//開關計時器0
while(1)
{
}
}
作者: xiexugang 時間: 2021-4-12 00:34
用PWM方法,8級分辨率就行了.
koboman 的PWM寫的不錯.
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |