资源描述
单片机复习概要
1、内部RAM 50H单元开始有15个字节的无符号数,编一个程序找出其最小值,并将结果存放到60H单元。
ORG 0100H
MAIN:MOV R0,#51H
MOV A,@R0
MOV R1,#14
LOOP:CJNE A,50H,L1
L1:JC L2
MOV 50H,A
L2:INC R0
DJNZ R1,LOOP
MOV 60H,50H
AJMP $
END
2、已知在累加器A中存放一个BCD数(0~9),请编程实现一个查平方表的子程序。
ORG 0100H
MAIN:MOV DPTR,#TAB
MOVC A,@A+DPTR
TAB:DB 0,1,4,9,16,25,36,49,64,81
END
3、将R7中的无符号数乘以2送到R6和R7中,R6存放高位,R7存放低位。
ORG 0100H ORG 0100H
MAIN:MOV A,R7 MAIN:MOV A,R7
RLC A MOV B,#02H
MOV R7,A MUL AB
CLR A MOV R7,A
RLC A MOV R6,B
MOV R6,A AJMP $
AJMP $ END
END
4、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?
A=0F8H 11111000
ADD A,#0A9H +10101001
110100001
CY=1(进位) ,OV=0(6位和7位仅有一个进位为1,其他为0),AC=1(低四位进位),P=1(八位中1的个数)
5、应用定时器T1的方式2,对引脚P3.5(T1)的脉冲进行计数,以中断方式每计满200个数对P1.1引脚改变电平状态,写出计数初值并编写程序。
计数200次,即(28-x)=200,x=56=38H
ORG 0000H ORG 0100H
AJMP MAIN MAIN:MOV TMOD #60H
ORG 001BH MOV TH1,#56
AJMP INT1 MOV TL1,#56
ORG 0100H SETB TR1
MAIN:MOV TMOD #60H LOOP:JNB TF1,LOOP
MOV TH1,#56 CPL P1.1
MOV TL1,#56 CLR TF1
SETB TR1 AJMP LOOP
SETB ET1 END
SETB EA
AJMP $
INT1:CPL P1.1
RETI
END
6、使用定时/计数器0以工作方式2实现定时,在P1.0输出周期为200μs的连续方波。已知晶振频率fosc=6MH。求计数初值,方式控制字,编制相应程序。
(周期200μs,即每经过100μs变换一次状态,定时时间为100μs)。
(28-x)×2×10-6=10-4 x=206,TMOD=02H
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP INT1
ORG 0100H
MAIN:MOV TMOD #02H
MOV TH1,#206
MOV TL1,#206
SETB TR0
SETB ET0
SETB EA
AJMP $
INT1:CPL P1.0
RETI
END
七、MCS-51单片机与8255A并行接口芯片接线如图所示(20分)
1、74LS373芯片的作用是什么?地址锁存
2、分别写出8255A的控制口地址,A口地址、B口地址;(A7接片选CS,A1、A0分别接8255的A1、A0)
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1
A: 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0--FF7C
B: 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1--FF7D
C: 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0--FF7E
D: 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1--FF7F
3、写出定义 B口为基本输入,A口为基本输出的控制字;
B口输入对应D1为1,A口输出对应D4为0,其它位为0,控制字为82H。
4、编写程序连续读取B口10个数据存入内部RAM20H开始单元,并统计10个数据中大于127的数的个数存入R6寄存器。
ORG 0100H
MAIN:MOV R6,#0
MOV R1,#10
MOV R0,#20H
MOV A,#82H
MOV DPTR,#0FF7FH
MOVX @DPTR,A
MOV DPTR,#0FF7DH
L2:MOVX A,@DPTR
MOV @R0,A
INC R0
CJNE A,#127,L3
AJMP L1
L3:JC L1
INC R6
L1:DJNZ R1,L2
AJMP $
END
八、8051扩展2片8K的RAM和2片8EPROM,画出电路连接图,指出各芯片的地址。
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0--6000H
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1--7FFFH
6264、2764分别为数据存储器和程序存储器,且地址接线相同,故地址范围也相同均为6000H~~7FFFH
展开阅读全文