单片机课后答案Word格式文档下载.docx
《单片机课后答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机课后答案Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
MOVR0,A
MOVA,R1
MOVR1,A
MOVA,R2
MOVR2,A
DJNZR7,LOOP
SJMP$
把R2R1R0左移4位
3-6
START:
SETBP1.0
NEXT:
MOV30H,#10;
2us
LOOP2:
MOV31H,#0FAH;
LOOP1:
NOP;
1us
NOP;
DJNZ31H,LOOP1;
DJNZ30H,LOOP2;
CPLP1.0;
AJMPNEXT;
方波周期为=2×
(2+(2+(1+1+2)×
250+2)×
10+1+2)
=20090us=20.090ms
3-8
MOVSP,#2FH
MOVDPTR,#2000H
MOVR7,#50H
MOVXA,@DPTR
PUSHA
DJNZR7,NEXT
Sp指向2FH+50H=7FH
3-10
XCHA,30H
MOVB,A
ANLA,#0FH
MOV33H,A
MOVA,B
SWAPA
ANLA,#15
MOV34H,A
结果:
(30H)的低4位送到33H单元,高4位送到34H单元
3-20
MOVA,R0
CPLA
JZLABEL1
INCA
JZLABEL2
当(R0)=FFH时转向LABEL1;
当(R0)=00H时转向LABEL2;
3-24
PSW.5=P1.3^ACC.2vB.5^P1.1
MOVC,P1.3
ANLC,ACC.2
ORLC,B.5
ANLC,P1.1
MOVPSW.5,C
4-5求8个数的平均值
设计思路:
先用8次循环求8个数的和(和用两个字节表示),再将该和右移三位以实现除8运算。
方法一:
ORG1000H
MOVR0,#30H
MOVR7,#08H
MOVR2,#00H
MOVR3,#00H
MOVA,R3
ADDA,@R0
MOVR3,A
ADDCA,#00H
INCR0
DJNZR7,LOOP1
;
右移3位相当于除8
MOVR7,#03H
RRCA
DJNZR7,LOOP2
MOV38H,R3
END
方法二:
ORG0030H
MOVR7,#7
MOVR3,#0
MOVA,30H
MOVR0,#31H
ADDA,@R0
JNCNEXT
INCR3
INCR0
DJNZR7,LOOP
MOVR2,A
4-6把外部RAM的数据移入内部RAM
ORG1000H
MOVDPTR,#2000H
MOV@R0,A
INCDPL
END
MOVSP,#2FH
MOVDPTR,#2000H
MOVR7,#50H
MOVXA,@DPTR
PUSHA
INCDPL;
或者INCDPTR
DJNZR7,NEXT
SJMP$
4-7求内部RAM数据块最小数
BLOCKDATA30H
LENDATA10H
MINIDATA20H
MOVR0,#BLOCK
MOVR7,LEN
DECR7
MOVA,@R0
LOOOP:
CLRC
SUBBA,@R0
JCNOP1
MOVA,@R0
SJMPNOP2
NOP1:
MOVA,B
NOP2:
INCR0
MOVMINI,A
4-13SIGN函数
VARDATA30H
FUNCDATA31H
MOVA,VAR
JNBACC.7,GOE
MOVFUNC,#FFH
SJMPFINISH
GOE:
JNZGR
MOVFUNC,#0
SJMPFINISH
GR:
MOVFUNC,#1
FINISH:
SJMP$
注意:
使用CJNE指令,会影响Cy位
4-1616分支跳转
JMP16:
MOVA,R3
RLA
ADDA,R3
MOVDPTR,#PRGTBL
JMP@A+DPTR
PRGTBL:
LJMPROOT00
LJMPROOT01
LJMPROOT02
……………………………
LJMPROOT15
LJMPAddr16和AJMPAddr11的区别
4-18查平方表
SQR:
MOVA,R3;
R3是入口参数,也是出口参数
ANLA,#15
ADDA,#02H
MOVCA,@A+PC
MOVR3,A
RET
SQRTAB:
DB00,01,04,09,16
DB25,36,49,64,81
DB100,121,144,169,196
4-23测试芯片功能
A1BITP1.0
B1BITP1.1
C1BITP1.2
D1BITP1.3
E1BITP1.4
F1BITP1.5
G1BITP1.6
H1BITP1.7
Y1BITP3.0
TEST:
MOVC,A1
ANLC,B1
ANLC,C1
ANLC,D1
MOVF0,C
MOVC,E1
ANLC,F1
ANLC,G1
ANLC,H1
ORLC,F0
CPLC
MOVY1,C
JCLOOP
JCLOW
SETBY1
SJMPNEXT
LOW:
CLRY1
5-5答:
当使用MOVC和MOVX对外部存储器(外部程序存储器和外部数据存储器)进行读写操作时,会产生地址锁存ALE信号,接在地址锁存器的使能端G;
当对外部程序存储器进行读操作,即MOVC指令,会产生PSEN信号;
当对外部数据存储器进行读/写操作,即MOVX指令,会产生WR和RD信号
5-10答:
1)
2)采用线选法译码,不重叠时地址分配应为:
P2.7=1,P2.6=1,P2.5=0地址为C000H~DFFFH
P2.7=1,P2.6=0,P2.5=1地址为A000H~BFFFH
P2.7=0,P2.6=1,P2.5=1地址为6000H~7FFFH
5-11答:
2)如果RAM地址为
8000H~BFFFH时两片6264的CE端分别接Y4,Y5
C000H~FFFFH时两片6264的CE端分别接Y6,Y7
5-12答
2)再加16k的ROM——27128应注意的问题
方法:
地址总线D0~D7,数据总线A0~A13,PSEN接27128的OE端,27128的CE端接地或者接P2.6/P2.7(访问ROM时,地址中P2.6/P2.7应为0)。
第六章作业讲解
6-712Mhz时,一个机器周期为1us,则
a)设置1ms对称方波时,应定时0.5ms,P1.0取反输出,T0方式0时,应设置TH0=F0H,TL0=0CH
b)设置2ms(1:
3)不对称方波时,应设置定时,高电平0.667ms,低电平1.333ms,T1方式1时,应设置TH1=FDH,TL1=65H,并设置高电平计数1次,低电平计数2次
参考程序
ORG0000H
LJMPSTART
ORG000BH
SJMPTIME0
ORG001BH
SJMPTIME1
ORG0030H
MOVSP,#60H
MOVTMOD,#10H
MOVTH0,#0F0H
MOVTL0,#0CH
MOVTH1,#0FDH
MOVTL1,#65H
SETBEA
SETBET0
SETBET1
SETBTR0
SETBTR1
MOVR7,#03H
TIME0:
MOVTH0,#0F0H
CPLP1.0
RETI
TIME1:
MOVTH1,#0FDH
DJNZR7,FAN
SETBP1.1
SJMPFINISH
FAN:
CLRP1.1
RETI
CLRP1.1
MOVTH1,#0FDH
INCR1
CJNER1,#3,FINISH
CLRR1
CPLP1.1
FINIS