国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于51單片機的花樣流水燈設計

王子變青蛙_35400519 ? 來源:王子變青蛙_35400519 ? 作者:王子變青蛙_35400 ? 2022-06-28 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

二、模塊介紹及原理說明

三、硬件連接

四、程序說明

五、效果演示

六、代碼鏈接


一、前言

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

二、模塊介紹及原理說明

單片機最小系統:

單片機最小系統完成系統運行的最基本電路,單片機最小系統可配合其他模塊或自行搭建電路完成各種實驗功能,單片機最小系統接口設計靈活,電路簡潔,可完成基本的驅動任務。單片機最小系統包括晶振電路、復位電路。復位電路我使用按鍵復位,方便系統的重啟。

三、硬件連接

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

仿真連接

實物連接

四、程序說明

主程序,用以調用不同的函數。

main()
{
  Timer0Init();  //定時器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();     
      }
}

定時器函數,用來控制不同花樣切換的時間,更加準確,此設計控制每種花樣的顯示時間為15S,可根據喜好自己調節。

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

花樣表格函數,將各種花樣流水燈分開放入表格中,在主函數中進行調用。通過查表的方式顯示各種花樣,實用性更強,在花樣較多時也方便進行管理。花樣相對簡單,可自己進行編寫。

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,
						  }; //第四種

按鍵函數,可以通過按鍵進行LED燈花樣的切換,按鍵函數中需要加入消抖函數,以防止按鍵誤觸。

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

五、效果演示

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

實物演示https://live.csdn.net/v/219965

六、代碼鏈接

歡迎留言評論分享自己的看法,如有錯誤歡迎指正。關注公眾號:“小小創客”回復“花樣流水燈“獲得源碼及仿真。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    243

    文章

    24596

    瀏覽量

    690850
  • 單片機
    +關注

    關注

    6076

    文章

    45495

    瀏覽量

    670355
  • 51單片機
    +關注

    關注

    278

    文章

    5714

    瀏覽量

    134327
  • 流水燈
    +關注

    關注

    21

    文章

    435

    瀏覽量

    61804
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何入門單片機/嵌入式?

    ,比如液晶屏,步進電機,紅外,語音,以太網等等,理論上,學習任何一款單片機產品的使用,只要能點亮流水燈(使用GPIO),就算半只腳進門了,剩下的就是學一學那些外設的寄存器如何使用,常見的有UART,i2c
    發表于 02-02 06:57

    學習單片機快速方法

    要知道流水燈是怎么和單片機連接的(一般學習板都配有電路圖)。然后你要能編寫不同的程序去控制LED的亮滅,花樣就隨你遍了。 有時間的話可以去網上下載些流水燈的源程序看看。看看人家有什么
    發表于 01-14 07:42

    51單片機RS485編程實例資料

    詳細介紹51單片機RS485通信接線和編程代碼
    發表于 10-20 14:57 ?4次下載

    單片機最小系統工作原理及搭建

    單片機最小系統是指使單片機正常運行所需的最簡電路配置,它是所有單片機應用的開發基礎。以下是其核心組成、工作原理及搭建指南: 一、最小系統核心組成 單片機芯片 常見型號 :STC89C
    的頭像 發表于 08-11 10:55 ?3520次閱讀
    <b class='flag-5'>單片機</b>最小系統工作原理及搭建

    怎么測單片機系統頻率

    單片機系統頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統頻率對單片機應用開發、程序調試和性能優化具有重要意義。測量
    的頭像 發表于 07-25 11:39 ?784次閱讀

    單片機怎么驅動電機?

    在各類自動化設備和智能裝置中,電機是重要的執行部件,而單片機作為控制核心,需要通過特定的方式驅動電機運轉。單片機驅動電機并非直接連接即可,而是要根據電機類型和功率,搭配合適的驅動電路,才能實現穩定
    的頭像 發表于 07-25 09:31 ?902次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內部存儲單元,讓單片機按照預設邏輯工作的過程,是單片機應用開發中不可或缺的環節。無論是簡單的燈光控制程序,還是復雜的工業控制算法,都需要通過燒
    的頭像 發表于 07-23 11:47 ?1286次閱讀

    大一暑假適合學51單片機嗎?

    大一暑假學 51 單片機,簡直是老天爺賞飯吃的黃金窗口。我當時就是靠著這兩個月,把從課本上看來的 C 語言指針、循環語句,變成了能讓 LED 按節奏跳舞的真本事。
    的頭像 發表于 07-16 11:42 ?604次閱讀
    大一暑假適合學<b class='flag-5'>51</b><b class='flag-5'>單片機</b>嗎?

    AT89C51 單片機中文資料

    電子發燒友網站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發表于 06-24 15:29 ?1次下載

    圖解單片機功能與應用(完整版)

    從基礎知識的介紹出發,圖文并茂,直觀、系統地介紹了單片機的內部結構、工作原理和應用技巧。全書分為10章,內容包括51單片機編程資源圖解、51單片機
    發表于 06-16 16:52

    2.4寸TFT彩屏配套測試程序-51單片機

    如題,2.4寸TFT彩屏配套測試程序-51單片機
    發表于 06-04 16:26 ?0次下載

    基于51單片機的溫濕度檢測與調節系統電路圖

    電子發燒友網站提供《基于51單片機的溫濕度檢測與調節系統電路圖》資料免費下載
    發表于 05-12 17:23 ?1次下載

    51+單片機TCP-IP+協議棧ZLIP源碼

    概述 單片機上網技術,是當前的一個熱門技術。單片機上網技術中的一個重要部分是在單片上實現 TCP/IP 協議棧。現在可獲得的 TCP/IP 源代碼一般并不為 51
    發表于 04-22 15:11

    新概念51單片機C語言教程入門、提高、開發、拓展全攻略

    庫函數實現流水燈 第2篇 內外部資源操作篇 3.1 數碼管顯示原理 3.2 數碼管靜態顯示 3.3 數碼管動態顯示 3.4 中斷概念 3.5 單片機的定時器中斷 4.1 獨立鍵盤檢測 4.2 矩陣鍵盤
    發表于 04-15 13:57

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動
    發表于 04-14 15:05 ?7次下載