㈠ 單片機課程設計:按鍵輸入及時顯示。要求:1有八個led顯示器,8*2鍵盤;2由8279連接鍵
07幾班的兄弟
㈡ 51單片機怎樣用鍵盤控制數碼管顯示
51單片機怎樣用鍵盤控制數碼管顯示的方法。
如下參考:
1.首先,編寫代碼並點亮數碼管。
㈢ 求單片機8279鍵盤程序,若正確給加分!
Z8279 EQU 0FF82H
D8279 EQU 0FF80H
ORG 0000H
AJMP LOOP
LJMP WAIT1
LOOP: MOV DPTR,#Z8279
MOV A,#0D1H
MOVX @DPTR,A
LOOP1:MOVX A,@DPTR
JB ACC.7,LOOP1
MOV R3,#01H
MOV R4,#08H
XIANSHI:MOV DPTR,#DATA
MOV A,R3
MOVC A,@A+DPTR
MOV DPTR,#D8279
MOVX @DPTR,A
INC R3
LCALL DELAY
DJNZ R4,XIANSHI
WAIT1: MOV DPTR,#Z8279
MOV A,#0D1H
MOVX @DPTR,A
MOV R0,#70H
MOV R7,#80H
LOOP2: MOV @R0,#00H
INC R0
DJNZ R7,LOOP2
WAIT: MOV DPTR,#Z8279
MOVX A,@DPTR
ANL A,#07H
JNZ SAVE
SJMP WAIT
SAVE: MOV A,#40H
MOVX @DPTR,A
MOV DPTR,#D8279
MOVX A,@DPTR
ANL A,#3FH
MOV DPTR,#DATA
MOVC A,@A+DPTR
MOV B,A
MOV R6,#07H
MOV R0,#70H
MOV R1,#71H
CHANGE:MOV A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R6,CHANGE
MOV 77H,B
MOV R1,#77H
MOV R7,#08H
SHUCHU:MOV A,@R1
MOV DPTR,#D8279
MOVX @DPTR,A
DEC R1
DJNZ R7,SHUCHU
AJMP WAIT
DATA: DB 3FH,06H,5BH,4FH,66H,6DH,7DH
DB 07H,7FH,6FH,77H,7CH,39H,5EH
DB 79H,71H
DELAY: MOV R2,#14H
L1: MOV TMOD,#10H
MOV TH1,#40H
MOV TL1,#00H
SETB TR1
L2: JBC TF1,L3
AJMP L2
L3: DJNZ R2,L1
RET
END
㈣ 求單片機(鍵盤輸入LED顯示)實驗代碼注釋
這是鍵盤顯示晶元8279的驅動程序。
程序中,原來有一些注釋,其中的8279,都誤寫成了8259。
盡量加寫了一些注釋,其中對8279的一些命令、數據,沒有多寫,建議樓主參考8279的資料。
CPORT EQU 5FFFH ;8259 {應該是8279} 控制埠地址
DPORT EQU 5EFFH ;?? 應該是8279 數據埠地址
DBUF EQU 30H
ORG 0000H
LJMP START ;主程序入口地址
ORG 0013H
LJMP INT1 ;中斷處理子程序入口
START: ;主程序
MOV SP, #6FH ;???設定棧底
MOV DPTR, #CPORT ;8259 {應該是8279} 控制埠
MOV A, #0DCH ;清除命令字
MOVX @DPTR, A ;清除{8279}的顯示內容
CLEAN :
MOVX A, @DPTR ;讀{8279的}狀態字
JB ACC.7, CLEAN ;判斷顯示RAM是否可操作
MOV A, #00H ;{8279}的方式命令字
MOVX @DPTR,A ;寫入{8279}
MOV A, #2AH ;{8279}的分頻系數
MOVX @DPTR,A ;寫入{8279}
;=========================以上是設定8279的工作方式
MOV R7, #6H
MOV R0, #DBUF
MOV A, #10H ;設置顯示緩存區內容
===========================================================
;以下部分
CDBUF:
MOV @R0, A
INC R0
DJNZ R7, CDBUF
;=========================以上是清除顯示緩存區內容
LCALL DISP ;調用顯示子程序
CLR IT1 ;IT1清0,開外中斷1
NOP ;空操作
SETB EA
NOP ;空操作
SETB EX1 ;置EX1(外部中斷1中斷允許位)為1
NOP ;空操作
CLEAN1:
LJMP CLEAN1 ;等待中斷
INT1: ;外部中斷程序
PUSH ACC ;保護現場
PUSH DPH
PUSH DPL
MOV DPTR, #CPORT ;8279的控制埠
MOV A, #40H ;01000000B
MOVX @DPTR, A ;將40H當做命令寫入8279
MOV DPTR, #DPORT ;8279的數據埠
MOVX A, @DPTR ;讀出按鍵數值
MOV R7, #6H
MOV R0, #DBUF
MOV @R0, A ;按鍵數值寫入顯示緩沖區
LCALL DISP ;顯示
LCALL L_SHIFT ; 顯示緩沖區內容移位
POP DPL ;恢復現場
POP DPH
POP ACC
RETI ;中斷程序結束
L_SHIFT: ; 顯示緩沖區內容移位
MOV R7, #6H ; 移位6次
MOV R0, #DBUF+4
MOV R1, #DBUF+5
NEXT0:
MOV A, @R0 ;取第四個
MOV @R1, A ;送到第五個
DEC R0
DEC R1 ;修改地址號碼
DJNZ R7, NEXT0 ;循環6次移位
RET
以上部分
================================================================
DISP:
MOV DPTR, #CPORT
MOV A, #092H
MOVX @DPTR, A
MOV R0, #DBUF ;R0中存放的是緩沖區的首地址
MOV R7, #06H
NEXTC:
MOV A, @R0
INC R0
MOV DPTR, #DCODE
MOVC A, @A+DPTR
MOV DPTR, #DPORT
MOVX @DPTR, A
DJNZ R7, NEXTC
RET ;返回
DCODE: DB 0C0H,0F9H,0A4H,0B0H ; 字型編碼表
DB 099H,092H,082H,0F8H
DB 080H,090H,088H,083H
DB 0C6H,0A1H,086H,08EH,0FFH
END
㈤ 關於8279鍵盤介面的地址問題
C51的地址是P2:P0吧,P2是高8位,P0是低8位
P2.7與CS相聯,這樣P2.7=0時就選中晶元了,也就是7fff地地址,不過按你的說法,應該A0是連接到P0.0,這樣才是7FFF和7FFFE,不然是分不開狀態命令地址的。
㈥ 用51單片機控制8279
你的問題解決了沒有啊? 解決了就告訴我啊 我也不懂 啊 第一次用8279晶元 求指教!!謝謝!!
㈦ 單片機與8279晶元的應用
我覺得你是不是圖畫錯了,這個是我課設要用到的圖,你看看能用上么。也是鍵盤和顯示電路,74ls138
㈧ 如何利用89C51單片機與8279實現鍵盤介面電路顯示
第六章 單片機介面技術應用 在設計各種單片機應用系統中,還需擴展很多外部介面器件才能充分發揮單片機的智能控制功能。如擴展鍵盤與顯示器件介面,可實現人機對話功能;擴展A/D轉換介面,可實現對外部各種模擬信號的檢測與轉換;擴展D/A轉換接...