久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17717|回復: 23
打印 上一主題 下一主題
收起左側

stc51f104w制作的七彩燈

  [復制鏈接]
跳轉到指定樓層
樓主
前天看了nniipf的帖子才知道原來stc也有8腳的單片機,之前買了2塊pic的由于要編程器所以被丟一邊了,看到STC也有于是從淘寶買了幾片回來研究。申通也夠給力,今天早上收到貨了,于是弄了個最小系統,說是最小系統其實也就是在電源端接2個電容而已。
上面的事DIP封裝的,下面是SOP封裝的,上面左邊的是下載用的,右邊呢就是今天的主角七彩燈。STC下載很方便的,直接用串口就可以了,看圖2.
好了,接下來先用STC-ISP檢測MCP選項
正在檢測目標單片機 ...
  單片機型號: STC15F104W
  固件版本號: 7.1.4Q

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

  單片機型號: STC15F104W
  固件版本號: 7.1.4Q

操作成功 !

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

}


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

}

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

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

IMAG0011.jpg

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

IMAG0012.jpg

評分

參與人數 3威望 +17 黑幣 +15 收起 理由
wangyin + 5 + 5 很給力!
jiege + 2 很好 我很喜歡 高手啊
admin + 10 + 10 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:58502 發表于 2014-8-13 22:33 | 只看該作者
又重新插了幾次居然寫入成功了,估計是我的IC插座氧化的原因,畢竟是5,6年前的了。

正在檢測目標單片機 ...
  單片機型號: STC15F104W
  固件版本號: 7.1.4Q

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

  單片機型號: STC15F104W
  固件版本號: 7.1.4Q

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

正在重新握手 ... 成功                        [0.297"]
當前的波特率: 38400
正在擦除目標區域 ... 完成 !                [0.625"]
正在下載用戶代碼 ... 完成 !                [0.235"]
正在設置硬件選項 ... 完成 !                [0.062"]

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

  . 芯片出廠序列號 : 0C0000160813FC
  單片機型號: STC15F104W
  固件版本號: 7.1.4Q

  . 用戶設定頻率: 11.059MHz
  . 調節后的頻率: 11.054MHz
  . 頻率調節誤差: -0.043%

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

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

IMAG0013.jpg
回復

使用道具 舉報

板凳
ID:1 發表于 2014-8-13 23:23 | 只看該作者
很好的制作  謝謝分享
回復

使用道具 舉報

地板
ID:51088 發表于 2014-8-13 23:25 | 只看該作者
太牛逼了,問一下 這個燈有幾個引腳? 為什么可以發出七彩色呢?
回復

使用道具 舉報

5#
ID:58502 發表于 2014-8-13 23:38 | 只看該作者
jiege 發表于 2014-8-13 23:25
太牛逼了,問一下 這個燈有幾個引腳? 為什么可以發出七彩色呢?

這燈有4個引腳,一個共陽極,一個綠燈,一個藍燈,一個紅燈。分別接在P3.0,P3.1,P3.2,通過P3.0-P3.2輸出000-111實現分別點亮一個燈(紅,綠,藍),同時點亮兩個燈(紅綠,紅藍,綠藍)。同時點亮三個燈(紅綠藍),同時熄滅等八種狀態。如果通過pwm改變3燈的亮度的話理論上是有無數種顏色的,要知道彩電就是通過這三基色來顯示各種各樣的顏色的
回復

使用道具 舉報

6#
ID:65053 發表于 2014-8-14 11:36 | 只看該作者
很好很詳細
回復

使用道具 舉報

7#
ID:58502 發表于 2014-8-14 22:16 | 只看該作者
昨天受到啟發,想吧程序改一下,想把七彩改為多彩,今天在51hei網站發現有個類似的
原網址http://www.zg4o1577.cn/mcu/3973.html,我拿來修改了下,做成了七彩燈2代
只改動了頭文件和IO口設置
#include <STC15F104E.H> //C:\Keil\C51\INC\STC目錄居然沒有STC15F104W的,所以用STC15F104E的


sbit g1=P3^0;   //綠色 這個改成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;
}
}

}
}
回復

使用道具 舉報

8#
ID:51024 發表于 2014-8-15 00:42 | 只看該作者
好久沒有看到這么牛的制作了 非常好 非常詳細  值得學習
回復

使用道具 舉報

9#
ID:2318 發表于 2014-8-15 12:23 來自手機 | 只看該作者
太牛逼了,,樓主問一下這種燈叫什么名字到哪里有賣的呀?我也想親手制作一個
回復

使用道具 舉報

10#
ID:58502 發表于 2014-8-15 23:32 | 只看該作者
本帖最后由 liaolinhui 于 2014-8-15 23:59 編輯

淘寶應該有賣,才幾毛錢一個(在淘寶搜三色LED),15f104w要1塊多,洞洞板5X7的3毛錢(只用到一小塊,一塊5X7的起碼可以做十幾個),usb轉ttl線(下載用)10塊錢(這個最貴,不過買了以后可以經常用到,)三色LED分共陽和共陰兩種,用51單片機IO口直接驅動的話買共陽的好點,因為51單片機低電平輸出能力要比高電平好,共陽三色LED的公共端接VCC,其他三腳通過限流電阻接IO口,建議紅色用1k,藍綠用560左右,因為如果三個都用同樣的電阻紅色會太亮,其他兩個顏色就不明顯,假如錢多的話可以買大功率的LED,那樣的話這玩意就變成舞臺燈了
回復

使用道具 舉報

11#
ID:65234 發表于 2014-8-21 17:57 | 只看該作者
我喜歡
回復

使用道具 舉報

12#
ID:64246 發表于 2014-9-5 13:22 | 只看該作者
還行挺經典的啊
回復

使用道具 舉報

13#
ID:65837 發表于 2014-10-9 16:07 | 只看該作者
樓主很行啊,不錯,在玩中學習!!!
回復

使用道具 舉報

14#
ID:70769 發表于 2014-12-21 04:50 | 只看該作者
很好,正需要
回復

使用道具 舉報

15#
ID:66287 發表于 2015-6-2 10:08 | 只看該作者
樓主真牛,實際上STC15f104w用途很大,我就用來代替過著名的555集成塊
回復

使用道具 舉報

16#
ID:86203 發表于 2015-7-20 00:04 | 只看該作者
高手老師 我遇上一個難題了 我是做水下LED的 也有7彩 我是不會寫  現在是別人寫的 就是我們這個 要幾百個燈同時上電,一定要同時變。現在就是遇上了不同步。當噴泉水泵一啟動 就開始亂變了 叫這寫程序的改下 他說只能這樣 把我都氣暈了     
回復

使用道具 舉報

17#
ID:85435 發表于 2015-7-20 08:30 來自手機 | 只看該作者
新手前來學習,目前想做一個光立方
回復

使用道具 舉報

18#
ID:58502 發表于 2015-7-20 23:53 | 只看該作者
重慶水下LED燈 發表于 2015-7-20 00:04
高手老師 我遇上一個難題了 我是做水下LED的 也有7彩 我是不會寫  現在是別人寫的 就是我們這個 要幾百個燈 ...

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

使用道具 舉報

19#
ID:112693 發表于 2016-4-16 21:26 | 只看該作者
初學者,學習中.路過......
回復

使用道具 舉報

20#
ID:139028 發表于 2016-9-23 16:43 | 只看該作者
liaolinhui 發表于 2014-8-14 22:16
昨天受到啟發,想吧程序改一下,想把七彩改為多彩,今天在51hei網站發現有個類似的
原網址http://www.51he ...

編譯的時候要注意什么,我怎么好多警告。
回復

使用道具 舉報

21#
ID:140236 發表于 2016-9-23 17:13 | 只看該作者

初學者,學習中
回復

使用道具 舉報

22#
ID:140245 發表于 2016-9-23 19:12 | 只看該作者
樓主好貼,我上次給客戶出貨了剛好還剩下幾個這個芯片,明天來照樣做個學習學習,燈就沒有三色同體的,不過有做個紅綠燈,還有燈仔,試試,謝謝樓主提供源程序。
回復

使用道具 舉報

23#
ID:139028 發表于 2016-9-27 10:15 | 只看該作者
liaolinhui 發表于 2014-8-14 22:16
昨天受到啟發,想吧程序改一下,想把七彩改為多彩,今天在51hei網站發現有個類似的
原網址http://www.51he ...

我在有警告的 前面 加了void 就解決了。謝謝樓主的程序,學習中。。。
回復

使用道具 舉報

24#
ID:147018 發表于 2017-7-28 22:09 | 只看該作者
好東西,值得學習收藏
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产乱码精品一区二三赶尸艳谈 | 国产精品综合视频 | 久久精品网 | 色网站入口| 天天综合久久 | 99精品99| 黑人巨大精品欧美一区二区一视频 | 啪啪av| 福利社午夜影院 | 国产在线中文字幕 | 精品成人佐山爱一区二区 | 天天av天天好逼 | 精品乱码一区二区 | 欧美日韩精品在线一区 | 国产成人99久久亚洲综合精品 | 美女视频网站久久 | 色综合天天综合网国产成人网 | 在线观看www高清视频 | 国产激情偷乱视频一区二区三区 | 国产1区 | 精品96久久久久久中文字幕无 | 羞羞视频网站免费观看 | 亚洲高清在线观看 | 久久99精品久久久久久国产越南 | 精品国产一区二区国模嫣然 | 久久亚洲经典 | 亚洲高清视频一区 | 久久亚洲一区二区三 | 久久99网 | 国产精品精品久久久 | 日本精品久久久久久久 | 欧美中文字幕一区二区三区亚洲 | 久久久亚洲精品视频 | 日韩中文字幕在线观看视频 | 亚洲福利av | 精品熟人一区二区三区四区 | 国产日韩欧美在线观看 | 一级欧美一级日韩片免费观看 | 中文字幕1区2区3区 日韩在线视频免费观看 | 日本中文在线视频 | 免费国产视频在线观看 |