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

QQ登錄

只需一步,快速開(kāi)始

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

面包板布局51單片機(jī)最小系統(tǒng)實(shí)現(xiàn)流水燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
使用的元器件:
1、STC89C52RC單片機(jī)一個(gè)
2、11.0592晶振一個(gè)
3、30pf磁片電容兩只
4、1K電阻4個(gè)
5、led發(fā)光二級(jí)管4只
6、3.3/5V電源模塊一個(gè)
7、面包板一個(gè)
8、連接導(dǎo)線(xiàn)數(shù)根

實(shí)現(xiàn)的功能:
流水燈及閃爍效果

目的:初學(xué)者都是從51單片機(jī)開(kāi)發(fā)板開(kāi)始,開(kāi)發(fā)板集成了很多功能,學(xué)習(xí)者在開(kāi)發(fā)板上使用各種功能可能得心應(yīng)手,但離開(kāi)了開(kāi)發(fā)板卻是一片茫然,本貼旨在給像我的一樣茫然者一點(diǎn)小小啟發(fā),大神勿噴,多多指正。

制作出來(lái)的實(shí)物圖如下:


單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit led0=P1^0;
  5. sbit led1=P1^1;
  6. sbit led2=P1^2;
  7. sbit led3=P1^3;
  8. /*------------------------------------------------
  9.                 延時(shí)子程序
  10. ------------------------------------------------*/
  11. void delay(uint cnt)
  12.         {
  13.                 while(--cnt);
  14.         }

  15. /*----------------------------------
  16.            led燈閃爍子程序
  17. -----------------------------------*/

  18. void led_ShanShuo()
  19. {
  20.         uchar i;
  21.         for(i=0;i<3;i++)
  22.         {
  23.                 P1=0x00;
  24.                 delay(50000);
  25.                 P1=0xff;
  26.                 delay(50000);
  27.         }
  28. }

  29. /*------------------------------
  30.                  流水燈子程序
  31. ------------------------------*/

  32. void led_LiuShuiDeng1()
  33. {
  34.         led0=0;
  35.         delay(50000);
  36.         led0=1;
  37.         led1=0;
  38.         delay(50000);
  39.         led1=1;
  40.         led2=0;
  41.         delay(50000);
  42.         led2=1;
  43.         led3=0;
  44.         delay(50000);
  45.         led3=1;
  46.         delay(50000);
  47. }

  48. /*------------------------------------------------
  49.         利用循環(huán)移位方式實(shí)現(xiàn)LED流水燈效果子程序
  50. --------------------------------------------------*/
  51. void led_LiuShuiDeng2()
  52. {
  53.         P1=0xfe;//給初始化值 換算成二進(jìn)制是 1111 1110
  54.         while(1)
  55.         {        delay(50000);//延時(shí)程序
  56.                 P1<<=1;//左移一位 該語(yǔ)句等效于 P1=P1<<1
  57.                 P1|=0x01;//最后一位補(bǔ) 1,該語(yǔ)句等效于 P1=P1|0x01 符號(hào)"|"表示"或"
  58.                 if(P1==0xf7)      //檢測(cè)是否移到最左端?"=="表示檢測(cè)符號(hào) 2 端的值是否相等
  59.                         {
  60.                                 delay(50000);
  61.                                 P1=0xfe; //重新賦值
  62.                         }
  63.          }
  64. }

  65. void main()
  66. {
  67.         while(1)
  68.         {
  69.                 led_LiuShuiDeng1();
  70.                 led_ShanShuo();
  71.         }

  72. }
復(fù)制代碼
視頻: 視頻.7z (2.89 MB, 下載次數(shù): 11)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:16255 發(fā)表于 2022-10-29 09:50 | 只看該作者
既然都做了,LED燈才用4個(gè)?為什么不用8個(gè)?
回復(fù)

使用道具 舉報(bào)

板凳
ID:1046111 發(fā)表于 2022-10-29 10:22 | 只看該作者
mengsiu 發(fā)表于 2022-10-29 09:50
既然都做了,LED燈才用4個(gè)?為什么不用8個(gè)?

能說(shuō)明問(wèn)題就行了,4個(gè)8個(gè)就那么回事,都一樣
回復(fù)

使用道具 舉報(bào)

地板
ID:88256 發(fā)表于 2022-10-29 10:30 | 只看該作者
這是教學(xué)帖,下一步就是增加24C02,流水花樣由24C02存儲(chǔ)器提供,電腦進(jìn)行流水花樣編程寫(xiě)入24C02
回復(fù)

使用道具 舉報(bào)

5#
ID:1046111 發(fā)表于 2022-10-29 16:59 | 只看該作者
hhdsdy 發(fā)表于 2022-10-29 10:30
這是教學(xué)帖,下一步就是增加24C02,流水花樣由24C02存儲(chǔ)器提供,電腦進(jìn)行流水花樣編程寫(xiě)入24C02

算不得什么教學(xué)貼,自己也是小學(xué)生,心血來(lái)潮學(xué)習(xí)51單片機(jī),自己想到個(gè)啥就想去試試,算是給自己留下點(diǎn)學(xué)習(xí)的足跡吧。
回復(fù)

使用道具 舉報(bào)

6#
ID:1080559 發(fā)表于 2023-5-28 23:57 | 只看該作者
想要視頻
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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