单片机原理及其接口技术实验问答答案_第1页
单片机原理及其接口技术实验问答答案_第2页
单片机原理及其接口技术实验问答答案_第3页
单片机原理及其接口技术实验问答答案_第4页
单片机原理及其接口技术实验问答答案_第5页
全文预览已结束

下载本文档

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

文档简介

实验一(无符号数加法实验) 1 如果要实现2345+6789,程序应如何修改? 2 如果去掉程序中的两句“DA A”指令,有何实验现象?原因是什么? 3 如果将程序中的“ADDC”改为 ADD”, 有何实验现象?为什么? 4 如果将程序中的“ADD”改为“ADDC”,程序是否正确?为什么? 解:1将程序中66改为23, 78改为45, 67改为67, 43改为89 2结果是十进制变为十六进制,原因是“DA A”指令是十进制调整指令。 3不能改为 ADD,因为 ADDC 是带有进位 CY 的加法指令。 4 ADD 一般情况下不能改为 ADDC,因为缺少 CY 的进位,但是在本题中可以,因 为不造成进位。 实验二 闪烁灯控制 1 若将程序中的“SETB P1.1”改为“CLR P1.1”有何实验现象? 答:将程序中的“SETB P1.1”改为“CLR P1.1”,指示灯不闪烁,因为 SETB 是置位指 令,P1.1 输出置 1,CLR 使 P1.1 输出置 0,置 1 端口开启,置 0 时端口关闭,因此不闪烁。 2 若将程序中的“JNB P1.1 ,LOOP”改为“JB P1.1,LOOP”有何实验现象? 答:将程序中的“JNB P1.1,LOOP ”改为“JB P1.1,LOOP ”,会使闪光灯开关置 0 闪 烁,因为闪光灯闪烁频率由 RT 控制。 3 若要加快或减慢灯的闪烁频率,有何方法?为什么? 答:若要加快频率可将 MOV R7,#10H 改为 MOV R7,#5H,减慢频率可将 MOV R7,#10H 改为 MOV R7, #50H。 4 若将 P1.0 改为与灯 L7 连接,有何实验现象?为什么? 答:P1.1 与 L7 连接,则 L7 灯就变成了闪烁灯。因为当 P1.0 数据为 1 时,引脚上出现高 电平,导致 L7 发光,反之,数据为 0,P1.0 引脚上出现低电平不发光。 5 若将灯的开关控制由当前程序的 P1.1 控制改为由 P1.5 控制,应如何修改? 答:若将 P1.1 控制改为由 P1.5 控制,可以酱 SETB P1.1 改为 SETB P1.5 将 JNB P1.1 改为 JNB P1.5,$ 6 若将当前的 P1.0 与灯连接改为 P1.3 连接,应该如何修改程序? 答:若将当前 P1.0 与灯连接改为 PL3 灯连接,应将 CPL P1.0G 改为 CPL P1.3。 跑动灯控制 1 将程序中 RL A 改为 RR A,有何实验现象? 答:将程序中 RL A 改为 RR A,会使向左移动的【跑动灯变为右移 2 将程序中 MOV A,#88H 改为 MOV A,#77H,有何实验现象? 答:若将 MOV A,#88H 改为 MOV A,#77H,会使原先 10001000(88H 的二进制数)变为 01110111(77H 的二进制数) ,会出现灭亮亮亮灭亮亮亮的实验现象。 3 若将程序中 MOV A.#88H 改为 MOV A,#66H,有何实验现象? 答 01100110(66H 的二进制数)变为向左移动的灭亮亮灭灭亮亮灭的现象。 4 若将程序中 MOV R7,#0F7H 改为 MOV R7,#83H ,有何实验现象? 答:若将 MOV R7,#0F7H 改为 MOV R7,#83H ,则会使第一个灯无法正常跑动。 5 若将程序中 MOV R6#0FDH 改为 MOV R6,#92H,有何实验现象? 答:若将 MOV R6#0FDH 改为 MOV R6,#92H,则第二个灯无法正常跑动。 6 若要加快或减慢灯的跑动速度,可以修改哪些指令?为什么? 答:修改 R5 可改变跑动速度。 7 若要将灯的起始顺序改为灭灭亮灭灭灭亮灭,应如何修改程序?为什么? 答:若将灯的起始顺序改为灭灭亮灭灭灭亮灭,可将 MOV A#88H 改为 MOV A,#22H。因 为 00100010(22H 的二进制数) 。 实验三问题:(定时器应用) (1) 若将程序中“ORL P1,#02H”改为“CLR P1.1”,有何实验现象? (2) 若将程序中“ORL P1,#02H”改为“SETB P1.1” 有何实验现象? (3) 若将程序中“JB P1.1,LOOP1”改为“JNB P1.1,LOOP1” , 有何实验现象? (4) 若分别将程序中“CJNE R7,#05H,LOOP2”改为“CJNE R7,#03H,LOOP2”及“CJNE R7,#0FH ,LOOP2” ,各有何实验现象? (5) 若分别将程序中“SETB EA”、 “SETB ET0”及“SETB TR0”改为“CLR EA”、 “CLR ET0”、 “CLR TR0”,各有何实验现象? (6) 若分别将程序中“MOV TH0,#3CH”及“MOV TL0,#0B0H”中的数值增加 或减少,各有何实验现象?为什么? (7) 若将程序改为由定时器 1 定时,应如何修改程序? (8) 若要加快或减慢灯的闪烁频率,如何修改程序?为什么? 将“ORL,P1,#20H”改为“CLR P1.1”则会使闪光灯在置 0 时闪烁,因为 ORL 为累加器的逻辑 运算指令,CLR 为置 0 置位指令, SETB 为置 1 置位指令;将 ORL P1,#02H 改为 SETB P1.1 会导致闪光灯在 P1.1 置 1 时闪烁;若将程序中“JB P1.1,LOOP1”改为“JNB P1.1,LOOP” 则会 使原来的亮变为灭,灭变为亮;如果“CJNE R7,#05H,LOOP2”改为“CJNB R7,#03H,LOOP2” 则会导致延时变短;若改为“CJNE R7,#0FH,LOOP2” 则会使延时变长。若将 SETB EA 改为 “CLR EA”,会导致闪光灯不闪烁。“SETB TR0”改为“CLR TR0”导致闪光灯不闪烁。 将 MOV TH0,#3CH 若常数体增加,会减少中断次数和中断时间,数值减小,将增加中断 次数和中断时间,若程序改为定时器 1 定时, 改为 SETB TR1,CLR TR0.若加快闪烁频率, 可减小 CJNE A 的值,反之,增加 CJNE A 的值。 实验四(查表显示实验) 1, 右侧第一位数字显示5,需要怎样修改程序。 2, 右侧第三位数字显示3,需要怎样修改程序。 3, 右侧第一位和第三位数字显示7,需要怎样修改程序。 解:1 要将右侧第一位数字显示5,需将 TABLE:DB 后的数值改为6DH 并将 MOV A 后的数值改为#01H 2要将右侧第三位数字显示3,则需将 MOV A 后的数值改为#04H,将 TABLE: DB 后的数值改为4FH; 3要将右侧第一位和第三位数字显示7,则需将 MOV A 后的数值改为#05H,将 TABLE: DB 后的数值改为07H; 实验6(A/D 转换:) (1)若想使用外部中断 1,如何修改程序?为什么? (2)若要将 A/D 转换后的数值放在 41H 内,如何修改程序? (3)寄存器 R5 有何作用?为什么? (4)程序中启动 A/D 转换的地址是多少?若不改变连线,这个地址是否唯一?为什么? 若将启动 A/D 转换的地址改为 7FFFH 连线如何改变,这个地址是否唯一?为什么? (5)从显示程序分析,A/D 转换结果是如何变为十进制数并逐位分离出来的?分离出来的 每一位十进制数分别存放在何处? (6)从程序分析,显示所用的数码管共阴还是共阳?为什么? (7)显示程序中的“RL A”有何作用?为什么?“CJNE R7,#08H ,DISP2”有何作用? 为什么? (8)显示程序中的“DEC R0”有何作用?为什么? 使用外部中断时,要将中断 DINT0 改为 INI1,如果将 A/D 转换后的数值放到 41H 中,则 要 MOV 40H,A-MOV 41H ,A.寄存器 R5 是用来控制程序的定时中断。启动 A/D 转换的地 址为 8000H,若不连线,则这个地址不唯一,要将 A/D 转换的地址为 7FFFH,需将 INT1 中的 MOV DPTR,#8000H-MOV DPTR ,#7FFFH. 将 P1 口接到 P3 口,这个地址是唯一 的,从显示程序分析,A/D 转换的结果,通过数据采集控制来实现的,分离后在 XXX 位, 数码管共阳极,阴极可以改变。RL 为累加器左循环,来控制程序左移。CJNE 为寄存器与 之即数不等转换,在 R7 中的 #08H 不等的则跳转到 DISP2. DEC R0 寄存器减小指令,来 执行下一步。 实验 7(步进电机控制:) (1)若要增加或减少步进电动机的转动步数,如何修改程序? (2)若要增加或减慢步进电动机的转动速度,如何修改程序? (3)若想将步进电动机的转向控制改为开、停控制,如何修改程序? (4)若想将现有步进电动机的正、反向控制改为反、正向控制,有哪些方法?为什么? (5)程序中的两句“MOV R0,#00H”分别有何作用?当其它程序不变时,其中的数字 “#00H”能否改变?为什么? (6)若要将步进电动机的转向控制改为由 P1.0 控制,如何修改程序?连线有何变化? (7)若将程序中“ORL P1,#80H”改为“ANL P1,#80H” 有何实验现象?为什么? “ORL P1,#80H”是否不能变,为什么? 步进电机控制: 若要增加或减少步进电动机的转动步数,如何修改程序? 当需要改变步进电动机的步数时,只需将四拍改为八拍即可增加步数,将 ABCDA 改为 AABBBCCCDDDAA,将 TAB:DB 后的88H,84H,82H,81H 改为 88H,80H,84H,89H,82H,83H,81H,86H,若要减少步数,DB 后改为88H,84H,82H。 若要增加或减慢步进电动机的转动速度,如何修改程序? 当需要改变步进电动机的转动速度时,可改变脉的时间间隔,缩短或增加延时,DELY 为延 时指令,只需要 MOV R7,#200H 200H 变大则延时增加,速度变慢,200H 变小则延时减小, 速度变快。 若想将步进电动机的转向控制改为开、停控制,如何修改程序? 若想控制 KO 开关控制的效果,LOOP1中的循环不变,只需将 LOOP2中的反转程序改为指令, 后接 END 结束程序。 若想将现有步进电动机的正、反向控制改为反、正向控制,有哪些方法?为什么? 将正反控制改为反正控制,只需要将 JNB 为0转移指令改为 JB 为1转移指令;还可以将 LOOP1中的程序和 LOOP2中的程序多换一下;或者再输入 TAB:DB 后的程序改为 88H,81H,82H,84H 的顺序输入。 程序中的两句“MOV R0,#00H”分别有何作用?当其它程序不变时,其中的数字“#00H” 能否改变?为什么? 程序输入的起始有一句“MOV R0,#00H”语句,首先将 R0中清零,让程序从停止开始, 同时给予反面的循环计数时的一个初始值,当00H 改为其他数值时,当行动时,会陷入无 限循环无数计数,正转 LOOP1中也有一句“MOV R0,#00H”是为了在四拍结束时重新赋予 一个初始值,如果将赋予其00H 改变,四拍会变成五拍,六拍。 若要将步进电动机的转向控制改为由 P1.0控制,如何修改程序?连线有何变化? 若要将步进电动机的转向控制改为由 P1.0控制,将导线 KO 与 P1.7接改为 KO 与 P1.0连接, 同时将程序中的 P1.7改为 P1.0,ORL 相当于与指令,若改为 ANL 指令,P1中的数值会全部 清零,灯将不亮,步进器无法转动。 若将程序中“ORL P1,#80H” 改为“ANL P1,#80H” 有何实验现象?为什么? “ORL P1,#80H”是否不能变,为什么? 80H 不能变,因为如果变了,可能会其中一项置1,使其一直起作用。 实验8(8255操作实验)操作: (1)步进电动机的转动步数由何决定?为什么? (2)步进电动机的转速由什么决定? (3)程序中的“CJNE R0, #04H,ROTATE2” 有何作用?当其它程序不变时,其中的数 字“#04H”能否改变?为什么? (4)举出 1 至 3 种改变步进电动机各相与 8255 口的连线但能保持步进电动机正常工作的 方法。同时说明对应的程序如何修改? (5)若将“TAB1”中的数据与“TAB2”中的数据对调,有何实验现象?为什么? (6)若将程序中的“LJMP 2000H”改为“LJM

温馨提示

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

评论

0/150

提交评论