收藏 分享(赏)

单片机原理及其接口技术实验问答答案.doc

上传人:j35w19 文档编号:4067592 上传时间:2018-12-06 格式:DOC 页数:5 大小:28.50KB
下载 相关 举报
单片机原理及其接口技术实验问答答案.doc_第1页
第1页 / 共5页
单片机原理及其接口技术实验问答答案.doc_第2页
第2页 / 共5页
单片机原理及其接口技术实验问答答案.doc_第3页
第3页 / 共5页
单片机原理及其接口技术实验问答答案.doc_第4页
第4页 / 共5页
单片机原理及其接口技术实验问答答案.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验一(无符号数加法实验)1 如果要实现2345+6789,程序应如何修改?2 如果去掉程序中的两句“DA A”指令,有何实验现象?原因是什么?3 如果将程序中的“ADDC”改为 ADD”, 有何实验现象?为什么?4 如果将程序中的“ADD”改为“ADDC”,程序是否正确?为什么?解:1将程序中66改为23, 78改为45, 67改为67, 43改为892结果是十进制变为十六进制,原因是“DA A”指令是十进制调整指令。3不能改为 ADD,因为 ADDC 是带有进位 CY 的加法指令。4 ADD 一般情况下不能改为 ADDC,因为缺少 CY 的进位,但是在本题中可以,因为不造成进位。实验二 闪

2、烁灯控制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 若要加快或减慢灯的闪烁频率,有何方法?为什么?答:若要加快频率可

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,

4、$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 若将程序中 MO

5、V 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 若要将灯的

6、起始顺序改为灭灭亮灭灭灭亮灭,应如何修改程序?为什么?答:若将灯的起始顺序改为灭灭亮灭灭灭亮灭,可将 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,LOOP

7、2”及“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 为累加器的逻辑运算指令,CL

8、R 为置 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 若常数体增加,会减

9、少中断次数和中断时间,数值减小,将增加中断次数和中断时间,若程序改为定时器 1 定时, 改为 SETB TR1,CLR TR0.若加快闪烁频率,可减小 CJNE A 的值,反之,增加 CJNE A 的值。实验四(查表显示实验)1, 右侧第一位数字显示5,需要怎样修改程序。2, 右侧第三位数字显示3,需要怎样修改程序。3, 右侧第一位和第三位数字显示7,需要怎样修改程序。解:1 要将右侧第一位数字显示5,需将 TABLE:DB 后的数值改为6DH 并将 MOV A 后的数值改为#01H2要将右侧第三位数字显示3,则需将 MOV A 后的数值改为#04H,将 TABLE: DB后的数值改为4FH;

10、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)从程序分析,

11、显示所用的数码管共阴还是共阳?为什么?(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 口接到

12、P3 口,这个地址是唯一的,从显示程序分析,A/D 转换的结果,通过数据采集控制来实现的,分离后在 XXX 位,数码管共阳极,阴极可以改变。RL 为累加器左循环,来控制程序左移。CJNE 为寄存器与之即数不等转换,在 R7 中的 #08H 不等的则跳转到 DISP2. DEC R0 寄存器减小指令,来执行下一步。实验 7(步进电机控制:)(1)若要增加或减少步进电动机的转动步数,如何修改程序?(2)若要增加或减慢步进电动机的转动速度,如何修改程序?(3)若想将步进电动机的转向控制改为开、停控制,如何修改程序?(4)若想将现有步进电动机的正、反向控制改为反、正向控制,有哪些方法?为什么?(5)程

13、序中的两句“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,

14、82H,83H,81H,86H,若要减少步数,DB 后改为88H,84H,82H。若要增加或减慢步进电动机的转动速度,如何修改程序?当需要改变步进电动机的转动速度时,可改变脉的时间间隔,缩短或增加延时,DELY 为延时指令,只需要 MOV R7,#200H 200H 变大则延时增加,速度变慢,200H 变小则延时减小,速度变快。若想将步进电动机的转向控制改为开、停控制,如何修改程序?若想控制 KO 开关控制的效果,LOOP1中的循环不变,只需将 LOOP2中的反转程序改为指令,后接 END 结束程序。若想将现有步进电动机的正、反向控制改为反、正向控制,有哪些方法?为什么?将正反控制改为反正控制

15、,只需要将 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”是为了在四拍结束时重新赋予一个初始值,如果将赋予其0

16、0H 改变,四拍会变成五拍,六拍。若要将步进电动机的转向控制改为由 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)步进电

17、动机的转动步数由何决定?为什么?(2)步进电动机的转速由什么决定?(3)程序中的“CJNE R0, #04H,ROTATE2” 有何作用?当其它程序不变时,其中的数字“#04H”能否改变?为什么?(4)举出 1 至 3 种改变步进电动机各相与 8255 口的连线但能保持步进电动机正常工作的方法。同时说明对应的程序如何修改?(5)若将“TAB1”中的数据与“TAB2”中的数据对调,有何实验现象?为什么?(6)若将程序中的“LJMP 2000H”改为“LJMP 1000H”,是否可以?为什么?1.步进电动机转动步数是由步进电动机的节拍决定的,四拍一周期停 4 下,八拍停八下。2.步进电动机的转速由延时程序决定,时间越长转速越慢。3.“CJNE R0,#04H,ROTE2 ”的作用是判断 30H 是否溢,溢出则清零。#04H 不能变,因为只有#00H#03H 可以用来查表4.改为 A-PA1 B-PA2 C-PA3,则将“03H,06H,09H” 改为“06H ,0CH,18H,12H”6.“LJMP 2000H”改为“LJMP 1000H”不可以,除非把对应地址改为 1000H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报