1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: stc51f104w制作的七彩燈 [打印本頁(yè)]

作者: liaolinhui    時(shí)間: 2014-8-13 22:01
標(biāo)題: stc51f104w制作的七彩燈
前天看了nniipf的帖子才知道原來(lái)stc也有8腳的單片機(jī),之前買了2塊pic的由于要編程器所以被丟一邊了,看到STC也有于是從淘寶買了幾片回來(lái)研究。申通也夠給力,今天早上收到貨了,于是弄了個(gè)最小系統(tǒng),說(shuō)是最小系統(tǒng)其實(shí)也就是在電源端接2個(gè)電容而已。
上面的事DIP封裝的,下面是SOP封裝的,上面左邊的是下載用的,右邊呢就是今天的主角七彩燈。STC下載很方便的,直接用串口就可以了,看圖2.
好了,接下來(lái)先用STC-ISP檢測(cè)MCP選項(xiàng)
正在檢測(cè)目標(biāo)單片機(jī) ...
  單片機(jī)型號(hào): STC15F104W
  固件版本號(hào): 7.1.4Q

當(dāng)前芯片的硬件選項(xiàng)為:
  . 下次冷啟動(dòng)后系統(tǒng)時(shí)鐘源為內(nèi)部IRC振蕩器
  . 內(nèi)部振蕩器的頻率未調(diào)節(jié)
  . 掉電喚醒定時(shí)器的頻率: 35.391KHz
  . P3.2和P3.3與下次下載無(wú)關(guān)
  . 上電復(fù)位時(shí)不增加額外的復(fù)位延時(shí)
  . 復(fù)位引腳用作普通I/O口
  . 檢測(cè)到低壓時(shí)復(fù)位
  . 低壓檢測(cè)門檻電壓 : 3.82 V
  . 低壓時(shí)可以進(jìn)行EEPROM操作
  . 上電復(fù)位時(shí),硬件不啟動(dòng)內(nèi)部看門狗
  . 上電自動(dòng)啟動(dòng)內(nèi)部看門狗時(shí)的預(yù)分頻數(shù)為 : 64
  . 空閑狀態(tài)時(shí)看門狗定時(shí)器停止計(jì)數(shù)
  . 啟動(dòng)看門狗后,軟件可以修改分頻數(shù),但不能關(guān)閉看門狗
  . 下次下載用戶程序時(shí),將用戶EEPROM區(qū)一并擦除
  . 下次下載用戶程序時(shí),沒有相關(guān)的端口控制485
  . TXD與RXD為相互獨(dú)立的IO
  . 芯片復(fù)位后,TXD腳為弱上拉雙向口
  . 芯片復(fù)位后,P3.3輸出低電平

  單片機(jī)型號(hào): STC15F104W
  固件版本號(hào): 7.1.4Q

操作成功 !

看樣子下載器是沒問題了,接下來(lái)看看七彩燈電路可以用不,我先寫個(gè)程序
#include <reg52.h>
void delay(unsigned int i);  //聲明延時(shí)函數(shù)
main()
{
  unsigned char Num = 0xff;
  while (1)
  {P3  = Num;
   delay(1000);           //延時(shí)函數(shù)
   Num--;
   }

}


/*******延時(shí)函數(shù)*************/
void delay(unsigned int i)
{
    unsigned char j;
    for(i; i > 0; i--)
        for(j = 255; j > 0; j--);

}

這個(gè)程序是讓單片機(jī)P3口輸出(15F104W只有P3口)11111111-00000000
而我的七彩燈只用到P3.0-P3.23個(gè)端口,所以就111-000八種狀態(tài),實(shí)現(xiàn)了七彩燈的效果
七彩燈最主重要的是一個(gè)3色共陽(yáng)LED.
編譯成功了,沒有錯(cuò)誤接下來(lái)寫入單片機(jī)
居然寫不進(jìn)去,一直停在正在檢測(cè)單片機(jī)那里,好像聽說(shuō)是要在下載線上加電阻的吧,等一下去找個(gè)電阻來(lái)試試

IMAG0011.jpg (541.81 KB, 下載次數(shù): 257)

IMAG0011.jpg

IMAG0012.jpg (442.64 KB, 下載次數(shù): 277)

IMAG0012.jpg

作者: liaolinhui    時(shí)間: 2014-8-13 22:33
又重新插了幾次居然寫入成功了,估計(jì)是我的IC插座氧化的原因,畢竟是5,6年前的了。

正在檢測(cè)目標(biāo)單片機(jī) ...
  單片機(jī)型號(hào): STC15F104W
  固件版本號(hào): 7.1.4Q

當(dāng)前芯片的硬件選項(xiàng)為:
  . 下次冷啟動(dòng)后系統(tǒng)時(shí)鐘源為內(nèi)部IRC振蕩器
  . 內(nèi)部振蕩器的頻率未調(diào)節(jié)
  . 掉電喚醒定時(shí)器的頻率: 35.391KHz
  . P3.2和P3.3與下次下載無(wú)關(guān)
  . 上電復(fù)位時(shí)不增加額外的復(fù)位延時(shí)
  . 復(fù)位引腳用作普通I/O口
  . 檢測(cè)到低壓時(shí)復(fù)位
  . 低壓檢測(cè)門檻電壓 : 3.82 V
  . 低壓時(shí)可以進(jìn)行EEPROM操作
  . 上電復(fù)位時(shí),硬件不啟動(dòng)內(nèi)部看門狗
  . 上電自動(dòng)啟動(dòng)內(nèi)部看門狗時(shí)的預(yù)分頻數(shù)為 : 64
  . 空閑狀態(tài)時(shí)看門狗定時(shí)器停止計(jì)數(shù)
  . 啟動(dòng)看門狗后,軟件可以修改分頻數(shù),但不能關(guān)閉看門狗
  . 下次下載用戶程序時(shí),將用戶EEPROM區(qū)一并擦除
  . 下次下載用戶程序時(shí),沒有相關(guān)的端口控制485
  . TXD與RXD為相互獨(dú)立的IO
  . 芯片復(fù)位后,TXD腳為弱上拉雙向口
  . 芯片復(fù)位后,P3.3輸出低電平

  單片機(jī)型號(hào): STC15F104W
  固件版本號(hào): 7.1.4Q

開始調(diào)節(jié)頻率 ...                        [0.172"]
調(diào)節(jié)后的頻率: 11.054MHz (-0.043%)

正在重新握手 ... 成功                        [0.297"]
當(dāng)前的波特率: 38400
正在擦除目標(biāo)區(qū)域 ... 完成 !                [0.625"]
正在下載用戶代碼 ... 完成 !                [0.235"]
正在設(shè)置硬件選項(xiàng) ... 完成 !                [0.062"]

更新后的硬件選項(xiàng)為:
  . 下次冷啟動(dòng)后系統(tǒng)時(shí)鐘源為內(nèi)部IRC振蕩器
  . 當(dāng)前的振蕩器的頻率: 11.054MHz
  . P3.2和P3.3與下次下載無(wú)關(guān)
  . 上電復(fù)位時(shí)增加額外的復(fù)位延時(shí)
  . 復(fù)位引腳用作普通I/O口
  . 檢測(cè)到低壓時(shí)復(fù)位
  . 低壓檢測(cè)門檻電壓 : 3.82 V
  . 低壓時(shí)不能進(jìn)行EEPROM操作
  . 上電復(fù)位時(shí),硬件不啟動(dòng)內(nèi)部看門狗
  . 上電自動(dòng)啟動(dòng)內(nèi)部看門狗時(shí)的預(yù)分頻數(shù)為 : 256
  . 空閑狀態(tài)時(shí)看門狗定時(shí)器停止計(jì)數(shù)
  . 啟動(dòng)看門狗后,軟件可以修改分頻數(shù),但不能關(guān)閉看門狗
  . 下次下載用戶程序時(shí),不擦除用戶EEPROM區(qū)
  . 下次下載用戶程序時(shí),沒有相關(guān)的端口控制485
  . TXD與RXD為相互獨(dú)立的IO
  . 芯片復(fù)位后,TXD腳為弱上拉雙向口
  . 芯片復(fù)位后,P3.3輸出高電平

  . 芯片出廠序列號(hào) : 0C0000160813FC
  單片機(jī)型號(hào): STC15F104W
  固件版本號(hào): 7.1.4Q

  . 用戶設(shè)定頻率: 11.059MHz
  . 調(diào)節(jié)后的頻率: 11.054MHz
  . 頻率調(diào)節(jié)誤差: -0.043%

操作成功 !
好了接下來(lái)你插上七彩燈板試一下。測(cè)試成功,其實(shí)有時(shí)候我們做些小制作的時(shí)候,特別是初學(xué)者(其實(shí)就是指我自己)沒必要用太大的太復(fù)雜的電路,或者用開發(fā)板,用這些15f104之類的簡(jiǎn)單電路更容易成功,這樣才越來(lái)越有興趣去繼續(xù)學(xué)習(xí),

IMAG0013.jpg (381.55 KB, 下載次數(shù): 249)

IMAG0013.jpg

作者: admin    時(shí)間: 2014-8-13 23:23
很好的制作  謝謝分享
作者: jiege    時(shí)間: 2014-8-13 23:25
太牛逼了,問一下 這個(gè)燈有幾個(gè)引腳? 為什么可以發(fā)出七彩色呢?
作者: liaolinhui    時(shí)間: 2014-8-13 23:38
jiege 發(fā)表于 2014-8-13 23:25
太牛逼了,問一下 這個(gè)燈有幾個(gè)引腳? 為什么可以發(fā)出七彩色呢?

這燈有4個(gè)引腳,一個(gè)共陽(yáng)極,一個(gè)綠燈,一個(gè)藍(lán)燈,一個(gè)紅燈。分別接在P3.0,P3.1,P3.2,通過P3.0-P3.2輸出000-111實(shí)現(xiàn)分別點(diǎn)亮一個(gè)燈(紅,綠,藍(lán)),同時(shí)點(diǎn)亮兩個(gè)燈(紅綠,紅藍(lán),綠藍(lán))。同時(shí)點(diǎn)亮三個(gè)燈(紅綠藍(lán)),同時(shí)熄滅等八種狀態(tài)。如果通過pwm改變3燈的亮度的話理論上是有無(wú)數(shù)種顏色的,要知道彩電就是通過這三基色來(lái)顯示各種各樣的顏色的
作者: 51sszzhh    時(shí)間: 2014-8-14 11:36
很好很詳細(xì)
作者: liaolinhui    時(shí)間: 2014-8-14 22:16
昨天受到啟發(fā),想吧程序改一下,想把七彩改為多彩,今天在51hei網(wǎng)站發(fā)現(xiàn)有個(gè)類似的
原網(wǎng)址http://m.raoushi.com/mcu/3973.html,我拿來(lái)修改了下,做成了七彩燈2代
只改動(dòng)了頭文件和IO口設(shè)置
#include <STC15F104E.H> //C:\Keil\C51\INC\STC目錄居然沒有STC15F104W的,所以用STC15F104E的


sbit g1=P3^0;   //綠色 這個(gè)改成STC15F104W的io
sbit r1=P3^1;   //紅
sbit b1=P3^2;   //蘭
sbit key1=P3^3;   

/*********************************/
unsigned char i;
unsigned char mode;
/*********************************/
void delay(unsigned int k)       
{                               
unsigned int i,j;               
for(i=0;i<k;i++){               
for(j=0;j<121;j++)               
{;}}
}               
/*********************************/
void interint1() interrupt 2 //using **
      //外部中斷1處理      
{     
EA=0;

if(key1==0)
{
delay(20);
  key1=1;
if(key1==0)
{
mode++;
if(mode==4)mode=0;
}
while(key1==0);
}

key1=1;     
EA=1;     
}
/*********************************/
timer(unsigned char t)
{unsigned char b;
   for(b=0;b<t;b++)
   {; }
}

/*********************************/
ledout(unsigned char g,r,b)
{unsigned char a;
  for(a=0;a<10;a++)
{if(g!=0)
    {g1=1;timer(g);g1=0;}
  if(r!=0)
    {r1=1;timer(r);r1=0;}
  if(b!=0)
    {b1=1;timer(b);b1=0;}
  }
}
/*********************************/

/*********************************/
main()
{

unsigned char g,r,b;
r1=0;
g1=0;
b1=0;
EA=1;
EX1=1;
delay(1);
while(1)
{

if(mode==0)
{
{if(g!=0&&b==0)
    {g--;r++;}
   if(r!=0&&g==0)
    {r--;b++;}
   if(b!=0&&r==0)
    {b--;g++;}
   if(g+r+b!=100)
    {g=100;r=0;b=0;}
   ledout(g,r,b);
   }
   }

if(mode==1)
{
i++;
if(i==7)i=0;
switch(i)
{
case 0 : r1=1;g1=0;b1=0;delay(100);        r1=0;g1=0;b1=0; delay(100); break;
case 1 : r1=0;g1=1;b1=0;delay(100);     r1=0;g1=0;b1=0; delay(100); break;
case 2 : r1=0;g1=0;b1=1;delay(100);        r1=0;g1=0;b1=0;  delay(100); break;
case 3 : r1=1;g1=1;b1=0;delay(100);        r1=0;g1=0;b1=0;  delay(100); break;
case 4 : r1=1;g1=0;b1=1;delay(100);        r1=0;g1=0;b1=0;  delay(100); break;
case 5 : r1=0;g1=1;b1=1;delay(100);        r1=0;g1=0;b1=0;  delay(100); break;
case 6 : r1=1;g1=1;b1=1;delay(100);        r1=0;g1=0;b1=0;  delay(100); break;
default : break;
}
}


if(mode==2)
{
i++;
if(i==7)i=0;
switch(i)
{
case 0 : r1=1;g1=0;b1=0;delay(300);        r1=0;g1=0;b1=0; delay(300); break;
case 1 : r1=0;g1=1;b1=0;delay(300);     r1=0;g1=0;b1=0; delay(300); break;
case 2 : r1=0;g1=0;b1=1;delay(300);        r1=0;g1=0;b1=0;  delay(300); break;
case 3 : r1=1;g1=1;b1=0;delay(300);        r1=0;g1=0;b1=0;  delay(300); break;
case 4 : r1=1;g1=0;b1=1;delay(300);        r1=0;g1=0;b1=0;  delay(300); break;
case 5 : r1=0;g1=1;b1=1;delay(300);        r1=0;g1=0;b1=0;  delay(300); break;
case 6 : r1=1;g1=1;b1=1;delay(300);        r1=0;g1=0;b1=0;  delay(300); break;
default : break;
}
}

if(mode==3)
{
i++;
if(i==7)i=0;
switch(i)
{
case 0 : r1=1;g1=0;b1=0;delay(300); break;
case 1 : r1=0;g1=1;b1=0;delay(300); break;
case 2 : r1=0;g1=0;b1=1;delay(300); break;
case 3 : r1=1;g1=1;b1=0;delay(300); break;
case 4 : r1=1;g1=0;b1=1;delay(300); break;
case 5 : r1=0;g1=1;b1=1;delay(300); break;
case 6 : r1=1;g1=1;b1=1;delay(300); break;
default : break;
}
}

}
}
作者: wangyin    時(shí)間: 2014-8-15 00:42
好久沒有看到這么牛的制作了 非常好 非常詳細(xì)  值得學(xué)習(xí)
作者: hkccd    時(shí)間: 2014-8-15 12:23
太牛逼了,,樓主問一下這種燈叫什么名字到哪里有賣的呀?我也想親手制作一個(gè)
作者: liaolinhui    時(shí)間: 2014-8-15 23:32
本帖最后由 liaolinhui 于 2014-8-15 23:59 編輯

淘寶應(yīng)該有賣,才幾毛錢一個(gè)(在淘寶搜三色LED),15f104w要1塊多,洞洞板5X7的3毛錢(只用到一小塊,一塊5X7的起碼可以做十幾個(gè)),usb轉(zhuǎn)ttl線(下載用)10塊錢(這個(gè)最貴,不過買了以后可以經(jīng)常用到,)三色LED分共陽(yáng)和共陰兩種,用51單片機(jī)IO口直接驅(qū)動(dòng)的話買共陽(yáng)的好點(diǎn),因?yàn)?1單片機(jī)低電平輸出能力要比高電平好,共陽(yáng)三色LED的公共端接VCC,其他三腳通過限流電阻接IO口,建議紅色用1k,藍(lán)綠用560左右,因?yàn)槿绻齻(gè)都用同樣的電阻紅色會(huì)太亮,其他兩個(gè)顏色就不明顯,假如錢多的話可以買大功率的LED,那樣的話這玩意就變成舞臺(tái)燈了
作者: happy_coding    時(shí)間: 2014-8-21 17:57
我喜歡
作者: 13304563556    時(shí)間: 2014-9-5 13:22
還行挺經(jīng)典的啊
作者: 老菜鳥    時(shí)間: 2014-10-9 16:07
樓主很行啊,不錯(cuò),在玩中學(xué)習(xí)!!!
作者: 51hei電控2112312    時(shí)間: 2014-12-21 04:50
很好,正需要
作者: bhjyqjs    時(shí)間: 2015-6-2 10:08
樓主真牛,實(shí)際上STC15f104w用途很大,我就用來(lái)代替過著名的555集成塊
作者: 重慶水下LED燈    時(shí)間: 2015-7-20 00:04
高手老師 我遇上一個(gè)難題了 我是做水下LED的 也有7彩 我是不會(huì)寫  現(xiàn)在是別人寫的 就是我們這個(gè) 要幾百個(gè)燈同時(shí)上電,一定要同時(shí)變。現(xiàn)在就是遇上了不同步。當(dāng)噴泉水泵一啟動(dòng) 就開始亂變了 叫這寫程序的改下 他說(shuō)只能這樣 把我都?xì)鈺灹?nbsp;    
作者: 奮斗小范    時(shí)間: 2015-7-20 08:30
新手前來(lái)學(xué)習(xí),目前想做一個(gè)光立方
作者: liaolinhui    時(shí)間: 2015-7-20 23:53
重慶水下LED燈 發(fā)表于 2015-7-20 00:04
高手老師 我遇上一個(gè)難題了 我是做水下LED的 也有7彩 我是不會(huì)寫  現(xiàn)在是別人寫的 就是我們這個(gè) 要幾百個(gè)燈 ...

方便的話提供一下電路和程序,才能判斷怎么回事

作者: dragon19790000    時(shí)間: 2016-4-16 21:26
初學(xué)者,學(xué)習(xí)中.路過......
作者: lele4608    時(shí)間: 2016-9-23 16:43
liaolinhui 發(fā)表于 2014-8-14 22:16
昨天受到啟發(fā),想吧程序改一下,想把七彩改為多彩,今天在51hei網(wǎng)站發(fā)現(xiàn)有個(gè)類似的
原網(wǎng)址http://www.51he ...

編譯的時(shí)候要注意什么,我怎么好多警告。
作者: hewanlai    時(shí)間: 2016-9-23 17:13

初學(xué)者,學(xué)習(xí)中
作者: 雙菱變頻器周    時(shí)間: 2016-9-23 19:12
樓主好貼,我上次給客戶出貨了剛好還剩下幾個(gè)這個(gè)芯片,明天來(lái)照樣做個(gè)學(xué)習(xí)學(xué)習(xí),燈就沒有三色同體的,不過有做個(gè)紅綠燈,還有燈仔,試試,謝謝樓主提供源程序。
作者: lele4608    時(shí)間: 2016-9-27 10:15
liaolinhui 發(fā)表于 2014-8-14 22:16
昨天受到啟發(fā),想吧程序改一下,想把七彩改為多彩,今天在51hei網(wǎng)站發(fā)現(xiàn)有個(gè)類似的
原網(wǎng)址http://www.51he ...

我在有警告的 前面 加了void 就解決了。謝謝樓主的程序,學(xué)習(xí)中。。。
作者: YZZG2080    時(shí)間: 2017-7-28 22:09
好東西,值得學(xué)習(xí)收藏





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1