精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

數碼管循環顯示數字的教程

王子變青蛙_35400519 ? 來源: 王子變青蛙_35400519 ? 作者: 王子變青蛙_3540 ? 2022-07-09 16:54 ? 次閱讀

目錄

一、前言

二、芯片使用

1、74hc245

2、74ls138譯碼器

三、硬件連接

四、軟件代碼

五、效果展示

六、代碼鏈接

一、前言

數碼管進行顯示成果后,可根據自己的想法進行改進。本設計采用八位數碼管進行循環顯示0~f,其中涉及到段碼及位碼的調用,可更深一步的理解數碼管的使用。

二、芯片使用

1、74hc245

poYBAGLJQaSAMmaqAACloIAsNNU953.png

本設計中數碼管的段選使用74hc245進行驅動。可以為數碼管提供足夠且穩定的電壓,數碼管與74hc245芯片之間需加電阻進行分壓以保護數碼管不會因為電壓過大而燒毀。

芯片引腳功能:

第1腳DIR,為輸入輸出端口轉換用, DIR=“1”高電平時信號由“A”端輸入“B”端輸出, DIR=“0”低電平時信號由“B”端輸入“A”端輸出。

第2~9腳“A”信號輸入輸出端,A1=B1﹑﹑﹑﹑﹑﹑A8=B8,A1與B1是一組,如果DIR=“1”OE=“0”則A1輸入B1輸出,其它類同。如果DIR=“0”OE=“0”則B1輸入A1輸出,其它類同。 第11~18腳“B”信號輸入輸出端,功能與“A”端一樣,不在描述。

第19腳G,使能端,若該腳為“1”A/B端的信號將不導通,只有為“0”時A/B端才被啟用,該腳也就是起到開關的作用

第10腳GND,電源地。

第20腳VCC,電源正極。

序號 名稱 功能
1 DIR 輸入輸出轉換端口,高電平A到B,低電平B到A。
2~9 A0~A7 輸入輸出端口
10 GND 電源負極
11~18 B7~B0 輸入輸出端口
19 OE 使能端,高電平信號不導通,低電平導通
20 VCC 電源正極

2、74ls138譯碼器

pYYBAGLJQb2ADxEYAAB235Kl8gw368.png

本設計中數碼管的位選使用138譯碼器進行驅動,使用的數碼管為共陰極數碼管。

芯片引腳功能:

A0~A2對應Y0——Y7;A0,A1,A2以二進制形式輸入,然后轉換成[十進制,對應相應Y的序號輸出低電平,其他均為高電平;

序號 名稱 功能
1~3 A0、A1、A2 地址輸入端
4、5 E3、E2 選通端(低電平有效)
6 E1 選通端(高電平有效)
8 GND 電源負極
7、9~15 Y7~Y0 輸出端
16 VCC 電源正極

三、硬件連接

實物圖

pYYBAGLJQcWAA-w-AANceRovvuU800.png

原理圖

pYYBAGLJQc-AIE5dAAB7FAnh7nk822.png

最小單片機系統

pYYBAGK9V16AYE5CAABLgft5QfU993.png

驅動電路

poYBAGLJQeGABHm-AAAmR6dO3MM230.png

位碼控制電路

poYBAGLJQeeAC3fDAAAb27PFs5Q403.png

四、軟件代碼

pYYBAGLJQe-Ad2x0AACo-2yFlqc260.png

main主函數

主函數較為簡單,對數碼管顯示函數的調用,以及定時器函數的初始化。

void main()
{	
	Timer0Init();  //定時器0初始化
	while(1)
	{	
		DigDisplay();  //數碼管顯示函數	
	}		
}

void Timer0() interrupt 1

定時器函數,用于調整循環的快慢以及顯示數字的變化

TH0=(65536-6000)/256;	//給定時器賦初值,定時10ms
	TL0=(65536-6000)%256;
	a--;
	  if(a==0)
	    {
				j++;
			  a=100;
			  if(j==16)
	       {
		       j=0;
	       }
		   }	 

大致講解:在進行位選后,相對應的段碼就會選出來。程序中i用于位選。對應的段碼是m。m=j+i是由于0~f有16位

數碼管段碼、位碼顯示函數。

void DigDisplay()
{
	u8 i;
	for(i=0;i<8;i++)
	{
		switch(i)	 //位選,選擇點亮的數碼管,
		{
			case(0):
				LSA=0;LSB=0;LSC=0; break;//顯示第0位
			case(1):
				LSA=1;LSB=0;LSC=0; break;//顯示第1位
			case(2):
				LSA=0;LSB=1;LSC=0; break;//顯示第2位
			case(3):
				LSA=1;LSB=1;LSC=0; break;//顯示第3位
			case(4):
				LSA=0;LSB=0;LSC=1; break;//顯示第4位
			case(5):
				LSA=1;LSB=0;LSC=1; break;//顯示第5位
			case(6):
				LSA=0;LSB=1;LSC=1; break;//顯示第6位
			case(7):
				LSA=1;LSB=1;LSC=1; break;//顯示第7位	
		}
		m=j+i;
		if(m>=16)
			m=m-16;
		P0=smgduan[m];//發送段碼
		delay(100); //間隔一段時間掃描	
		P0=0x00;//消隱
	}
}

五、代碼鏈接

關注公眾號“小小創客”回復“數碼管循環顯示數字”獲得代碼及仿真,如有錯誤歡迎指正。

審核編輯 黃昊宇

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

    關注

    6032

    文章

    44517

    瀏覽量

    632989
  • 數碼管
    +關注

    關注

    32

    文章

    1874

    瀏覽量

    90943
  • 數碼管驅動
    +關注

    關注

    1

    文章

    17

    瀏覽量

    4583
收藏 人收藏

    評論

    相關推薦

    基于單片機的數碼管電路設計

    前面一課通過流水燈實驗,學會了流水燈電路模型設計,掌握了循環移位和時間延遲算法的程序編寫。本次實驗完成數碼管顯示電路模型設計和編程,在實驗過程中,學習數碼管
    的頭像 發表于 10-31 14:57 ?1962次閱讀
    基于單片機的<b class='flag-5'>數碼管</b>電路設計

    基于labview的數碼管顯示

    自己用labview做的一個小程序,用數碼管循環顯示數字0-9,有需要的朋友可以下載。
    發表于 06-03 12:42

    哪位大神幫我看看代碼出了什么問題

    想做一個按鍵控制四位數碼管按鍵按一下 數碼管循環顯示數字 再按一下數碼管歸零 哪位大神幫我看看
    發表于 06-06 20:07

    4個數碼管循環顯示數字有幾個需要注意的點

    單片機–4個數碼管循環顯示數字同時LED燈循環左移顯示這里有幾個需要注意的點:1.如果讓8個
    發表于 11-29 07:50

    如何利用89C51數碼管循環顯示數字0~15

    89C51數碼管循環顯示數字0~15,使用Proteus經行仿真。需要材料:??數碼管、AT89C51、最小系統電路、代碼如下://----
    發表于 12-08 08:28

    掌握定時器的使用和編程方法

    六位數碼管均為共陰極,其中LED1~LED6為公共端,進行位選時需將其接入低電平;LEDA~LEDG、LED-DP為8段數碼管,分別將其接入高電平時,可點亮各段。說明:使用時,去掉電路板上數碼管右側的跳線。三、實驗內容(1)利用
    發表于 01-17 06:05

    單只數碼管循環顯示0-9

    單片機C語言程序設計實例—基于8051+Proteus仿真-單只數碼管循環顯示0-9。
    發表于 09-24 11:18 ?174次下載

    LED數碼管顯示控制實驗

    實驗 LED數碼管顯示控制實驗一、實驗目的1.學會用PLC控制LED數碼管。2.采用循環掃描
    發表于 09-30 13:18 ?1.4w次閱讀
    LED<b class='flag-5'>數碼管</b><b class='flag-5'>顯示</b>控制實驗

    數碼管循環顯示實驗

    數碼管循環顯示實驗 數碼管循環顯示實驗一、實驗目的在實際系統中,
    發表于 03-23 10:42 ?2361次閱讀

    使用51單片機讓數碼管循環顯示數字的電路圖和程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機讓數碼管循環顯示數字的程序免費下載。
    發表于 08-16 17:32 ?5次下載
    使用51單片機讓<b class='flag-5'>數碼管</b><b class='flag-5'>循環</b><b class='flag-5'>顯示</b><b class='flag-5'>數字</b>的電路圖和程序免費下載

    51單片機攻略—外部中斷、定時器

    一、程序實戰(四)中斷相關基礎概念:1、中斷發生,中斷響應,中斷返回的定義2、中斷可嵌套執行3、中斷有優先級,排序如下:三個原則,有點意思:1、外部中斷主程序:數碼管循環顯示數字中斷子
    發表于 11-17 11:06 ?9次下載
    51單片機攻略—外部中斷、定時器

    單片機--4個數碼管循環顯示數字

    單片機–4個數碼管循環顯示數字同時LED燈循環左移顯示這里有幾個需要注意的點:1.如果讓8個
    發表于 11-20 10:36 ?4次下載
    單片機--4個<b class='flag-5'>數碼管</b><b class='flag-5'>循環</b><b class='flag-5'>顯示</b><b class='flag-5'>數字</b>

    89C51數碼管循環顯示數字0~15

    89C51數碼管循環顯示數字0~15,使用Proteus經行仿真。需要材料:??數碼管、AT89C51、最小系統電路、代碼如下://----
    發表于 11-25 13:06 ?25次下載
    89C51<b class='flag-5'>數碼管</b><b class='flag-5'>循環</b><b class='flag-5'>顯示</b><b class='flag-5'>數字</b>0~15

    《單片機》實驗——實驗5 定時器及數碼顯示實驗

    六位數碼管均為共陰極,其中LED1~LED6為公共端,進行位選時需將其接入低電平;LEDA~LEDG、LED-DP為8段數碼管,分別將其接入高電平時,可點亮各段。說明:使用時,去掉電路板上數碼管右側的跳線。三、實驗內容(1)利用
    發表于 01-18 10:13 ?3次下載
    《單片機》實驗——實驗5 定時器及<b class='flag-5'>數碼</b><b class='flag-5'>顯示</b>實驗

    8個數碼管循環顯示數字

    8個數碼管循環顯示數字
    發表于 10-20 10:15 ?4次下載