日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言键盘控制数码管显示,3*4矩阵键盘控制4位数码管显示的C程序

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言键盘控制数码管显示,3*4矩阵键盘控制4位数码管显示的C程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個很簡單

;********************************************************************************

;*??標題:??偉納電子ME300B單片機開發系統演示程序?-?矩陣鍵盤數碼管顯示鍵值????????*

;*??文件:??WL031.asm????????????????????????????????????????????????????????????*

;*??日期:??2005-3-20????????????????????????????????????????????????????????????*

;*??版本:??1.0??????????????????????????????????????????????????????????????????*

;*??作者:??gguoqing?????????????????????????????????????????????????????????????*

;*??郵箱:??gguoqing.com??????????????????????????????????????????????????*

;*??網站:?http://www.willar.com????????????????????????????????????????????????*

;********************************************************************************

;*??描述:???????????????????????????????????????????????????????????????????????*

;*?????????矩陣鍵盤數碼管顯示鍵值???????????????????????????????????????????????*

;*??????????????????????????????????????????????????????????????????????????????*

;*?????????矩陣鍵盤定義:???????????????????????????????????????????????????????*

;*?????????P1.0-P1.3為列線,P1.4-P1.7為行線??????????????????????????????????????*

;*??????????????????????????????????????????????????????????????????????????????*

;*??????????????????????????????????????????????????????????????????????????????*

;********************************************************************************

;*?【版權】?Copyright(C)偉納電子?www.willar.com??All?Rights?Reserved????????????*

;*?【聲明】?此程序僅用于學習與參考,引用請注明版權和作者信息!??????????????????*

;********************************************************************************

RELAY??EQU??P1.3

BEEP???EQU??P3.7

;------------------------------------------------------

ORG??0000H

JMP??MAIN

;------------------------------------------------------

MAIN:??????MOV??SP,#60H

MOV??30H,#00H

LOOP1:

CALL??KEY_IN

CALL??KEY_PLAER

JMP??LOOP1

;-----------------------------------------------------

KEY_IN:????MOV??P1,#0F0H??????????;置列線為0,行線為1

MOV??A,P1

ANL??A,#0F0H

MOV??B,A

MOV??P1,#0FH???????????;置列線為1,行線為0

MOV??A,P1

ANL??A,#0FH

ORL??A,B???????????????;高四位與低四位重新組合

CJNE??A,#0FFH,KEY_IN1??;0FFH為末按鍵

RET

KEY_IN1:???MOV??B,A

MOV??DPTR,#KEYTABLE

MOV??R3,#0FFH???????????;

KEY_IN2:???INC??R3

MOV??A,R3

MOVC??A,+DPTR

CJNE??A,B,KEY_IN3

MOV??A,R3?????????????;找到,取順序碼

MOV??30H,A

CALL??BEEP_BL

RET

KEY_IN3:???CJNE??A,#0FFH,KEY_IN2??;末完,繼續查

RET????????????????????;0FFH為結束碼

;----------------------------------------------

;蜂鳴器響一聲子程序

;----------------------------------------------

BEEP_BL:

MOV??R6,#100

BL1:?????CALL??DEX1

CPL??BEEP

DJNZ??R6,BL1

MOV??R5,#25

CALL??DELAY

RET

DEX1:?????MOV??R7,#180

DEX2:?????NOP

DJNZ??R7,DEX2

RET

DELAY:????????????????????;延時R5×10MS

MOV??R6,#50

DELAY1:????MOV??R7,#100

DJNZ??R7,??R6,DELAY1

DJNZ??R5,DELAY

RET

;-----------------------------------------------------

KEYTABLE:

DB??0EEH,0EDH,0EBH,0E7H,0DEH??;0,1,2,3,4,??順序碼

DB??0DDH,0DBH,0D7H,0BEH,0BDH??;5,6,7,8,9,

DB??0BBH,0B7H,07EH,07DH,07BH??;A,B,C,D,E,

DB??077H,0FFH?????????????????;F??????0FF為結束碼

;-----------------------------------------------------

;鍵值顯示子程序

;使用一個數碼管顯示

;-----------------------------------------------------

KEY_PLAER:

MOV??A,30H

MOV??DPTR,#TAB??????;取段碼表地址

MOVC??A,+DPTR?????;查顯示數據對應段碼

MOV??P0,A???????????;段碼放入P0口

CLR??P2.7???????????;第一個數碼管亮

RET

;-----------------------------------------------------

TAB:

DB??0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

DB??80H,90H,88h,83h,0c6h,0a1h,86h,8eh

;-----------------------------------------------------

END

總結

以上是生活随笔為你收集整理的c语言键盘控制数码管显示,3*4矩阵键盘控制4位数码管显示的C程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。