单片机基础第三版课后答案李广弟.pdf_第1页
单片机基础第三版课后答案李广弟.pdf_第2页
单片机基础第三版课后答案李广弟.pdf_第3页
单片机基础第三版课后答案李广弟.pdf_第4页
单片机基础第三版课后答案李广弟.pdf_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

* 第一章:第一章: 一、填空题 111100EH1001110001100100 24 3.255-51 4.输入设备 5.84 6.630 * 8 * 1024 7.位字节字bitbtypeword 8.1111 11110010010011011011 9.11089-115-50 二、单选: DBCABBBCB 第二章:第二章: 一、填空 1PCPC 2反向器晶振两只电容短 3加电手动0000H07H第 000H07H 462112 5DPTRDPHDPL 664KB 单选题 DCCACAD 第三章:第三章: 一、填空题: 11031 234H111 3略 41100H 52 630H71H 0A5H 0A5H 75H 0A7H 0AAH01 IFH11 0AAH01 20H10 0D5H11 49H00 二、单选题 CCBDCA 三、其它类型题 错错对 错错错 对错错 错错对 对对对 错对对 错对错 错对 (三)其它类型题 3编写程序将 RAM20H23H 单元的高 4 位写 1,低 4 位写 0。 分析:就是把这四个单元写入 F0H。用一个 DJNZ 的循环。 ORG 0000H MOV R0,#1FH ;R0 指向 20H 单元 MOV R5,#04H;四个数 LOOP:INC R0 MOV R0,#0F0H ;写入 DJNZ R5,LOOP ;循环 4 次 END 4把 m 和 m+1 单元存有两个 BCD 数,将它们合并到 m 单元中,编写程序完成。 (设 m=30H, 高位在 30H,低数在 31H) ORG 0000H MOVA,30H ANLA,#0FH;把它的高四位清零 SWAPA MOV 30H ,A;高低四位调一下,放回原处 MOVA,31H ANLA,#0FH ORLA,30H;合并起来 MOV 30H,A END 5.将内部 RAM 中从 data 单元开始的 10 个无符号数相加,其和送 sum 单元多,假定相加结果小于 255。编写程序完成。 (设 data=30H, sun =50H) ORG 0000H MOV R0,#2FH ; 指向前一个单元 MOV R5,#0AH;循环 10 次 CLRA;先加到 A 中 LOOP:INC R0 ADDA,R0 DJNZR5,LOOP MOV 50H,A END 6假定 8 位二进制带符号数丰于 R0 中,要求编写一个求补程序,所得补码入入 R1 中。 ORG 0000H MOVA,R0 CPLA;按位取反 ADDA,#01H;1 MOVR1,A END 第四章:第四章: 一、填空题 1.25H40H03H 22.914ms 3.略 4 (A) =(30H)(A) (30H)(A) (30H) 5. 32.87ms 编程题 1把长度为 10H 的字符串从内部 RAM 的输入缓冲区 inbuf 向位物外部 RAM 的输出缓冲区 outbuf 传送,一直进行到遇见回车或整个字符串传送 完毕。试编程实现。 ORG0030H MOVR0,#inbuf MOVR1,#outbuf MOVR4,#10H LOOP:MOVA,R0; 从内部 RAM 取数 CJNEA,#0DH,LL;是否为回车符 CR SJMPSTOP;是转停止传送 LL:MOVXR1,A;不是则传送到外部 RAM INCR0 INCR1 DJNZR4,LL;沒传送完则循环 STOP:SJMP $ 2、内部 RAM 从 list 单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。编程实现在表中找出最小数。 (3AH 存放在运行程序时的最小的数) ORG0030H MOV R0,#list MOV A,R0;取第一个正数 LOOP: INC R0;指向下一个正数 MOV 3AH,R0 CJNE A,3AH,CHK;前一个数与后一个数比较 CHK:JCLOOP1;前一个数小,则转 MOV A,R0;前一个数大,取后一个数 LOOP1:XCH A,3AH CJNE A,#0FFH,LOOP XCH A,3AH;取最小数 MOV3BH,A SJMP $ 3.内部 RAM 的 X,Y单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入 Z 单元中。 若 X 为正奇数,ZXY; 若 X 为正偶数,ZXY; 若 X 为负奇数,ZXY; 若 X 为负偶数,ZXY。 分析:负数:第 7 位为 1,正数:第 7 位为 0 奇数:第 0 位为 1,偶数:第 0 位为 0 ORG 0000H MOV A,20H CLR C RL A JCFS;移到负数处处理 RR A RR A ;第 0 位移到 C再判定一下是不是 1 JC ZJS;到正奇数处 MOV A,20H ORL A,21H MOV 22H,A SJMP OK ZJS:MOV A,20H ADD A,21H MOV 22H,A SJMP OK FS:MOV A,20H CLR C RR A JC FJS;第 0 位是 1,移到正奇数处理 MOV A,20H XRL A,21H MOV 22H,A SJMP OK FJS:MOV A,20H ANL A,21H MOV 22H,A OK:END 4、把一个 8 位二进制数的各位用 ASCII 码表示之(亦即为“0”的位用 30H 表示,为“1”的位用 31H 表示) 。该数存放在内部 RAM 中 byte 单元中。变换后得到的 8 个 ASCII 码存放在外部 RAM 以 buf 始的存储单元中去。 ORG0030H MOVR0,#byte MOVDPTR,#buf MOVR5,#08H MOVA,R0 LOOP: RLCA MOVR7,A JCLOOP1 MOVA,#30H SJMPLOOP2 LOOP1:MOVA,#31H LOOP2: MOVXDPTR,A MOVA,R7 INCDPTR DJNZR5,LOOP 5.编程实现运算式 c = a2+b2假定 a、 b、 c 3 个数分别存放在内部 RAM 的 DA、DB、DC 单元中,别有平方运算子程序调用。 (内部 RAM 的 DA、DB、DC 单元设为 20H21H22H) ORG 0000H MOV A,20H PUSH ACC AJMP SQR POP ACC MOV 22H,A MOV A,21H PUSH ACC AJMP SQR POP ACC ADD A,22H MOV 22H,A END 6、比较两个 ASCII 码字符串是否相等。字符串的长度在内部 RAM 41H 单元,第一个字符串的首地址为 42H,第二个字符串的首地址为 52H。如 果两个字符串相等,则置内部 RAM 40H 单元为 00H;否则置 40H 单元为 FF。 ORG0030H MOV R0,#42H MOV R1,#52H MOV R7,41H ;字符串长度 LOOP: MOV A,R0 MOV 30H,R1 CJNE A,30H,LK INCR0 INCR1 DJNZR7,LOOP MOV40H ,#00H SJMPDD LK:MOV 40H,#0FFH DD:SJMP DD 7.外部 RAM 首址为 table 的数据表中,有 10 个字节的数据。编程将每个字节的最高位无条件地置“1”。 ORG 0030H MOVDPTR,#table MOVR6,#10 LOOP:MOVX A,DPTR SETBE7H; E7H 就是累加器 A 的最高位(ACC.7), 也可 : SETB ACC.7 MOVX DPTR,A INCDPTR DJNZ R6,LOOP 第五章第五章 一、填空题 1各项任务 2INT0T0INT1T1串口 3PCPCROM 4中断源查询状态 510000001000000/65536 = 15.26 6100 ms 7111101 8T120FFH001BH 二、单选题: DCAADCD 单片机基础第五章习题 课本 5。.1 设单片机的晶振频率为 6MHZ,使用定时器 1 以方式 0 产生 500us 的等宽正方波连续脉冲,并由 P1.0 输出。 分析:使用 P1.0 输出脉冲,可由定时器产生一个 250us 的定时,到了时间,就执行 CPLP1.0 就可以了。所以问题转化为产生定时。 解: (1)计算定时器的初值: (213X)T机T定时 代入数据得:X8067 由于方式 0 的特点(高 8 位,低 5 位) ,计算出 TH1,TL1 得 TH10FCHTL103H (2)计算出 TMOD 的初始值: TMOD00H (3)编程实现: 方法一:使用查询法。程序不断地查询TF1 的值。如定时器溢出(TF11) ,则CPLP1.0 所以:MOV TMOD,#00H MOV TH1,#0FCH MOV TL1,#03H MOV IE, #00H;不用中断的方法,关掉 SETB TR1;开启定时器 LOOP:JBC TF1,LOOP1 AJMPLOOP LOOP1:MOV TH1,#0FCH MOV TL1,#03H CPLP1.0 AJMPLOOP 方法二:使用中断的方法。需确定寄存器:TMOD00H IE88HTCON =40H (或 SETBTR1) T1 的中断向量001BH 程序如下: ORG 0000H AJMPMAIN ORG001BH AJMPT1TIMER MAIN:MOVTMOD,00H MOVTCON,40H MOVIE,#88H MOVTCON ,#40H MOV TH1,#0FCH MOV TL1,#03H Here :AJMPHere T1_TIMER:MOV TH1,#0FCH MOV TL1,#03H CPLP1.0 RETI 注意注意:定时器定时或计数,不会影响:定时器定时或计数,不会影响 CPUCPUCPUCPU 的工作。的工作。 定时方式 1:与方式 0 没有大的区别,只有定时器是 16 位的。所以 定时(2x初值)T机 方式 2:8 位初值自动赋值的定时/计数器 解法一样: (1)计算 T 的初始值(2)TMOD? (2)程序设计 方式三: T0T0T0T0: TL0TL0TL0TL08 位,可作定时也可作计数,与方式 0,一样使用。 TH0:8 位,只能作定时,借作 TR1TF1 T1T1T1T1:没法中断,只能产生不断的脉冲,全波特率 可用方式 0,1,2。如要停止脉冲,要强制设方式 3 第六章第六章

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论