单片机原理及其接口技术实验问答答案_第1页
单片机原理及其接口技术实验问答答案_第2页
单片机原理及其接口技术实验问答答案_第3页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

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因为ADD(是带有进位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,$6若将当前的P1.0与灯连接改为P1.3连接,应

4、 该如何修改程序?答:若将当前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,有何实验现象?答0110011

5、0(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 , LOOP2 ” 及“ CJNE R7,#0FH,LOOP2 ”,各有何

7、 实验现象?(5)若分别将程序中“ SETB EA ”、“ SETBETO” 及 “SETB TRO” 改为 “CLR EA”、 “ CLR ETO ”、“ CLR TRO”,各有何实验现象?(6)若分别将程序中“ MOV TH0,#3CH ” 及“ MOV TLO,#0B0H ”中的数值增加或 减少,各有何实验现象?为什么?(7)若将程序改为由定时器1定时,应如何修 改程序?(8)若要加快或减慢灯的闪烁频率,如何修改 程序?为什么?将“ORL,P1,#20H改为“CLR P1.1 ”则会使闪光 灯在置0时闪烁,因为ORL为累加器的逻辑运算指令,CLR为置0置位指令,SETB为置1 置位指令;

8、将ORL P1,#02H改为SETB P1.1会 导致闪光灯在P1.1置1时闪烁;若将程序中“ JBP1.1,LOOP1 ”改为 “ JN田1.1,LOOP ”则会使原来的亮变为灭,灭变为亮;如果“CJNER7,#O5H,LOOP2” 改为CJNBR7,#03H,LOOP2”则会导致延时变短;若改为“CJNER7,#0FH丄OOP” 则会使延时变长。若将SETB EA改为“CLREA,会导致闪光 灯不闪烁。“SETBTR0改为“CLRTR0导致闪 光灯不闪烁。将MOV TH0,#3CH若常数体增加,会减少中断 次数和中断时间,数值减小,将增加中断次数和 中断时间,若程序改为定时器1定时,改为S

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

10、A/D转换:)(1)若想使用外部中断1,如何修改程序?为 什么? 何修改程序?(3)寄存器R5有何作用?为什么?(4)程序中启动A/D转换的地址是多少?若不 改变连线,这个地址是否唯一?为什么?若将启 动A/D转换的地址改为7FFFH连线如何改变, 这个地址是否唯一?为什么?(5)从显示程序分析,A/D转换结果是如何变 为十进制数并逐位分离出来的?分离出来的每 一位十进制数分别存放在何处?(6)从程序分析,显示所用的数码管共阴还是 共阳?为什么?(7) 显示程序中的 “RL A”有何作用?为什 么? “CJNE R7, #08H,DISP2有何作用?为 什么?(8)显示程序中的“DEC R0有

11、何作用?为什 么?使用外部中断时,要将中断 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为寄存器与之即

12、数不等转换,在 R7 中的#08H不等的则跳转到 DISP2. DEC R0 寄存器减小指令,来执行下一步。实验7 (步进电机控制:)(1)若要增加或减少步进电动机的转动步数, 如何修改程序?(2)若要增加或减慢步进电动机的转动速度,如何修改程序?(3)若想将步进电动机的转向控制改为开、停 控制,如何修改程序?(4)若想将现有步进电动机的正、反向控制改 为反、正向控制,有哪些方法?为什么?(5)程序中的两句 “MOV R0,#00H分别有 何作用?当其它程序不变时,其中的数字“ #00 H能否改变?为什么?(6)若要将步进电动机的转向控制改为由 P1.0 控制,如何修改程序?连线有何变化?(7

13、) 若将程序中 “ORL P1,#80H改为“ANL P1,#80H”有何实验现象?为什么?“ORLP1, #80H”是否不能变,为什么?步进电机控制: 若要增加或减少步进电动机的转动步数, 如何修 改程序? 当需要改变步进电动机的步数时,只需将四拍改 为八拍即可增加步数,将 A B C D A改为A AB B BC C CD D DA A,将 TAB DB 后 的 88H,84H,82H,81H 改 为88H,80H,84H,89H,82H,83H,81H,86H,若要减少 步数,DB后改为88H,84H,82HO若要增加或减慢步进电动机的转动速度,如何修改程序? 当需要改变步进电动机的转动

14、速度时, 可改变脉 的时间间隔,缩短或增加延时,DELY为延时指 令,只需要 MOV R7,#200H 200H变大则延时增 加,速度变慢,200H变小则延时减小,速度变 快。若想将步进电动机的转向控制改为开、停控制, 如何修改程序? 若想控制KO开关控制的效果,LOOP中的循环不 变,只需将LOOP中的反转程序改为指令,后接 END结束程序。若想将现有步进电动机的正、反向控制改为反、 正向控制,有哪些方法?为什么?将正反控制改为反正控制,只需要将 JNB为0转 移指令改为JB为1转移指令;还可以将LOOP中 的程序和LOOP中的程序多换一下;或者再输入TAB DB后的程序改为88H,81H,

15、82H,84H的顺序 输入。程序中的两句“ MOV R0 #00H分别有何作 用?当其它程序不变时,其中的数字“ #00H能 否改变?为什么?程序输入的起始有一句“ MOV R0 #00H语句, 首先将R0中清零,让程序从停止开始,同时给 予反面的循环计数时的一个初始值,当 00H改为 其他数值时,当行动时,会陷入无限循环无数计 数,正转 LOOP中也有一句“ MOVR0,#00H 是为了在四拍结束时重新赋予一个初始值,如果 将赋予其00H改变,四拍会变成五拍,六拍。若要将步进电动机的转向控制改为由 P1.0控制, 如何修改程序?连线有何变化?若要将步进电动机的转向控制改为由 P1.0控制,

16、将导线KO与P1.7接改为KO与 P1.0连接,同时 将程序中的P1.7改为P1.0,ORLli当于与指令, 若改为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)若将程序中的“LJMP2000H改为LJMP 10

温馨提示

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

评论

0/150

提交评论