色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>C/C++語言編程>

數碼管顯示的多種方式

大小:0.15 MB 人氣:22 2017-09-06 需要積分:0

1、實現3*4按鍵數碼管顯示

;******************************************************************************
;*? 描述:?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
;*???????? 實現3*4按鍵數碼管顯示,???? 按K1 對應四個數碼管顯示1???????????????????????????????????? ;????????? 按K2 對應四個數碼管顯示2,? 按K3 對應四個數碼管顯示3
;????????? 按K4 對應四個數碼管顯示4,? 按K5 對應四個數碼管顯示5
;????????? 按K6 對應四個數碼管顯示6,? 按K7 對應四個數碼管顯示7
;????????? 按K8 對應四個數碼管顯示8,? 按K9 對應四個數碼管顯示9
;????????? 按K10 對應四個數碼管顯示a, 按K11 對應四個數碼管顯示b
;????????? 按K12 對應四個數碼管顯示C
;????????? Y1接P2.0? Y2接P2.1? Y3接P2.2??? X1接P2.4? X2接P2.5? X3接P2.6?? X4接P2.7??
;******************************************************************************
;* 【版權】 Copyright(C)東哥單片機學習網?www.picavr.com? All Rights Reserved???????
;* 【聲明】 此程序僅用于學習與參考,引用請注明版權和作者信息!??????????????????????????????????
;******************************************************************************
???????????? DATA1?? EQU??? 30H??????? ;
????? DATA2?? EQU??? 31H??????? ;
???????????? DATA3?? EQU??? 32H??????? ;
???????????? DATA4?? EQU??? 33H??????? ;
????? KEYBUF? EQU??? 34H??????? ;
;-------------------------------------------
???????????? ORG??????? 0000H????????? ;
???????????? LJMP?????? START????????? ;轉入主程序
???????????? ORG??????? 0030H????????? ;
START:
???????????? MOV??????? SP,#60H??????? ;初始化堆棧指針?
????? MOV??????? P0,#0FFH?????? ;初始化I/O口
????? MOV??????? P1,#0FFH?????? ;
????? MOV??????? P2,#0FFH?????? ;
????? MOV??????? A,#00H???????? ;
????? MOV??????? DATA1,A??????? ;設定顯示初值
????? MOV??????? DATA2,A??????? ;
???? ????? MOV??????? DATA3,A??????? ;
????? MOV??????? DATA4,A??????? ;
;*******************************************
MAIN:
???????????? CALL?????? DISP?????????? ;調顯示子程序
????? CALL?????? KEYWORK??????? ;
????? AJMP?????? MAIN?????????? ;
;*******************************************
;顯示子程序
;******************************************
DISP:
????? MOV?A,DATA1??????? ;
???????????? MOV??????? DPTR,#TABLE??? ;???
????? MOVC?A,@A+DPTR????? ;取數據表數據
????? MOV?P0,A?????????? ;DATA1 顯示代碼傳送到P0口
????? CLR?P1.0?????????? ;
????? LCALL?DELAY1MS?????? ;
????? SETB?P1.0?????????? ;
????? MOV?A,DATA2??????? ;
????? MOVC?A,@A+DPTR????? ;取數據表數據
????? MOV?P0,A?????????? ;DATA2 顯示代碼傳送到P0口
????? CLR?P1.1?????????? ;
????? LCALL?DELAY1MS?????? ;
????? SETB?P1.1?????????? ;
????? MOV?A,DATA3??????? ;
?????? MOVC?A,@A+DPTR????? ;取數據表數據
????? MOV?P0,A?????????? ;DATA3 顯示代碼傳送到P0口
????? CLR?P1.2?????????? ;
????? LCALL?DELAY1MS?????? ;
????? SETB?P1.2?????????? ;
????? MOV?A,DATA4??????? ;
????? MOVC?A,@A+DPTR????? ;取數據表數據
????? MOV?P0,A?????????? ;DATA4 顯示代碼傳送到P0口
????? CLR?P1.3?????????? ;
????? LCALL?DELAY1MS?????? ;
????? SETB?P1.3?????????? ;
????? RET?????????????????????? ;
;*******************************************

;*******************************************?
;4*4行列掃描查鍵子程序?
;*******************************************
KEYWORK:???? MOV??? P2,#0FFH????????? ;置P2口為輸入狀態
???????????? CLR??? P2.0????????????? ;掃描第1行(第1行為0)
???????????? MOV??? A,P2????????????? ;讀入P2口值
???????????? ANL??? A,#0F0H?????????? ;低4位為0
???????????? CJNE?? A,#0F0H,KEYROW??? ;高4位不為全1(有鍵按下)轉KEYROW
???????????? SETB?? P2.0????????????? ;
???????????? CLR??? P2.1????????????? ;掃描第2行(第2行為0)
???????????? MOV??? A,P2????????????? ;讀入P2口值
???????????? ANL??? A,#0F0H?????????? ;低4位為0
???????????? CJNE?? A,#0F0H,KEYROW??? ;高4位不為全1(有鍵按下)轉KEYROW
???????????? SETB?? P2.1????????????? ;
???????????? CLR??? P2.2????????????? ;掃描第3行(第3行為0)
???????????? MOV??? A,P2????????????? ;讀入P2口值
???????????? ANL??? A,#0F0H?????????? ;低4位為0
???????????? CJNE?? A,#0F0H,KEYROW??? ;高4位不為全1(有鍵按下)轉KEYROW
???????????? SETB?? P2.2????????????? ;
???????????? RET????????????????????? ;子程序返回
;***********************************************************************
KEYROW:????? ACALL? DISP????????????? ;消抖處理
???????????? MOV??? A,P2????????????? ;再讀入P2口值
???????????? ANL??? A,#0F0H?????????? ;低4位為0
???????????? CJNE?? A,#0F0H,KEYCHE??? ;高4位不為全1確有鍵按下轉KEYCHE
KEYOUT:????? RET????????????????????? ;干擾子程序返回
;------------------------------------------------------
KEYCHE:????? MOV??? A,P2????????????? ;讀入P2口值
???????????? MOV??? KEYBUF,A????????? ;放入KEYBUF暫存
CJLOOP:????? ACALL? DISP????????????? ;調顯示子程序
???????????? MOV??? A,P2????????????? ;讀入P2口值
???????????? ANL??? A,#0F0H?????????? ;低4位為0
???????????? CJNE?? A,#0F0H,CJLOOP??? ;高4位為全1(鍵還按住),轉CJLOOP等待釋放
???????????? MOV??? R7,#00H?????????? ;鍵釋放,置R7初值為#00H(查表次數)
???????????? MOV??? DPTR,#KEYTAB????? ;取鍵值表首址
CHEKEYLOOP:? MOV??? A,R7????????????? ;查表次數入A
???????????? MOVC?? A,@A+DPTR???????? ;查表
???????????? XRL??? A,KEYBUF????????? ;查表值與P2口讀入值比較
???????????? JZ???? K1??????????????? ;為0(相等)轉KEYOK
???????????? INC??? R7??????????????? ;不等,查表次數加1
???????????? CJNE?? R7,#0DH,CHEKEYLOOP;查表次數不超過12次轉LHEKEYLOOP再查
???????????? AJMP?? KEYOUT??????????? ;12次到,退出
;***********************************************************************
K1:???????
???????????? MOV??? A,R7????????????? ;查表次數入 A(即鍵號值)
???????????? CJNE?? A,#00H,K2???????? ;
???????????? MOV??? A,#01H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K2:??
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#01H,K3???????? ;
???????????? MOV??? A,#02H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;?
K3:??
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#02H,K4???????? ;
???????????? MOV??? A,#03H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;??
K4:??
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#03H,K5???????? ;
???????????? MOV??? A,#04H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;?
;-------------------------------------------
K5:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#04H,K6???????? ;?
???????????? MOV??? A,#05H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;?
K6:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#05H,K7???????? ;?
???????????? MOV??? A,#06H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K7:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#06H,K8???????? ;
???????????? MOV??? A,#07H??????????? ;?
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K8:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#07H,K9???????? ;?
???????????? MOV??? A,#08H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K9:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#08H,K10???????? ;?
???????????? MOV??? A,#09H??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K10:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#09H,K11??????? ;?
???????????? MOV??? A,#0AH??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K11:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#0AH,K12??????? ;?
???????????? MOV??? A,#0BH??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
???????????? AJMP?? KEYOUT??????????? ;
K12:
???????????? MOV??? A,R7????????????? ;
???????????? CJNE?? A,#0BH,K12_1????? ;?
???????????? MOV??? A,#0CH??????????? ;
???????????? MOV??? DATA1,A?????????? ;
????? MOV??? DATA2,A?????????? ;
????? MOV??? DATA3,A?????????? ;
????? MOV??? DATA4,A?????????? ;
K12_1:
???????????? AJMP?? KEYOUT??????????? ;
;*******************************************?
DELAY1MS:?
???? MOV???????? R4,#2????????? ;延時子程序
DEL1:
???? MOV???????? R5,#250??????? ;
???? DJNZ?R5,$?????????? ;
???? DJNZ?R4,DEL1??????? ;
??????????? RET??????????????????????? ;
;-------------------------------------------
DELAY10MS:?
???? MOV???????? R4,#20???????? ;
DEL2:
???? MOV???????? R5,#250??????? ;
??????????? DJNZ??????? R5,$?????????? ;
???? DJNZ??????? R4,DEL2??????? ;
??????????? RET??????????????????????? ;
;*******************************************?
TABLE:
????? DB?0C0H????????????????? ;0? 11000000B??
????? DB?0F9H????????????????? ;1? 11111001B?
????? DB?0A4H????????????????? ;2? 10100100B?
????? DB?0B0H????????????????? ;3? 10110000B
????? DB?99H?????????????????? ;4? 10011001B
????? DB?92H?????????????????? ;5? 10010010B
?????? ????? DB?82H?????????????????? ;6? 10000010B
????? DB?0F8H????????????????? ;7? 11111000B?
????? DB?80H?????????????????? ;8? 10000000B
????? DB?90H?????????????????? ;9? 10010000B??
???????????? DB 88H?????????????????? ;A? 10001000B
????? DB 83H?????????????????? ;b? 10000011B
????? DB 0C6H????????????????? ;C? 11000110B
;********************************************
;鍵號對應P2口數值表(同時按下兩鍵為無效操作)
KEYTAB:????? DB? 0EEH,0DEH,0BEH,7EH?? ;
???????????? DB? 0EDH,0DDH,0BDH,7DH?? ;
???????????? DB? 0EBH,0DBH,0BBH,7BH?? ;
???????????? END????????????????????? ;

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      ?
      主站蜘蛛池模板: 果冻传媒在线完整免费播放 | 日本强好片久久久久久AAA | 久久亚洲伊人 | 外国xxxx| 翁公咬着小娇乳H边走边欢A | 久久精品热线免费 | 97国产露脸精品国产麻豆 | 国产高清美女一级毛片久久 | 老外的好大c的我好爽 | 0855福利 | 国语对白嫖老妇胖老太 | sao虎影院桃红视频在线观看 | 97人妻久久久精品系列A片 | 热久久视久久精品18 | 亚洲欧美日本久久综合网站 | 亚洲AV日韩AV欧美在线观看网 | 国产又湿又黄又硬又刺激视频 | 狠狠啪在线香蕉 | 国产精品美女WWW爽爽爽视频 | 暖暖视频在线观看高清... | 久久精品免费电影 | 最新男同鸭子ktv | 免费毛片试看 | 国产无线乱码一区二三区 | 学生精品国产在线视频 | 色裕插插插影视 | 国产成人精视频在线观看免费 | 国产午夜三级一区二区三 | 我不卡影院手机在线观看 | 天天国产在线精品亚洲 | 91视频3p| 国产又粗又猛又爽黄老大爷 | 亚洲精品国产熟女久久久 | 热巴两次用约老师屁股发底线球 | 免费精品国偷自产在线在线 | 久久中文字幕人妻熟AV女蜜柚M | 久久99精品国产自在自线 | 秋霞影音先锋一区二区 | 久久亚洲免费视频 | 紧致肉肉高h | 被高跟鞋调教丨vk |