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 因為...