单片机课后习题 - 图文(5)

2019-01-12 18:59

case 0xFB:KEY3();break; case 0XF7:KEY4();break; case 0xEF:KEY5();break; case 0xDF:KEY6();break; case 0xBF:KEY7();break; case 0x7F:KEY8();break; } } } } }

void delay_15ms() {

unsigned char a,b,c; for(c=3;c>0;c--) for(b=212;b>0;b--) }

void KEY1() { P3=0xF9; }

void KEY2() { P3=0xA4; }

void KEY3() { P3=0xB0; }

void KEY4()

for(a=140;a>0;a--);

{ P3=0x99; }

void KEY5() { P3=0x92; }

void KEY6() { P3=0x82; }

void KEY7() { P3=0xF8; }

void KEY8() { P3=0x80; }

11-10 4×4矩阵键盘与单片机的连接如图11-47所示,编写程序,使不同按键按下时在数码管上能显示该键编号的十六进制码。

图11-47 习题11-10电路

汇编语言:

K_CODE EQU 30H S_CODE EQU 31H C_CODE EQU 32H

ORG 0000H LJMP MAIN ORG 100H MAIN: MOV SP,#0AFH START:LCALL KEY

MOV A,K_CODE CJNE A,#0FFH,KEY_T LJMP START

KEY_T: RL A

ADD A,K_CODE MOV DPTR,#KEY_TAB JMP @A+DPTR

KEY_TAB: LJMP KEY0

LJMP KEY1 LJMP KEY2

LJMP KEY3 LJMP KEY4

LJMP KEY5 LJMP KEY6

LJMP KEY7 LJMP KEY8 LJMP KEY9

LJMP KEY10 LJMP KEY11

LJMP KEY12 LJMP KEY13

LJMP KEY14 LJMP KEY15

KEY:

MOV K_CODE,#0FFH MOV R0,#00H MOV P1,#0FH LCALL DELAY_1us MOV A,P1 ANL A,#0FH CJNE A,#0FH,KEY_1 RET

KEY_1: LCALL DELAY_15ms

MOV C_CODE,#0EFH

COLUWN: MOV P1,C_CODE

MOV A,C_CODE RL A

MOV C_CODE,A MOV A,P1

ANL A,#0FH CJNE A,#0FH,KEY_2 INC R0

CJNE R0,#4,COLUWN RET

KEY_2: CJNE A,#0EH,K1

MOV S_CODE,#00 SJMP RESULT CJNE A,#0DH,K2 MOV S_CODE,#01H SJMP RESULT CJNE A,#0BH,K3 MOV S_CODE,#02 SJMP RESULT CJNE A,#07H,LEND MOV S_CODE,#03

K1:

K2:

K3:

RESULT: MOV A,S_CODE

RL A RL A ADD A,R0 MOV K_CODE,A

LEND: RET DELAY_15ms:…….;略

RET

DELAY_1us:……….;略

RET

KEY0:MOV P3,#0C0H

LJMP START

KEY1:MOV P3,#0F9H

LJMP START

KEY2:MOV P3,#0A4H


单片机课后习题 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ArcSde的两种连接方式、区别和常见问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: