安徽农业大学_第1页
安徽农业大学_第2页
安徽农业大学_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、安徽农业大学单片机习题(含答案)单片机原理及应用考试复习习题单项选择题:1. MCS-51单片机复位操作的主要功能是把PC初始化为(C)。D.8000H2. 0100HB.2080HC.0000H若单片机的振荡频率为6MHz,设定时器工需要定时1ms,则定时器初值应作在方式1注:65536-1000/2us为(C)。A.500B.1000C.216-500D.216-1000FORSIRSOOVpDQHD鹰H注:3.当PSW=10H时,R6的字节地址是(C)4. 注:选中寄存器组2,R1为10H,所以A.06H.B.QEhC.16H单片机的发展趋势中,不包括(C)大容量B.高性能C.低成本D.

2、外围电路内装化定时器1工作在计数方式时,其外加的计数脉冲信号应连接到(D)引脚A.P3.2B.P3.3C.P3.4D.P3.5当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持(期。)O注:整个中断信号是2个机器周A. 1个机器周期C.4个机器周期B. 2个机器周期D.10个晶振周期A. 7.以下对串(C)MCS-51SBUFMCS-51口数据缓冲器描述正确的是内部只有1个串口数据缓冲器内部有2个在逻辑上独立的串口SBUF注:物理上独立,逻辑上只有一个C. MCS-51内部的串口SBUF是全双工的MCS-51内部的串口SBUF的收发引脚是RXD(P3.1

3、)和TXD(P3.0)MCS-51单片机的片内、外程序存储器的选择控布坷脚是(D)_A.PSENB.RSTC.ALED.EAMCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应(AA.外部中断0B.外部中断1C.定时器0中断D.定时器1中断10.对程序存储器的读操作,只能使用指令A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令ii.定时器若工作在循环定时或循环计数场合,应选用(C)。A.工作方式0B.工作方式1C.工作方式2D.工作方式312.MCS-51单片机的外部中断志是(DA.ET1D.IE113.下列标号中,A.1BT:D.STAB31:)oB. TF1正

4、确的标号是B. MOV:1的中断请求标C. IT1(D)。C. ADD:14.串行口每一次传送(A)字符。注:或称1帧信息A.1个B.1串C.1帧1波特MCS-51单片机的复位信号是(A)注:>2个机器周期A.高电平B.低电平C.脉冲下降沿MCS-51单片机的堆栈区应建立在o注:个人认为B也不能算错A.片内数据存储区的低128字节单元片内数据存储区C.片内数据存储区的高128字节单元程序存储区17.MCS-51(C)A.8位单片机定时器工作方式0工作方式。B.8位自动重装B.D.是指的C.1318. 位D.16位在串行通信中,8031中发送和接收的寄存器是(B)。A.TMODB.SBUF

5、C.SCOND.19. DPTR波特的单位是(B)20. A.字符/秒B.位/秒C.帧/秒D.字节/秒MOVXA,R0指令中,源操作数采用(D)寻址方式,指令作用在()区间。注:MOVX外部RAMMOVCROMA.寄存器,外部数据存储器B.直接,程序存储器C.寄存器间接,内部数据存储器D.寄存器间接,外部数据存储器简答题:1. 8051的堆栈寄存器是哪一个?在MCS-51单片机复位期间堆栈寄存器的初始值是多少?2. 答:SP,07H单片机的发展阶段大致可分哪几个?各阶段的功能特点如何?答:低性能单片机阶段:无申行口,中断处理比较简单,片内程序存储器和数据存储器的容量较小,且寻址范围不大丁4K字

6、节。高性能单片机阶段:性价比较高,带有申行I/O口,多级中断系统,16位定时/计数器,片内ROM:RAMto大,且寻址范围达到64K字节,有的还带有片内A/D转换器。8位单片机巩固发展及16位单片机、32位单片机退出阶段:具有更高集成度,更高数据处理速度,片内资源更丰富,性能更优越。3. MCS-51内部RA"功能结构如何分配?4组工作寄存器如何选用?位寻址区域的字节范围是多少?答;MCE51系列单片机内部数据存储州OOH7FH单元组成的低】嚣字节地址空间的RAM阳乂分为为工一作寄存器区(OOHTFH)、位寻址区(20H2FH>和数据缓冲区(30H-7FH)-80HWH(128

7、-255;单元组成的商128字节地址空间的特殊功能寄存株(又将$FR)区,时于8032.S052.8752的单片机还有80II-FFII箪元忽成的高128字节地址空间的RAM区.4fll工作寄存区是由程序状态字PSW(特殊功能寄存器.字节知址为0D0H)中的。4、D3位(RSI#11RS0)来决定的.PSW4PSW3当前使用的工作寄存M区(RS1)(RS0)R0-R7000区(4KKU7H)011区COfr-OHE102区(10-17H)113K.(1S-1FH)4. 位寻址区域的字节地址范围是20K2FH对应的位地址范围是l»H7FHL申口数据缓冲器SBUF勺特点。如何区分访问的是

8、哪一个缓冲器?答:SBUEH两个在物理上独立的发送、接收缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF勺读、写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。5. 简述程序状态字PSM各位的含义。答:Cy(PSW.7进位标志:执行算数和逻辑运算发生进位和借位时置1;Ac(PSW.6辅助进位标志:当进行BC则的加减法操作而产生由低4位向高4位进位或借位时置1;FO(PSW.5用户状态标志位:由用户使用,通过软件置1或置0;RS<RS0(PSW.4PSW.3"作寄存器区选择控制位:这两位用来选择4组工作寄存器区中的哪一组为工作寄存器区;OV(

9、PSW.2辨出标志位:执行算术指令产生溢出时硬件自动置1;PSW.1未使用,保留;P(PSW.0向偶标志位:表示累加器A中1的位数的奇偶数。奇数时为1。6. 在MCS-51单片机复位期间,P0P3口值为多少?7. 答:FFH汇编语言程序设计分哪几个步骤?什么叫“伪指令”?答:1)明确任务要求及技术指标;2) 画出流程图;3) 分配存储区及相关的端口地址;4) 编写源程序;5) 调试,修改源程序,确定源程序;6) 固化程序。伪指令:控制汇编程序如何对源程序进行汇编过程的特殊指令。8. MCS-51单片机包括几个中断源?各中断入口地址是多少?9. 答:5个,外部中断0(INT0)0003H定时器中

10、断T0(T0)000BH外部中断1(INT1)0013H定时器中断T1(T1)001BH申行口中断(TI/RI)0023HMCS-51单片机内设有几个定时/计数器?它们的计数寄存器是哪些?答:有2个定时/计数器分别为T0、T1,T0计数寄存器由TH。TL0组成,T1计数寄存器由TH1、TL1组成。10. 根据传送方向,申行通信有几种方式?答:有3种方式:单工方式:信息只能单方向传送;半双工方式:信息能双向传送,但不能同时双向传送;全双工方式:信息能同时双向传送。编程题:请将MCS-51单片机的片内RAM30H39H的数据块,传送到片外RAM1000H开始的单元中,并将原数据区全部置为0FFH(

11、程序段存放在起始地址1000H的存储区中)解:程序如下:ORG0000H;程序首地址;将数据源地址放入R0;目的地址放入DPTRLJMPSTARTORG1000HSTART:MOVR0,#30HMOVDPTR,#1000HNEXT:MOVA,R0;将R0指向的地址中的数据传送到AMOVXDPTR,A;将数据从A中传送到DPT厮指向的地址中存储MOVR0,#0FFH;将R0所指向的地址赋值为0FFHINCR0;R0指向下一个源地址INCDPTR;DPTR指向下一个目的地址CJNER0,#3AH,NEXT;判断R0值是否等于3AH不等于则说明数据未传送完,跳转到发送下一个字节;为什么是3A零后一个

12、是39,但是经过INC后再判断,此时就是39+1喽!1. SJMP$END利用定时器T1来代替一个扩展的外部中断请求源,如图所示编程实现之。解:设置T1为工作模式2,工作在计数模式,TH1=TL1=0FFH允许T1产生中断。ORG0000HLJMPSTARTORG001BH;定时器1中断入口LJMPL0ORG1000H;程序首地址START:MOVTMOD,#60H;计数模式,工作方式2,8位自动重装MOVTH1,#0FFH;从FF计数,即计数1次即进入中断MOVTL0,#0FFHSETBTR1;开启计数SETBET1;中断允许SETBEA;开总中断允许SJMP$;等待;中断服务子程序L0:D

13、ECA;A中值减一MOVP1,A;A中值赋值给P1RETI;中断返回END3.编写子程序,使用定时器T1的方式0实现1s的延时。(振荡频率为12MHZ解:晶振频率为12MHz所以一个机器周期为1us,方式0为13定时/计数器,最多可计数8192次,取整数5000即可定时5ms,1s需要重复200次,则定时器1的初值为:X=M计数值=8192-5000=3192=C78H=0110001111000B因为13位计数器中TL1的高3位未用,应填0,TH1占高8位,所以X的实际取值应为:X=0110001100011000B=6318H即TH1=63H,TL1=18H乂因为采用方式0定时,所以TMO

14、D=00H可编程得1s延时程序如下:1.书上的子程序法:ORG0000H;调用延时1s;取反P1.1,用丁观察测试;跳回,进行循环LJMPSTARTORG1000HSTART:LCALLDELAYCPLP1.1SJMPSTART;1S延时程序DELAY:MOVR3,#200;用丁计数200次MOVTMOD,#00H;方式0,13位计数器MOVTH1,#63H;赋初值MOVTL1,#18HSETBTR1;开启定时LP1:JBCTF1,LP2;软件对中断标志TF1进行判断,若TF1=1跳到LP2并清除TF1SJMPLP1;TF1=0,则调到LP1继续循环进行判断LP2:MOVTH1,#63H;发生

15、中断后,需要对初始值进行重新赋值MOVTL1,#18HDJNZR3,LP1;判断是否中断了200次,是则返回,否则跳到LP1等待中断RET;子程序返回,不要写成RETIEND2.中断子程序法:ORG0000HLJMPSTARTORG001BH;中断入口LJMPLORG1000HSTART:MOVR3,#200;用丁计数200次MOVTMOD,#00H;方式0,13位计数器MOVTH1,#63H;赋初值MOVTL1,#18HSETBEA;开总中断允许SETBET1;开T1中断允许SETBTR1SJMP$;中断子程序L:MOVTH1,#63HMOVTL1,#18HDJNZR3,RT是则继续执行CP

16、LP1.1RT:RETIEND;定时启动;空运行;发生中断后,需要对初始值进行重新赋值;判断是否中断了200次,否则直接跳到返回,;取反P1.1,用丁观察测试;中断子程序返回,注意与RET的区别!4.书70面:3-5.请编程实现:将片内20H存储单元的8位二进制数转换成BCCB,并存放在片外2000H起始的单元中,2000H单元存放转换后的BCDK的白位,2001H存放转换后的BC况十位/个位。解:程序设计如下:ORG0000HLJMPSTARTORG1000HSTART:MOVA,20H;取出20H中的值;分离白位值MOVB,#100;B赋值为100DIVAB;A/B,商放入A,余数放入BM

17、OVDPTR,#2000H;BCD白位存储单元地址2000HMOVXDPTR,A;将BCCW位送至DPTRf向的单元;分离十位和个位MOVA,B;将余数送至AMOVB,#10;B赋值为10DIVABSWAPA;将A中的商移动到高4位ADDA,B;将B中的余数加到A的低4位INCDPTR;使DPTR旨向2001HMOVXDPTR,A;将BCM位/个位送至DPTR旨向的单元SJMP$END计算题:1.已知定时器T1设置成方式2,作申口的波特率发生器,系统时钟频率为12MHz求申口在方式1下可能产生的最高波特率?(SMOD=0,T的溢出率=fosc/(12*(2n-X)注:方式1指的是串口的工作方式,不要与上面定时器的方式2弄混。

温馨提示

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

评论

0/150

提交评论