行列式键盘接口:
行列式键盘接口程序:
ORG 0000H
AJMP 0030H
ORG 0003H
LJMP SERVE
ORG 001BH
RETI
ORG 0030H
MAIN:MOV P1,#0FFH ;接收线置1
MOV P2,#0 ;扫描线置0
SETB EA ;开中断
SETB IT0 ;置INT0边沿触发
SETB EX0 ;开INT0的中断
…….
;测试子程序
SCAN:MOV R7,#0;计数单元清0
JB 20H.0,ONE;测试20H单元位(1号线)
INC R7;1号线为0,计数单元加1
MOV R6,#1 ;存线号1
ONE:JB 20H.1,TWO ;测试20H单元位(2号线)
INC R7 ;2号线为0,计数单元加1
MOV R6,#2 ;存线号2
TWO:JB 20H.2,THREE
INC R7
MOV R6,#3
THREE:JB 20H.3,FOUR
INC R7
MOV R6,#4
FOUR:JB 20H.4,FIVE
INC R7
MOV R6,#5
FIVE:JB 20H.5,SIX
INC R7
MOV R6,#6
SIX:JB 20H.6,SEVEN
INC R7
MOV R6,#7
SEVEN:JB 20H.7,EIGHT
INC R7
MOV R6,#8
EIGHT:RET
;延时子程序(晶振12MHZ,定时20ms)
DELAY:MOV TMOD,#10H ;设置T1为方式1定时
MOV TL1,#0E0H;B1E0H取反加1=0100 1110 0001 1111+1=4E20H
MOV TH1,#0B1H;16384+3584+31=19999=20000us=20ms
SETB ET1 ;开T1中断
SETB PT1 ;置T1中断为高优先级
SETB TR1 ;启动T1定时
ORL PCON,#1 ;启动空闲方式
CLR TR1
CLR PT1
CLR ET1
RET
;按键所引起的中断服务程序:
SERVE:LCALL DELAY ;延时去抖动
MOV 20H,P1 ;读接收线
LCALL SCAN ;调用测试子程序
DJNZ R7,REJ ;多键按下,不作处理
MOV 31H,R6 ;单键按下,接收线号送31H单元
MOV P2,#0FFH ;扫描线写1
MOV P1,#0 ;接收线写0
MOV 20H,P2 ;读扫描线
LCALL SCAN ;调测试子程序
DJNZ R7,REJ ;多键按下,不作处理
XCH A,R6 ;单键按下,扫描线号送A
SWAP A ;扫描线号移到高4位
ORL 31H,A ;求得按键特征值
XCH A,R6;
MOV P1,#0FFH ;接收线复位
MOV P2,#0 ;扫描线复位
REJ:JNB P3.2,$ ;等待按键释放(INT0引脚置1)
LCALL DELAY ;延时去抖动
CLR IE0 ;清中断标志位
RETI
7211(A)真值
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
DS1
DS2
CS1
CS2
功能
0
0
0
0
数据存储在D4
0
1
0
0
数据存储在D3
1
0
0
0
数据存储在D2
1
1
0
0
数据存储在D1
X
X
其他
未选中
LCD7211子程序:
LCD:MOV DPTR,#8000H;置8255PA口地址
MOV R0,#20H;显示数据缓冲区首地址送R0
MOV R1,#04H;设置7211(2)的位数
MOV R2,#07H;设置D1显示特征
LP1:MOV A,#0FFH;禁止7211操作
MOVX @DPTR,A;
MOV A,R2;形成Di显示字高位
SWAP A;A=70H
ORL A,@R0;A或﹝﹝R0﹞﹞送A
MOVX @DPTR,A;送Di显示字
DEC R2;
INC R0;
DJNZ R1,LP1;
MOV R1,#04H;设置7211(1)的位数
MOV R2,#0BH;设置D4显示特征
LP2: MOV A,#0FFH;禁止7211操作
MOVX @DPTR,A;
MOV A,R2;
SWAP A;
ORL A,@R0;
MOVX @DPTR,A;
DEC R2;
INC R0;
DJNZ R1,LP2;
RET
Centronics 并行接口标准。
Centronics标准定义了36芯插头座,其中数据线8根,控制输入线4根,状态输出线5根,+5V电源线l根,地线15根,另有3根空闲。
采用8255实现单片机与uP打印机接口:
ORG 0000H
LJMP MAIN
ORG 0013H
LJMP INTS
MAIN:MOV R0,#7FH ;控制口地址
MOV A,#0A0H ;工作方式控制字(A口方式1输出)
MOV @R0,A ;控制字写入8255
MOV R1,#20H ;打印数据缓冲区首地址
MOV R2,#10H ;待打印字符数
MOV E1,84H ;允许INT1中断,EA=1,EX1=1
INTS:MOV R0,#7CH ;8255A口地址
MOV A,@R1 ;打印数据送A
MOVX @R0,A ;打印数据送8255A口
INC R1 ;修改字符地址
DJNZ LAST ;待打印字符数未传送完转LAST
MOV EI,#00H ;待打印字符数传送完后禁止中断
LAST:RETI; ;中断返回
PAGE
8