单片机基础第三版课后习题答案.doc

上传人:h**** 文档编号:1377481 上传时间:2019-02-23 格式:DOC 页数:13 大小:81.50KB
下载 相关 举报
单片机基础第三版课后习题答案.doc_第1页
第1页 / 共13页
单片机基础第三版课后习题答案.doc_第2页
第2页 / 共13页
单片机基础第三版课后习题答案.doc_第3页
第3页 / 共13页
单片机基础第三版课后习题答案.doc_第4页
第4页 / 共13页
单片机基础第三版课后习题答案.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、第一章:一、填空题1 1110 0EH 10011100 011001002 43. 255 -514. 输入设备5. 846. 630 * 8 * 10247. 位 字节 字 bit btype word8. 1111 1111 00100100 110110119. 110 89 -115 -50二、单选:DBCAB BBCB第二章:一、填空1 PC PC 2 反向器 晶振 两只电容 短3 加电 手动 0000H 07H 第 0 00H 07H4 6 2 1 125 DPTR DPH DPL 6 64KB单选题DCCAC AD 第三章:一、填空题:1 10312 34H 1 1 13 略4

2、 1100H5 26 30H 71H0A5H0A5H75H0A7H0AAH 0 1IFH 1 10AAH 0 120H 1 00D5H 1 149H 0 0二、单选题CCBDCA三、其它类型题错 错 对错 错 错 对 错 错 错 错 对对 对 对错 对 对错 对 错 错 对(三)其它类型题3编写程序将 RAM20H23H 单元的高 4 位写 1,低 4 位写 0。分析:就是把这四个单元写入 F0H。用一个 DJNZ 的循环。ORG 0000HMOV R0,#1FH ;R0 指向 20H 单元MOV R5,#04H; 四个数LOOP: INC R0MOV R0,#0F0H ; 写入DJNZ R5

3、,LOOP ; 循环 4 次END4把 m 和 m+1 单元存有两个 BCD 数,将它们合并到 m 单元中,编写程序完成。(设 m=30H, 高位在 30H,低数在 31H)ORG 0000HMOV A,30HANL A,#0FH ;把它的高四位清零SWAP AMOV 30H ,A ;高低四位调一下,放回原处MOV A,31HANL A,#0FHORL A,30H ;合并起来MOV 30H,AEND5.将内部 RAM 中从 data 单元开始的 10 个无符号数相加,其和送 sum 单元多,假定相加结果小于 255。编写程序完成。(设 data=30H, sun =50H)ORG 0000HM

4、OV R0,#2FH ; 指向前一个单元MOV R5,#0AH ;循环 10 次CLR A ;先加到 A 中LOOP: INC R0ADD A,R0DJNZ R5,LOOPMOV 50H,AEND6假定 8 位二进制带符号数丰于 R0 中,要求编写一个求补程序,所得补码入入R1 中。ORG 0000HMOV A,R0CPL A ;按位取反ADD A,#01H ;1MOV R1,AEND第四章:一、填空题1. 25H 40H 03H22.914ms3.略4 (A) =(30H) (A) (30H) (A) (30H) (A) (30H)5. 32.87ms编程题1把长度为 10H 的字符串从内部

5、 RAM 的输入缓冲区 inbuf 向位物外部 RAM 的输出缓冲区 outbuf 传送,一直进行到遇见回车或整个字符串传送完毕。试编程实现。ORG 0030HMOV R0,#inbufMOV R1,#outbuf MOV R4,#10HLOOP:MOV A,R0 ; 从内部 RAM 取数CJNE A,#0DH,LL ;是否为回车符 CRSJMP STOP ;是转停止传送LL: MOVX R1,A ;不是则传送到外部 RAM INC R0INC R1 DJNZ R4,LL;沒传送完则循环STOP: SJMP $2、内部 RAM 从 list 单元开始存放一正数表,表中之数作无序排列,并以“-1

6、”作结束标志。编程实现在表中找出最小数。(3AH 存放在运行程序时的最小的数) ORG 0030HMOV R0,#listMOV A,R0 ;取第一个正数LOOP: INC R0 ;指向下一个正数MOV 3AH,R0CJNE A,3AH,CHK ;前一个数与后一个数比较CHK: JC LOOP1 ;前一个数小,则转MOV A,R0 ;前一个数大,取后一个数LOOP1: XCH A,3AHCJNE A,#0FFH,LOOPXCH A,3AH ;取最小数MOV 3BH,ASJMP $3.内部 RAM 的 X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入 Z 单元中。

7、若 X 为正奇数,Z XY;若 X 为正偶数,Z XY;若 X 为负奇数,Z XY;若 X 为负偶数,Z XY。分析:负数:第 7 位为 1,正数:第 7 位为 0奇数:第 0 位为 1,偶数:第 0 位为 0 ORG 0000HMOV A,20HCLR CRL AJC FS ;移到负数处处理RR ARR A ;第 0 位移到 C 再判定一下是不是 1JC ZJS ;到正奇数处MOV A,20HORL A,21HMOV 22H,ASJMP OKZJS: MOV A,20HADD A,21HMOV 22H,ASJMP OKFS: MOV A,20HCLR CRR AJC FJS ;第 0 位是

8、1,移到正 奇数处理MOV A,20HXRL A,21HMOV 22H,ASJMP OKFJS: MOV A,20HANL A,21HMOV 22H,AOK: END4、把一个 8 位二进制数的各位用 ASCII 码表示之(亦即为“0”的位用 30H 表示,为“1”的位用 31H 表示) 。该数存放在内部 RAM 中 byte 单元中。变换后得到的 8 个ASCII 码存放在外部 RAM 以 buf 始的存储单元中去。ORG 0030HMOV R0,#byteMOV DPTR,#bufMOV R5,#08HMOV A,R0LOOP: RLC AMOV R7,AJC LOOP1 MOV A,#3

9、0HSJMP LOOP2LOOP1: MOV A,#31HLOOP2: MOVX DPTR,AMOV A,R7INC DPTRDJNZ R5,LOOP5.编程实现运算式 c = a2+b2 假定 a、 b、 c 3 个数分别存放在内部 RAM 的DA、DB、DC 单元中,别有平方运算子程序调用。(内部 RAM 的 DA、DB、DC 单元设为 20H 21H 22H) ORG 0000HMOV A,20HPUSH ACCAJMP SQRPOP ACCMOV 22H,AMOV A,21HPUSH ACCAJMP SQRPOP ACCADD A,22HMOV 22H,AEND6、比较两个 ASCII

10、 码字符串是否相等。字符串的长度在内部 RAM 41H 单元,第一个字符串的首地址为 42H,第二个字符串的首地址为 52H。如果两个字符串相等,则置内部 RAM 40H 单元为 00H;否则置 40H 单元为 FF。ORG 0030HMOV R0,#42HMOV R1,#52HMOV R7,41H ;字符串长度LOOP: MOV A,R0MOV 30H,R1 CJNE A,30H,LKINC R0INC R1DJNZ R7,LOOPMOV 40H ,#00HSJMP DDLK: MOV 40H,#0FFHDD: SJMP DD7.外部 RAM 首址为 table 的数据表中,有 10 个字节的数据。编程将每个字节的最高位无条件地置“1” 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。