找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4602|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)無線遙控LED亮度

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:83710 發(fā)表于 2015-6-24 22:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
    最近買了個(gè)無線遙控器,四路控制,編碼用的是PT2264,解碼用的是PT2272,閑著無聊,打算做個(gè)LED亮度的控制器。一般PT2264配套的解碼用的是PT2294。沒想到PT2272也能跟PT2264配套使用,匹配電阻為824(PT2272)跟475(PT2264)。
                       
    主控器用的是AT89C2051,用PWM來控制LED的亮度,為保證LED燈不會(huì)感到閃爍,PWM的頻率必須不小于60Hz。用定時(shí)器0工作方式0定時(shí)1ms產(chǎn)生一個(gè)中斷,10ms一個(gè)周期,PWM頻率為100Hz。 通過計(jì)算得出計(jì)數(shù)器的預(yù)存值為1C18,結(jié)果我直接就TH0=0x1C,TL0=0x18,結(jié)果程序運(yùn)行時(shí)發(fā)現(xiàn)LED閃爍得很嚴(yán)重。原來工作方式0的計(jì)數(shù)器為13位而不是16位,用的是TH0的高8位和TL0的低5位,所以TH0=0xE0,TL0=0x18才對(duì),而TH0=0x1C,TL0=0x18并不是1ms產(chǎn)生一個(gè)中斷,而是7.27ms產(chǎn)生一個(gè)中斷,10次中斷一個(gè)周期的話,PWM的頻率變成了13.7Hz當(dāng)然會(huì)閃爍了。
   
   
源程序:
#include <reg51.h>
#define uchar unsigned char
sbit l1=P1^7;//led
sbit l2=P1^6;
sbit l3=P3^5;
sbit l4=P3^7;
sbit P1_2=P1^2;//遙控
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
uchar ti;
bit on,off,add,dec;//四個(gè)遙控鍵狀態(tài)位
bit p0=1;//用來標(biāo)記PWM的狀態(tài)
void led_on(void);
void led_off(void);
uchar z=5;//亮度1-9
main()
{
IE = 0x83;  //開外中斷0,定時(shí)中斷0
IT0 = 1;//中斷觸發(fā)方式,后沿負(fù)跳有效
TMOD=0x00;//定時(shí)0工作方式0
TH0=0xE0;TL0=0x18;//初始定時(shí)時(shí)間
    TR0=0;//關(guān)定時(shí)器
IP=0x01;//中斷優(yōu)先級(jí)設(shè)置,外部中斷高于定時(shí)中斷
l1=0;l2=0;l3=0;l4=0;//關(guān)燈
while(1)
{
  if (on==1) {on=0;TR0=0;led_on();} //關(guān)閉定時(shí)器,LED開,使LED達(dá)到最亮
  if (off==1) {off=0;TR0=0;led_off();}//關(guān)閉定時(shí)器,LED關(guān)
  if (add==1) {add=0;if (z<9) z++;TR0=1;}
  if (dec==1) {dec=0;if (z>0) z--;TR0=1;}
}
}
void extern0() interrupt 0
{
EX0=0;
if (P1_2==1) on=1;//查詢哪個(gè)鍵按下
if (P1_3==1) off=1;
if (P1_4==1) add=1;
if (P1_5==1) dec=1;
EX0=1;
}
void time0() interrupt 1//1ms觸發(fā)一次
{
TR0=0;
TH0=0xE0;TL0=0x18;//重載計(jì)數(shù)值
ti++;
if (ti>=10) ti=0;//10ms時(shí)計(jì)數(shù)清零
if (ti<z) led_on(); else led_off();//根據(jù)z值控制PWM的占空比
TR0=1;
}
void led_on()//LED燈亮
{
l1=1;
l2=1;
l3=1;
l4=1;
}
void led_off()//LED燈滅
{
l1=0;
l2=0;
l3=0;
l4=0;
}                                                                                                                    
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:71698 發(fā)表于 2015-6-29 16:15 | 只看該作者
有電路圖嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:66287 發(fā)表于 2015-7-1 09:37 | 只看該作者
簡(jiǎn)單實(shí)用的DIY,頂一個(gè)!
回復(fù)

使用道具 舉報(bào)

地板
ID:235414 發(fā)表于 2017-9-26 09:37 | 只看該作者
初學(xué)者啥都不懂。棒棒的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表