最簡單的彙編矩陣鍵盤程式4 4得晶元用AT89C51

2024-12-29 14:35:10 字數 2040 閱讀 3784

1樓:網友

電路沒有,怎麼編寫程式呢。

89c51微控制器 4*4矩陣鍵盤加流水燈問題,求個彙編程式**。

2樓:網友

;其實很簡單,都不用判斷鍵值,有鍵按下暫停2s程式如下:

org 0000h

ljmp sta

org 000bh

ljmp t0isr

org 0030h

sta:mov tmod,#01h

mov th0,#3ch

mov tl0,#0b0h

setb et0

setb ea

mov 30,#0feh

mov r2,#

clr 00h

loop:mov p1,#0f0h

mov a,p1

cjne a,#0f0h,loop1

sjmp loop

loop1:

lcall delay

mov a,p1

cjne a,#0f0h,loop2

sjmp loop

loop2:

setb 00h

sjmp loop

t0isr:

clr tr0

mov th0,#3ch

mov tl0,0b0h

setb tr0

jnb 00h,t0isr1

inc r2

mov a,r2

cjne a,#40,t0isre

mov r2,#

clr 00h

sjmp t0isre

t0isr1:

mov a,30h

rl amov 30h,a

mov p0,a

t0isre:

retidelay:

mov r0,#

delay1:

mov r1,#

djnz r1,$

djnz r0,delay1

retend

3樓:網友

這個只2 個鍵,不用矩陣鍵盤簡單。矩陣鍵盤裡用2 個鍵當獨立按鍵用。

不知道你的硬體接線,無法寫。

另外你的按鍵功能 描述看不太明白。

4樓:**迷困惑

4*4鍵盤寫程式的時候用反轉掃瞄法,然後把流水燈暫停程式放到中斷程式中,按一次按鍵執行一次中斷。

at89c51微控制器 4*4矩陣鍵盤控制乙個數碼管顯示

5樓:網友

你好!要顯示出矩陣鍵盤的鍵值 0-f 嗎?

程式是c語言寫嗎?

急求!!!用at89c51製作4*4矩陣鍵盤,用乙個數碼管顯示0~f。非常感謝!!

6樓:網友

矩陣鍵盤實驗程式。

通過反轉法迴圈掃瞄矩陣鍵盤,並通過數碼管顯示資料。

#include//包含標頭檔案,一般情況不需要改動,標頭檔案包含特殊功能暫存器的定義。

#define uchar unsigned char

#define uint unsigned int

unsigned char const el=;//0-f

函式宣告。uchar keyscan(void);//鍵盤掃瞄。

void delay(uint i); //演示程式。

void main()}

鍵盤掃瞄程式。

uchar keyscan(void) //鍵盤掃瞄函式,使用行列反轉掃瞄法。

return(0xff); //返回該值。延時程式。

void delay(uint i) //延時函式。

急求4*4矩陣鍵盤控制數碼管顯示,at89c51微控制器,共陰極8位數碼管(4位的也可以)

7樓:死愛芙蓉

你的8位數碼管,沒問題? 別人都是,8個io口設數、3個io口選段,算,也不知道你這是幹嘛的。

8位數碼管計算器51彙編程式4 4矩陣鍵盤

include include define uchar unsigned char define uint unsigned int uchar code tab1 通過液晶字元手冊查詢得來 uchar code tab2 uchar num 判斷按鍵的值 uchar flag 判斷按鍵的標誌位 ...

求人幫我寫一段彙編程式,誰給我寫一個最簡單的組合語言程式

32位數,以十進位制顯示,就太麻煩了。我有用16進位制顯示32位暫存器值的子程式,若需要跟我說。誰給我寫一個最簡單的組合語言程式 上來就是lcd人家看得懂麼.org 0000h ajmp main org 0030h main mov p0,00h mov p1,00h mov p2,00h mov...

彙編程式的問題,一個彙編程式的問題

show str mov ax,0b800h mov es,ax 取得顯示緩衝區的首地址 這裡的10h要改成160,在視訊記憶體裡每一行字元佔用160個位元組 mov al,160 dec dh mul dh mov dh,0 dec dl 這裡還要加一條這個,用來把dl中的數翻倍,也就是乘2 因為...