国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

51單片機矩陣鍵盤——數(shù)碼管顯示

這篇具有很好參考價值的文章主要介紹了51單片機矩陣鍵盤——數(shù)碼管顯示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?1.前言

當(dāng)我們熟悉了數(shù)碼管的位選與段選,并了解的矩陣鍵盤的掃描之后就可以編寫程序了。

1.1實驗現(xiàn)象

按下矩陣鍵盤S1并松開,數(shù)碼管第一位(LED8)顯示0;按下矩陣鍵盤S2并松開,數(shù)碼管第一位顯示1;...按下矩陣鍵盤S16并松開,數(shù)碼管第一位顯示F;

1.2工作原理

矩陣鍵盤掃描(輸入掃描)
?? ?原理:讀取第1行(列)→讀取第2行(列) →讀取第3行(列) → ……,然后快速循環(huán)這個過程,最終實現(xiàn)所有按鍵同時檢測的效果

https://blog.csdn.net/YLG_lin/article/details/126429384?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

數(shù)碼管的顯示(位選,段選)

https://blog.csdn.net/YLG_lin/article/details/126406076?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen文章來源地址http://www.zghlxwxcb.cn/news/detail-507289.html

2.源碼

#include<regx52.h>
//數(shù)碼管段碼表,123456789AbcdEF;

unsigned char Table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
				                    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};	

void Delay(unsigned int xms)//延時函數(shù)
{
	unsigned char i, j;
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}				 

unsigned char MatrixKey()//按鍵掃描(逐列掃描)
{                         
	unsigned char KeyNumber=0;
	
	P1=0xFF;
	P1_3=0;
	if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=1;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=5;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=9;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=13;}
	
	P1=0xFF;
	P1_2=0;
	if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=2;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=6;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=10;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=14;}
	
	P1=0xFF;
	P1_1=0;
	if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=3;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=7;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=11;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=15;}
	
	P1=0xFF;
	P1_0=0;
	if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=4;}
	if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=8;}
	if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=12;}
	if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=16;}
	
	return KeyNumber;
}

void Xian_Shi(KeyNum)
{
		
		P2_4=1;P2_3=1;P2_2=1;//選中第一位(LED8)
		P0=Table[KeyNum-1];	//數(shù)字的首元素為Table[0];
		Delay(1);
}

				
void main()
{
	while(1)
	{
		unsigned char KeyNum=MatrixKey();//不斷循環(huán)掃描
		if(KeyNum)	//判斷是否有按鍵按下,如果有就顯示					
		{
			Xian_Shi(KeyNum);		
		}	
	}		
}

到了這里,關(guān)于51單片機矩陣鍵盤——數(shù)碼管顯示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【51單片機】矩陣按鍵實現(xiàn)數(shù)碼管顯示

    【51單片機】矩陣按鍵實現(xiàn)數(shù)碼管顯示

    閑的沒事看一看玩一玩········· 矩陣按鍵 數(shù)碼管是一種導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。按發(fā)光二極管單元連接方式可分為共陽極數(shù)碼管和共陰極數(shù)碼管 共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成共陰極的數(shù)碼管,共陰極的數(shù)碼管在應(yīng)用時將公共

    2024年02月02日
    瀏覽(24)
  • 51單片機使用TM1638驅(qū)動的數(shù)碼管鍵盤模塊

    51單片機使用TM1638驅(qū)動的數(shù)碼管鍵盤模塊

    前幾天差不多把清翔的視頻教程寫完了,然后玩了兩天,這次準(zhǔn)備把以前買的TM1638芯片驅(qū)動的數(shù)碼管按鍵模塊用在51單片機上。 這個模塊我在pdd上買的,用了2塊的優(yōu)惠券后付款7元包郵,價格還行吧,對比了下這個價格幾乎就是最低價了。TM1638芯片都要1塊多,再加上PCB,焊接

    2024年02月03日
    瀏覽(25)
  • 51單片機——數(shù)碼管、按鍵、矩陣按鍵C語言入門編程

    51單片機——數(shù)碼管、按鍵、矩陣按鍵C語言入門編程

    目錄 數(shù)碼管: 1.靜態(tài)數(shù)碼管:第二位數(shù)碼管顯示0 2.動態(tài)數(shù)碼管:每一位數(shù)碼管依次顯示對應(yīng)位數(shù) 按鍵: 1.獨立按鍵:按下按鍵對應(yīng)LED亮滅 矩陣按鍵: 1.矩陣按鍵:按下的每個按鍵,數(shù)碼管顯示對應(yīng)鍵碼 ???????? 數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管

    2024年01月23日
    瀏覽(23)
  • 這才是單片機44矩陣鍵盤控制數(shù)碼管最簡單的寫法

    這才是單片機44矩陣鍵盤控制數(shù)碼管最簡單的寫法

    這才是單片機4*4矩陣鍵盤控制數(shù)碼管最簡單的寫法 ///插播一條:我自己在今年年初錄制了一套還比較系統(tǒng)的入門單片機教程,想要的同學(xué)找我拿就行了免費的,私信我就可以哦~點我頭像黑色字體加我地球呺也能領(lǐng)取哦。最近比較閑,帶做畢設(shè),帶學(xué)生參加省級或以上比賽/

    2023年04月19日
    瀏覽(23)
  • 51單片機---編程實現(xiàn)流水燈----鍵盤控制數(shù)碼管顯示--利用74LS164擴展并行輸出口---定時中斷方式驅(qū)動一個數(shù)碼管

    目錄 基于51單片機,用c語言編程實現(xiàn)流水燈 代碼: 使用C語言編寫的基于51單片機的鍵盤控制數(shù)碼管顯示 代碼: 基于51單片機,用c語言編程實現(xiàn)利用74LS164擴展并行輸出口 代碼: 基于51單片機,用c語言編程實現(xiàn)定時中斷方式驅(qū)動一個數(shù)碼管? 代碼:? 1- 2- 上述代碼中,使用

    2024年02月16日
    瀏覽(19)
  • 基于51單片機的簡易6位密碼鎖(數(shù)碼管 led 矩陣)

    基于51單片機的簡易6位密碼鎖(數(shù)碼管 led 矩陣)

    ? 本文章是基于51單片機的簡易密碼鎖,無掉電保護,所以沒有用到I^C總線協(xié)議,僅用到數(shù)碼管顯示,矩陣鍵盤掃描,led顯示。? ?本例程主要實現(xiàn)功能為:定義一個六位數(shù)的初始密碼,用矩陣輸入,輸入正確后led被點亮,錯誤不點亮;摁下任意一個按鍵蜂鳴器發(fā)出聲音,松下

    2024年02月11日
    瀏覽(23)
  • 學(xué)習(xí)C51單片機——矩陣按鍵控制數(shù)碼管顯示數(shù)字(學(xué)習(xí)筆記Keil5)

    學(xué)習(xí)C51單片機——矩陣按鍵控制數(shù)碼管顯示數(shù)字(學(xué)習(xí)筆記Keil5)

    單片機檢測矩陣按鍵是否被按下的依據(jù)是檢測與該按鍵對應(yīng)的 I/O 口是否為低電平

    2024年04月17日
    瀏覽(36)
  • 51單片機數(shù)碼管

    51單片機數(shù)碼管

    51單片機的數(shù)碼管是一種常用的數(shù)字顯示設(shè)備,用于在嵌入式系統(tǒng)中顯示數(shù)字和一些特定的符號。數(shù)碼管通常由七段LED組成,每個LED段可以顯示數(shù)字0到9以及一些字母和符號。通過控制每個LED段的亮滅,可以顯示不同的數(shù)字和字符。 在51單片機中,數(shù)碼管通常連接到GPIO(通用

    2024年01月21日
    瀏覽(20)
  • 51單片機(四)靜態(tài)數(shù)碼管和動態(tài)數(shù)碼管顯示

    51單片機(四)靜態(tài)數(shù)碼管和動態(tài)數(shù)碼管顯示

    ?? 專欄簡介:本專欄記錄了從零學(xué)習(xí)單片機的過程,其中包括51單片機和STM32單片機兩部分;建議先學(xué)習(xí)51單片機,其是STM32等高級單片機的基礎(chǔ);這樣再學(xué)習(xí)STM32時才能融會貫通。 ?? 專欄適用人群 :適用于想要從零基礎(chǔ)開始學(xué)習(xí)入門單片機,且有一定C語言基礎(chǔ)的的童鞋

    2024年02月09日
    瀏覽(19)
  • 【51單片機】動態(tài)數(shù)碼管

    【51單片機】動態(tài)數(shù)碼管

    0、前言 參考: 普中51單片機開發(fā)攻略–A2.pdf 上一章我們主要是介紹一位數(shù)碼管的內(nèi)部結(jié)構(gòu)及控制原理。下面我們再來介 紹下多位數(shù)碼管及動態(tài)顯示原理的相關(guān)知識。 本章所要實現(xiàn)的功能是:控制動態(tài)數(shù)碼管從左至右顯示數(shù)字 0-7。 為了正規(guī)點,工程弄個正規(guī)文件夾: http

    2024年01月21日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包