❶ 用51單片機,怎麼讓數碼管顯示一串矩陣鍵盤按下的鍵代表的數(0~f)
這種顯示方式就和手機撥號時,按下號碼的顯示是一樣,第一個數碼先在右邊顯示,再按鍵,依此向左移動顯示。要是6位數碼管,就保留6位顯示了,按鍵超過6位時,先按的自然丟掉了。
❷ 51單片機怎麼讓數碼管動態顯示1234動態顯示後通過按鍵變成靜態顯示
數碼管動態顯示就是按順序分配給每一個數碼管顯示一定時間(如10ms等),如此循環;
對於時間間隔的設定,常採用定時器中斷方式來得到,可以首先讓定時器1ms中斷,然後在中斷函數里對全局變數m計數,即10次中斷就是10ms,同理,計數800次就是8秒了;
要想讓顯示變成靜態顯示,那麼就只有一位數碼管在顯示了;
這個可以在想顯示的位中,停止定時器計數,或者在 m 未達到設定值前清0 即可;
另外,不要再採用delay()這樣的代碼延時函數;
❸ 51單片機用4個按鍵,每個按鍵被按下都會使數碼管顯示一個數值
5. [問答題] [技能題畫10配線圖寫出程序]按下按鈕S1,數碼管顯示1;按下按鈕S2,數碼管顯示2;按下按鈕S3,數碼管顯示3;按下按鈕S4,數碼管顯示4;能互相直接切換。按下停止按鈕後,數碼管熄滅。。
❹ 51單片機的共陰數碼管怎麼顯示數字(c語言)
要讓51單片機共陰數碼管顯示數字,只需要將單片機的P2埠輸出數字對應的段碼即可。
以顯示數字「0」為例,c語言程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//數碼管的段碼編碼
Uchar table[10] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main(){//主函數
P0 = table[0];//顯示0,大家可以修改裡面的數據。
while(1);//程序不再執行其他步驟;
}
(4)51單片機按鍵數字顯示擴展閱讀:
數字0-9的對應段碼:
數字0 0x3f
數字1 0x06
數字2 0x5b
數字3 0x4f
數字4 0x66
數字5 0x6d
數字6 0x7d
數字7 0x07
數字8 0x7f
數字9 0x6f
❺ 51單片機 要求按鍵顯示 按一下顯示一個數字
數碼管分共陽和共陰 我這里給你舉個七段共陽數碼管的例子吧。
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8 ,0x80,0x90,0x88,0x83 ,0xc6,0xa1,0x86,0x8e
數碼管是有8個管子構成的 具體的圖編號你可以在網上搜到
我現在寫的0xc0 代表數碼管的0 ,後面類推 對應從0-F 的編碼
程序編碼要和硬體設計相結合 這個程序是把七段數碼管的a-g 接到P0^0-P0^6口
沒有加按鍵消抖程序 有需要可以去網上搜搜就是加個延時
#include <reg51.h> //包含頭文件,一般情況不需要改動,
//頭文件包含特殊功能寄存器的定義
sbit buzzer = P1^0;//定義蜂鳴器到P1.0口
sbit key1 = P1^1; //按鍵1
sbit key2 = P1^2; //按鍵2
sbit key3 = P1^3; //按鍵3
sbit key4 = P1^4; //按鍵4
sbit key5 = P1^5; //按鍵5
sbit key6 = P1^6;//按鍵6
P0=0x00; //設置P0口輸出都是低電平
buzzer = 1;//設置蜂鳴器 輸出為高電平 此時不響 (蜂鳴器+接5V -接單片機口,中間串個電阻限流)
/*-------------- 主函數 ----------*/
void main (void)
{
while (1) //主循環
{
if(key == 1)
{
P0= 0xf9; //顯示1
buzzer = 0; //蜂鳴器響
}
if(key == 2)
{
P0= 0xa4; //顯示2
buzzer =0; //蜂鳴器響
}
if(key == 3)
{
P0= 0xb0; //顯示3
buzzer = 0; //蜂鳴器響
}
if(key == 4)
{
P0= 0x99; //顯示4
buzzer = 0; //蜂鳴器響
}
if(key == 5)
{
P0= 0x92; //顯示5
buzzer = 0; //蜂鳴器響
}
if(key == 6)
{
P0= 0x82; //顯示6
buzzer = 0; //蜂鳴器響
}
}
❻ 51單片機8位按鍵數碼管顯示
其實修改這個地方就可以實現
switch(keyvalue)
{
case 0x38:key=1;break;
case 0x34:key=2;break;
case 0x2c:key=3;break;
case 0x1c:key=4;break;
//增加按鍵所對應的代碼。。你需要把按鍵的連接引腳給我,才能計算出來數值
default:key=0;break;
}
❼ 如何在51單片機上用數碼管顯示按鍵對應的數字(好像手機上的按鍵一樣)
編程加管教配置。kell5
❽ 51單片機怎樣用鍵盤控制數碼管顯示
51單片機怎樣用鍵盤控制數碼管顯示的方法。
如下參考:
1.首先,編寫代碼並點亮數碼管。
❾ 51單片機如何設置同一個按鍵,按一下顯示123456,再按一下顯示321456
51單片機用一個按鍵,定義一個位變數,或一個8位的變數,按一下鍵變數為1,再按一下變數為0。然後顯示時,再根據變數值來決定顯示內容,變數為1,顯示123456,變數為0顯示321456。
❿ 如何用51單片機用一位數碼管顯示對應數字
首先你要把0到9的數字對應的七段碼放在一個數組中,然後用一個變數計按鍵的次數或序號,把該序號的七段碼輸出到對應的埠即可。