单片机原理作业CXH答案.docx
- 文档编号:27610630
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:16
- 大小:17.35KB
单片机原理作业CXH答案.docx
《单片机原理作业CXH答案.docx》由会员分享,可在线阅读,更多相关《单片机原理作业CXH答案.docx(16页珍藏版)》请在冰豆网上搜索。
单片机原理作业CXH答案
单片机编程题
一、简单小程序编制:
注:
所有多字节数的低字节都在低地址;R0或R1均指向内部RAM的最低字节。
1、将30H、31H单元内容与T0计数器的TL0、TH0交换。
保持其它R和M不变。
解:
MOVA,R0
XCHA,30H
MOVTL0,A
MOVA,TH0
XCHA,31H
MOVTH0,A
2、将30H、31H单元内容与5C30H、5C31H交换。
保持其它R和M不变。
解:
MOVDPTR,#5C30H
MOVXA,@DPTR
XCHA,30H
MOVX@DPTR,A
INCDPTR
MOVXA,@DPTR
XCHA,31H
MOVX@DPTR,A
3、将30H、31H单元内容与R0指向的两字节单元交换。
保持其它R和M不变。
解:
MOVA,@R0
XCHA,30H
MOV@R0,A
INCR0
MOVA,@R0
XCHA,31H
MOV@R0,A
4、将30H、31H单元内容与DPTR指向的两字节单元交换。
保持其它R和M不变。
解:
MOVXA,@DPTR
XCHA,30H
MOVX@DPTR,A
INCDPTR
MOVXA,@DPTR
XCHA,31H
MOVX@DPTR,A
5、将30H、31H单元内容存入5C30H、5C31H单元。
保持其它R和M不变。
解:
MOVA,30H
MOVDPTR,#5C30H
MOVX@DPTR,A
MOVA,31H
INCDPTR
MOVX@DPTR,A
6、将30H、31H单元内容加上数03C4H后存入5C30H、5C31H单元。
解:
MOVA,30H
ADDA,#0C4H
MOVDPTR,#5C30H
MOVX@DPTR,A
MOVA,31H
ADDCA,#03H
INCDPTR
MOVX@DPTR,A
7、将30H、31H单元内容减去数03C4H后存入5C30H、5C31H单元。
解:
CLRC
MOVA,30H
SUBBA,#0C4H
MOVDPTR,#5C30H
MOVX@DPTR,A
MOVA,31H
SUBBA,#03H
INCDPTR
MOVX@DPTR,A
8、将30H、31H单元内容除以2后存入5C30H、5C31H单元。
解:
MOVA,31H
CLRC
RRCA
MOVDPTR,#5C31H
MOVX@DPTR,A
MOVA,30H
RRCA
MOVDPTR,#5C30H
MOVX@DPTR,A
9、将30H、31H单元内容乘以2后存入5C30H、5C31H单元。
解:
MOVA,30H
CLRC
RLCA
MOVDPTR,#5C30H
MOVX@DPTR,A
MOVA,31H
RLCA
INCDPTR
MOVX@DPTR,A
10、将30H、31H单元内容减1。
保持其它R和M不变。
解:
MOVA,30H
DJNZL0
DEC31H
SJMP$
L0:
DEC30H
11、将30H、31H单元内容加1。
保持其它R和M不变。
解:
INC30H
MOVA,30H
JNZOK
INC31H
OK:
……………..
12、将外部RAM中的5C30H、5C31H单元内容乘以2。
保持其它R和M不变。
解:
MOVDPTR,#5C30H
CLRC
MOVXA,@DPTR
RLCA
MOVX@DPTR,A
INCDPTR
MOVXA,@DPTR
RLCA
MOVX@DPTR,A
13、将外部RAM中的5C30H、5C31H单元内容除以2。
保持其它R和M不变。
解:
MOVDPTR,#5C31H
CLRC
MOVXA,@DPTR
RRCA
MOVX@DPTR,A
DECDPL
MOVXA,@DPTR
RRCA
MOVX@DPTR,A
14、将30H的低半字节和31H单元的高半字节交换。
解:
MOVA,31H
SWAPA
MOVR0,#30H
XCHDA,@R0
SWAPA
MOV31H,A
15、将30H的高半字节和31H单元的高半字节交换。
解:
MOVA,30H
XCHA,31H
MOVR0,#31H
XCHDA,@R0
MOV30H,A
16、将30H、31H单元的4位16进制数的中间两位数交换。
解:
MOVA,30H
SWAPA
MOVR0,#31H
XCHDA,@R0
SWAPA
MOV30H,A
MOVA,@R0
MOV31H,A
17、如果INT0为低,则位30H改为它的值与P0口最低位的“反”相“与”后的值;否则,清30H位。
解:
JBP3.2,L0
MOVC,30H
ANLC,/P0.0
MOV30H,C
SJMP$
L0:
CLR30H
18、如果INT0为低,则位30H改为它的值与P0口最高位的“反”相“或”后的值;否则,清30H位。
解:
JBP3.2,L0
MOVC,30H
OPLC,/P0.7
MOV30H,C
SJMP$
L0:
CLR30H
19、如果INT0为高,则,位30H改为它的值与P0口最低位相“或”后的值;否则,取反30H位。
解:
JNB30H,L0
MOVC,30H
ORLC,P0.0
MOV30H,C
SJMP$
L0:
CPL30H
20、如果INT0为低,则A的最低位与A的最高位对调;否则,清除A。
解:
JBP3.2,L0
MOVC,ACC.0
MOV0,C
MOVC,ACC.7
MOVACC.0,C
MOVC,0
MOVACC.7,C
SJMP$
L0:
CLR,A
21、如果INT1为高,则A的最低位改为它的值与A的最高位的“反”相“与”后的值;否则,取反A。
解:
JNBP3.3,L0
MOVC,ACC.0
ANLC,/ACC.7
MOVACC.0,C
SJMP$
L0:
CPLA
22、改变30H单元为加上数0F7H后的值,如果产生进位,则设置F0标志;否则,清除F0标志。
解:
MOVA,30H
ADDA,#0F7H
MOV30H,A
JCL0
CLRF0
SJMP﹩
L0:
SETBF0
23、改变30H单元为减去数0F7H后的值,如果产生进位,则设置F0标志;否则,清除F0标志。
解:
CLRC
MOVA.30H
SUBBA,#0F7H
MOV30H,A
JCL0
SETBF0
SJMP$
L0:
CLRF0
24、如果30H内容等于数80H,则,P1.0置位;否则,P1.0清零。
保持其它R和M不变。
解:
MOVA,30H
CJNEA,80H,L0
SETBP1.0
SJMP$
L0:
CLRP1.0
25、改变30H、31H单元内容为乘以2后的值,如果产生进位,则,工作寄存器换用寄存器组1。
解:
CLRC
MOVA,30H
RLCA
MOV30H,A
MOVA,31H
RLCA
MOV31H,A
JNCCON
CLRRS1
SETBRS0
CON:
……………..
26、改变30H、31H单元内容为除以2后的值,如果余数为1,则工作寄存器换用寄存器组3。
解:
MOVA,31H
CLRC
RRCA
MOV31H,A
MOVA,30H
RRCA
MOV30H,A
JNCL0
SETBRS1
SETBRS0
L0:
…………….
27、已知晶振频率为8MHZ,编一个子程序,延时150微秒。
保持其它R和M不变。
解:
DELAY:
MOVR7,#16H
NOP
L1:
NOP
NOP
NOP
NOP
DJNZR7,L1
RET
28、已知晶振频率为6MHZ,编一个子程序,延时30微秒。
保持其它R和M不变。
解:
DELAY:
MOVR7,#07H
L1:
DJNZR7,L1
RET
29、将从10H开始的64单元内容异或数5AH。
保持其它R和M不变。
解:
MOVR2,#64H
MOVR0,#10H
MOVA,#5AH
L00P:
XPLA,@R0
MOV@R0,A
INCR0
DJNZR2,LOOP
30、将由R0寻址的32个单元内容清为零。
保持其它R和M不变。
解:
CLRA
MOVR2,#32H
LOOP:
MOV@R0,A
INCR0
DJNZR2,LOOP
31、将由R0寻址的32个单元内容移到R1寻址的单元中。
保持其它R和M不变。
解:
MOVR2,#32H
LOOP:
MOVA,@R0
MOV@R1,A
INCR0
INCR1
DJNZR2,LOOP
32、将由R0寻址的16个单元内容改为与R1寻址的单元相“异或”后的值。
保持其它R和M不变。
解:
MOVR2,#16H
LOOP:
MOVA,@R0
XPLA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR2,LOOP
33、将由R0寻址的32个单元内容改为与R1寻址的单元相“或”后的值。
保持其它R和M不变。
解:
和32是一样的。
34、将由DPTR寻址的100个单元中找出第一个内容为00H的单元,其地址存入30H、31H。
解:
MOVR7,#100
LOOP:
MOVXA,@DPTR
JNFINDZ
INCDPTR
DJNZR7,LOOP
SJMP﹩
FINDZ:
MOV30H,DPL
MOV31H,DPH
35、将从5C00H开始的100个单元内容移到5E00H开始的单元中。
解:
MOVR7,#100H
MOVDPTR,#5C00H
MOVP2,#5EH
MOVR0,#00H
LOOP:
MOVXA,@DPTR
MOVX@R0,A
INCDPTR
DJNZR7,LOOP
36、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“或”后的值。
解:
MOVR7,#100
MOVDPTR,#5C00H
MOVP2,#5EH
MOVR0,#00H
LOOP:
MOVXA,@DPTR
ORLA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR7,LOOP
37、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“异或”后的值。
解:
和36一样,只需改为XRL
38、将从5C00H开始的100个单元中找出第一个内容为00H的单元,其地址存入30H、31H。
解:
MOVR2,#100
MOVDPTR,#5C00H
L1:
MOVXA,@DPTR
JZL0
INCDPTR
DJNZR2,L1
SJMP﹩
L0:
MOV30H,DPL
MOV31H,DPH
39、将从5C00H开始的100个单元中找出第一个内容不为00H的单元,其地址存入30H、31H。
解:
和38换成JNZ即可
40、将从5C00H开始的100个单元中找出最大的数和存该数的单元,数存入40H,地址存入30H,31H。
解:
MOVR7,#100
MOVDPTR,#5C00H
MOV40H,#0
LOOP:
MOVXA,@DPTR
CJNEA,40H,LI
L1:
JCL2
MOV40H,A
MOV30H,DPL
MOV31H,DPH
L2:
INCDPTR
DJNZR7,LOOP
SJMP﹩
41、将从5C00H开始的100个单元中找出最小的数和存该数的单元,数存入40H,地址存入30H,31H。
解:
MOVR7,#100
MOVDPTR,#5C00H
MOV40H,#0FFH
LOOP:
MOVXA,@DPTR
CJNEA,40H,LI
L1:
JNCL2
MOV40H,A
MOV30H,DPL
MOV31H,DPH
L2:
INCDPTR
DJNZR7,LOOP
SJMP﹩
42、将从5C00H开始的100个单元中找出第一个偶数和存该数的单元,数存入40H,地址存入30H,31H。
解:
MOVR7,#64H
MOVDPTR,#5C00H
LOOP:
MOVXA,@DPTR
JNBACC.0,L0
INCDPTR
DJNZR7,L1
SJMP﹩
L0:
MOV40H,A
MOV30H,DPL
MOV31H,DPH
43、将从5C00H开始的100个单元中找出第一个奇数和存该数的单元,数存入40H,地址存入30H,31H。
解:
和42是一样的,改为JB
44、编查表子程序,按40H中的索引数查出存在5C00H中的100个三字节数,存入30H,31H,32H。
45、编多分支转移程序段,按40H中的索引数,取转移地址表中的两字节地址,进行跳转。
46、将R0指向的三字节带符号数取负后存回。
解:
MOVA,@R0
CPLA
ADDA,#01H
MOV@R0,A
INCR0
MOVA,@R0
ADDCA,#00H
MOV@R0,A
INCR0
MOVA,@R0
ADDCA,#00H
MOV@R0,A
47、将R0指向的三字节数取R2R3乘以R4的积。
48、将R0指向的二字节带符号数乘以2,校验是否溢出。
解:
CLRC
MOVA,@R0
RLCA
MOV@R0,A
INCR0
MOVA,@R0
RLCA
MOV@R0,A
XRLC,ACC.7
JCOVERFLAW
实验编程
1.将20H位单元送给B的最高位。
解:
CLRC
MOVC,20H
MOVB.7,C
2.将程序存储器2000H单元内容送往片外RAM1000H单元。
解:
CLRA
MOVDPTR,#2000H
MOVCA,@A+DPTR
MOVP2,#10H
MOVR0,#00H
MOVX@R0,A
3.R1与上P2和R0所指出的外部RAM单元内容,结果仍放入R1中。
解:
MOVA,R1
ANLA,P2
4.比较30H、31H、32H三个单元的内容,将最大的数给B。
解:
5.将外部RAM5C30H开始的99个单元内容清零。
解:
MOVR2,#99
MOVDPTR,#5C30H
LOOP:
MOVA,#00H
MOVX@DPTR,A
INCDPTR
DJNZR2,LOOP
答案错误的题目:
1、利用堆栈将A、B值传给R2、R3
解:
CLRPSW.3
CLRPSW.4
PUSHAcc
PUSHB
POP03H
POP02H
2.将30H开始的16个数中大于等于80H的单元内容放入50H以后的相应单元中
解:
MOVR0,#30H
MOVR1,#50H
MOVR6,#16H
LOOP:
MOVA,@R0
JNBACC.7,NPUT
MOV@R1,A
NPUT:
INCR0
INCR1
DJNZR6,LOOP
RET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 作业 CXH 答案