RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機(jī)的花樣流水燈設(shè)計(jì)

王子變青蛙_35400519 ? 來(lái)源:王子變青蛙_35400519 ? 作者:王子變青蛙_35400 ? 2022-06-28 10:29 ? 次閱讀

一、前言

二、模塊介紹及原理說(shuō)明

三、硬件連接

四、程序說(shuō)明

五、效果演示

六、代碼鏈接


一、前言

花樣流水燈就是讓LED燈按照一定規(guī)律進(jìn)行各種變化,流水燈在生活中也隨處可見,例如在建筑物的棱角上裝上流水燈,可以起到變換閃爍達(dá)到美不勝收的效果。此設(shè)計(jì)使用16個(gè)LED燈,有四種花樣,循環(huán)往復(fù)顯示,每隔15S左右的時(shí)間進(jìn)行一次花樣變換。也可手動(dòng)切換花樣。單片機(jī)系統(tǒng)裝有按鍵復(fù)位電路可直接復(fù)位電路。

二、模塊介紹及原理說(shuō)明

單片機(jī)最小系統(tǒng):

單片機(jī)最小系統(tǒng)完成系統(tǒng)運(yùn)行的最基本電路,單片機(jī)最小系統(tǒng)可配合其他模塊或自行搭建電路完成各種實(shí)驗(yàn)功能,單片機(jī)最小系統(tǒng)接口設(shè)計(jì)靈活,電路簡(jiǎn)潔,可完成基本的驅(qū)動(dòng)任務(wù)。單片機(jī)最小系統(tǒng)包括晶振電路、復(fù)位電路。復(fù)位電路我使用按鍵復(fù)位,方便系統(tǒng)的重啟。

三、硬件連接

本設(shè)計(jì)使用P0、P2控制LED燈由于LED燈所需電量少,所以不需要加驅(qū)動(dòng)就可以完成顯示。P3^0為按鍵控制端口,用于控制花樣燈的切換。

仿真連接

實(shí)物連接

四、程序說(shuō)明

主程序,用以調(diào)用不同的函數(shù)。

main()
{
  Timer0Init();  //定時(shí)器0初始化
  P2=0x00;//端口初始化
  P0=0x00;
 while(1)
      {
         key();	
				
		 	  if(num==0)
			   {
				   P2=0x00;
                   P0=0x00;
				 }
	       else if(num==1)
		           	num1();//花樣一
		     else if(num==2)         
		           	num2();	//花樣二            
		     else if(num==3)
		           	num3();
		     else if(num==4) 
		         	  num4();     
      }
}

定時(shí)器函數(shù),用來(lái)控制不同花樣切換的時(shí)間,更加準(zhǔn)確,此設(shè)計(jì)控制每種花樣的顯示時(shí)間為15S,可根據(jù)喜好自己調(diào)節(jié)。

void Timer0() interrupt 1
{
	TH0=(65536-6000)/256;	//給定時(shí)器賦初值,定時(shí)10ms
	TL0=(65536-6000)%256;
	ssec++;
	if(ssec>=100)       	  //毫秒	  時(shí)鐘
	  {
		ssec=0;
		sec++; 
		if(sec>=15)			  //秒
		{
			sec=0;
			num++;
		}
		if(num==5)
			num=1;
	  } 
}	

花樣表格函數(shù),將各種花樣流水燈分開放入表格中,在主函數(shù)中進(jìn)行調(diào)用。通過(guò)查表的方式顯示各種花樣,實(shí)用性更強(qiáng),在花樣較多時(shí)也方便進(jìn)行管理?;酉鄬?duì)簡(jiǎn)單,可自己進(jìn)行編寫。

unsigned char code seg1[]={
	            0x7f,0xbf,0xdf,0xef,
						  0xf7,0xfb,0xfd,0xfe,
						  0xff,0xff,0x00,0x00,
						  0x55,0x55,0xaa,0xaa
						  };   //第一種

unsigned char code seg2[]={0x01,0x03,0x07,0x0f,
						  0x1f,0x3f,0x7f,0xff,
						  0xff,0xff,0xff,0xff,
						  0xff,0xff,0xff,0xff
						  };
unsigned char code seg3[]={0x00,0x00,0x00,0x00,
						  0x00,0x00,0x00,0x00,
						  0x80,0xc0,0xe0,0xf0,
						  0xf8,0xfc,0xfe,0xff,
						  };	//第二種


unsigned char code seg4[]={0x01,0x03,0x07,0x0f,
						  0x1f,0x3f,0x7f,0xff,
						  0xff,0x7f,0x3f,0x1f,
						  0x0f,0x07,0x03,0x01
						  };
unsigned char code seg5[]={
	            0x01,0x03,0x07,0x0f,
						  0x1f,0x3f,0x7f,0xff,
						  0xff,0x7f,0x3f,0x1f,
						  0x0f,0x07,0x03,0x01
						  }; //第三種
unsigned char code seg6[]={
        0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,
				0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
				0x81,0x82,0x84,0x88,0x90,0xa0,0xc0,
				0xc1,0xc2,0xc4,0xc8,0xd0,0xe0,
				0xe1,0xe2,0xe4,0xe8,0xf0,
				0xf1,0xf2,0xf4,0xf8,
				0xf9,0xfa,0xfc,
				0xfd,0xfe,
				0xff

						  };
unsigned char code seg7[]={
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
				0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x81,0x41,0x21,0x11,0x09,0x05,0x03,
				0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x83,0x43,0x23,0x13,0x0b,0x07,
				0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x87,0x47,0x27,0x17,0x0f,
				0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x8f,0x4f,0x2f,0x1f,
				0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x9f,0x5f,0x3f,
				0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0xbf,0x7f,
				0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0xff,
				0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
				0xff,0xff,0xff,0xff,0xff,0xff,0xff,
				0xff,0xff,0xff,0xff,0xff,0xff,
				0xff,0xff,0xff,0xff,0xff,
				0xff,0xff,0xff,0xff,
				0xff,0xff,0xff,
				0xff,0xff,
				0xff,
						  }; //第四種

按鍵函數(shù),可以通過(guò)按鍵進(jìn)行LED燈花樣的切換,按鍵函數(shù)中需要加入消抖函數(shù),以防止按鍵誤觸。

void key()
{
	    if(key1==0)  //按鍵控制
	       {
	 	         delay(10);
		         if(key1==0)
		         {
		            num++;
		            if(num==5) num=0;
		         }
			       while(!key1);	 //檢測(cè)按鍵是否松開
	       }
    	
}

五、效果演示

仿真演示https://live.csdn.net/v/219964

實(shí)物演示https://live.csdn.net/v/219965

六、代碼鏈接

歡迎留言評(píng)論分享自己的看法,如有錯(cuò)誤歡迎指正。關(guān)注公眾號(hào):“小小創(chuàng)客”回復(fù)“花樣流水燈“獲得源碼及仿真。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23252

    瀏覽量

    660558
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634631
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123490
  • 流水燈
    +關(guān)注

    關(guān)注

    21

    文章

    432

    瀏覽量

    59692
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于51單片機(jī)的跑馬燈/流水燈系統(tǒng)

    具體實(shí)現(xiàn)功能(1)9種LED流水燈模式通過(guò)按鍵進(jìn)行切換,數(shù)碼管顯示流水燈模式。(2)通過(guò)加減按鍵可以切換每種LED流水燈的速度。仿真演示視頻:設(shè)計(jì)介紹51
    的頭像 發(fā)表于 10-22 14:12 ?208次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的跑馬燈/<b class='flag-5'>流水燈</b>系統(tǒng)

    51單片機(jī)驅(qū)動(dòng)

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)驅(qū)動(dòng).exe》資料免費(fèi)下載
    發(fā)表于 09-20 11:46 ?5次下載

    單片機(jī)POV LED流水燈制作

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)POV LED流水燈制作.docx》資料免費(fèi)下載
    發(fā)表于 05-28 14:34 ?3次下載

    51單片機(jī)流水燈制作

    ?流水燈是學(xué)習(xí)51單片機(jī)的一個(gè)基本項(xiàng)目,是我們對(duì)單片機(jī)IO口輸出認(rèn)識(shí)的基本項(xiàng)目。當(dāng)然學(xué)會(huì)了花樣流水燈
    的頭像 發(fā)表于 02-26 10:06 ?1609次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>流水燈</b>制作

    單片機(jī)編程實(shí)例介紹

    是指使用特定的編程語(yǔ)言編寫控制單片機(jī)工作的程序。 在本文中,將為您提供一些常見的單片機(jī)編程實(shí)例,包括基礎(chǔ)應(yīng)用、傳感器應(yīng)用、通信應(yīng)用等方面的案例。 一、基礎(chǔ)應(yīng)用 LED流水燈 流水燈是最
    的頭像 發(fā)表于 01-16 09:37 ?2611次閱讀

    基于51單片機(jī)的鍋爐控制設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的鍋爐控制設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:22 ?3次下載

    基于51單片機(jī)的火災(zāi)報(bào)警設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的火災(zāi)報(bào)警設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:04 ?3次下載

    基于51單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的倒車?yán)走_(dá)的設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:54 ?3次下載

    基于51單片機(jī)的波形測(cè)量

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的波形測(cè)量.rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:10 ?13次下載

    基于51單片機(jī)的智能魚缸設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的智能魚缸設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-07 09:45 ?4次下載

    基于51單片機(jī)的電機(jī)控制設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的電機(jī)控制設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-03 11:19 ?4次下載

    基于51單片機(jī)的光控小夜燈設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的光控小夜燈設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-03 11:13 ?0次下載

    stc51單片機(jī)怎么燒錄

    燒錄STC51單片機(jī)是一項(xiàng)常見的操作,下面將詳細(xì)介紹如何進(jìn)行燒錄以及所需的步驟和工具。本文將按照如下順序進(jìn)行詳解: STC51單片機(jī)簡(jiǎn)介 硬件燒錄工具介紹 硬件燒錄步驟 軟件燒錄工具介
    的頭像 發(fā)表于 01-02 17:41 ?3364次閱讀

    基于51單片機(jī)的電子鬧鐘設(shè)計(jì)

    基于51單片機(jī)的電子鬧鐘設(shè)計(jì)(實(shí)物)
    發(fā)表于 01-02 09:58 ?8次下載

    51單片機(jī)定時(shí)器定時(shí)1秒程序流水燈結(jié)果分析

    流水燈的設(shè)計(jì)原理、實(shí)現(xiàn)步驟和結(jié)果分析。 一、設(shè)計(jì)原理 在51單片機(jī)中,定時(shí)器常用的工作方式有兩種:定時(shí)器模式和計(jì)數(shù)器模式。定時(shí)器模式是指定時(shí)器的計(jì)數(shù)值遞增至最大值后重新計(jì)數(shù),從而周期性產(chǎn)生中斷;計(jì)數(shù)器模式是指定時(shí)器的
    的頭像 發(fā)表于 12-26 14:57 ?7152次閱讀
    RM新时代网站-首页