《安徽农业大学——单片机习题(含答案)》由会员分享,可在线阅读,更多相关《安徽农业大学——单片机习题(含答案)(7页珍藏版)》请在金锄头文库上搜索。
1、单片机原理及应用考试复习习题单项选择题: 1.MCS-51单片机复位操作的主要功能是把PC初始化为( C )。 A.0100H B.2080H C.0000H D.8000H2若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( C )。注:65536-1000/2 us A.500 B.1000 C.216-500 D.216-10003.当PSW=10H时,R6的字节地址是( C )注:选中寄存器组2,R1为10H,所以A.06H B.0EH C.16H D.1EH注:4.单片机的发展趋势中,不包括( C )A.大容量 B.高性能 C.低成本 D.外围电路内
2、装化5. 定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( D )引脚。 A.P3.2 B.P3.3 C.P3.4 D.P3.56. 当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持( A )。注:整个中断信号是2个机器周期。 A.1个机器周期 B.2个机器周期 C.4个机器周期 D.10个晶振周期7.以下对串口数据缓冲器描述正确的是( C )A.MCS-51内部只有1个串口数据缓冲器SBUFB.MCS-51内部有2个在逻辑上独立的串口SBUF注:物理上独立,逻辑上只有一个 C.MCS-51内部的串口SBUF是全双工的 D.MCS-51内部的串
3、口SBUF的收发引脚是RXD(P3.1) 和TXD(P3.0)8.MCS-51单片机的片内、外程序存储器的选择控制引脚是( D )A.PSEN B.RST C.ALE D.EA9. MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( A )。 A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断10对程序存储器的读操作,只能使用指令( D )A.MOV指令 B.PUSH指令 C.MOVX指令 D.MOVC指令11.定时器若工作在循环定时或循环计数场合,应选用( C )。 A.工作方式0 B.工作方式1 C.工作方式2 D.工作方式312.MCS-51单片机的外
4、部中断1的中断请求标志是( D )。 A.ET1 B.TF1 C.IT1 D.IE113.下列标号中,正确的标号是( D )。 A.1BT: B.MOV: C.ADD: D.STAB31:14.串行口每一次传送( A )字符。注:或称1帧信息 A.1个 B.1串 C.1帧 D.1波特15.MCS-51单片机的复位信号是( A )注:2个机器周期A.高电平 B.低电平 C.脉冲 D.下降沿16.MCS-51单片机的堆栈区应建立在( A )。注:个人认为B也不能算错A. 片内数据存储区的低128字节单元 B. 片内数据存储区C.片内数据存储区的高128字节单元 D.程序存储区17MCS-51单片机
5、定时器工作方式0是指的( C )工作方式。A.8位 B.8位自动重装 C.13位 D.16位18.在串行通信中, 8031中发送和接收的寄存器是( B ) 。A.TMOD B. SBUF C. SCON D. DPTR19.波特的单位是( B )A. 字符/秒 B. 位/秒 C. 帧/秒 D. 字节/秒20.MOVX A , R0指令中,源操作数采用( D )寻址方式,指令作用在( )区间。注:MOVX 外部RAM MOVC ROMA.寄存器,外部数据存储器 B.直接,程序存储器C.寄存器间接 ,内部数据存储器 D.寄存器间接,外部数据存储器简答题: 18051的堆栈寄存器是哪一个?在MCS-
6、51单片机复位期间堆栈寄存器的初始值是多少?答:SP,07H2. 单片机的发展阶段大致可分哪几个?各阶段的功能特点如何?答:低性能单片机阶段:无串行口,中断处理比较简单,片内程序存储器和数据存储器的容量较小,且寻址范围不大于4K字节。高性能单片机阶段:性价比较高,带有串行I/O口,多级中断系统,16位定时/计数器,片内ROM和RAM加大,且寻址范围达到64K字节,有的还带有片内A/D转换器。8位单片机巩固发展及16位单片机、32位单片机退出阶段:具有更高集成度,更高数据处理速度,片内资源更丰富,性能更优越。3. MCS-51内部RAM区功能结构如何分配?4组工作寄存器如何选用?位寻址区域的字节
7、范围是多少? 4. 串口数据缓冲器SBUF的特点。如何区分访问的是哪一个缓冲器?答:SBUF是两个在物理上独立的发送、接收缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读、写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。5. 简述程序状态字PSW中各位的含义。答:Cy(PSW.7)进位标志:执行算数和逻辑运算发生进位和借位时置1;Ac(PSW.6)辅助进位标志:当进行BCD码的加减法操作而产生由低4位向高4位进位或借位时置1;F0(PSW.5)用户状态标志位:由用户使用,通过软件置1或置0;RS1、RS0(PSW.4、PSW.3)工作寄存器区选择控制
8、位:这两位用来选择4组工作寄存器区中的哪一组为工作寄存器区;OV(PSW.2)溢出标志位:执行算术指令产生溢出时硬件自动置1;PSW.1:未使用,保留;P(PSW.0)奇偶标志位:表示累加器A中1的位数的奇偶数。奇数时为1。6. 在MCS-51单片机复位期间,P0P3口值为多少?答:FFH7 汇编语言程序设计分哪几个步骤?什么叫“伪指令”?答:1)明确任务要求及技术指标;2) 画出流程图;3) 分配存储区及相关的端口地址;4) 编写源程序;5) 调试,修改源程序,确定源程序;6) 固化程序。伪指令:控制汇编程序如何对源程序进行汇编过程的特殊指令。8. MCS-51单片机包括几个中断源?各中断入
9、口地址是多少?答:5个,外部中断0(INT0)0003H定时器中断T0(T0)000BH外部中断1(INT1)0013H定时器中断T1(T1)001BH串行口中断(TI/RI)0023H9. MCS-51单片机内设有几个定时/计数器?它们的计数寄存器是哪些?答:有2个定时/计数器分别为T0、T1,T0计数寄存器由TH0、TL0组成,T1计数寄存器由TH1、TL1组成。10.根据传送方向,串行通信有几种方式?答:有3种方式:单工方式:信息只能单方向传送;半双工方式:信息能双向传送,但不能同时双向传送;全双工方式:信息能同时双向传送。编程题: 1. 请将MCS-51单片机的片内RAM30H39H的
10、数据块,传送到片外RAM1000H开始的单元中,并将原数据区全部置为0FFH。(程序段存放在起始地址1000H的存储区中)解:程序如下:ORG 0000HLJMP STARTORG 1000H;程序首地址START:MOV R0,#30H;将数据源地址放入R0MOV DPTR,#1000H;目的地址放入DPTRNEXT:MOV A,R0;将R0指向的地址中的数据传送到AMOVX DPTR,A;将数据从A中传送到DPTR所指向的地址中存储MOV R0,#0FFH;将R0所指向的地址赋值为0FFHINC R0;R0指向下一个源地址INC DPTR;DPTR指向下一个目的地址CJNE R0,#3AH
11、,NEXT;判断R0值是否等于3AH,不等于则说明数据未传送完,跳转到发送下一个字节;为什么是3A?最后一个是39,但是经过INC后再判断,此时就是39+1喽!SJMP $END2利用定时器T1来代替一个扩展的外部中断请求源,如图所示编程实现之。 T1(P3.5)MCS-51INT解:设置T1为工作模式2,工作在计数模式,TH1=TL1=0FFH,允许T1产生中断。ORG 0000HLJMP STARTORG 001BH;定时器1中断入口LJMP L0ORG 1000H;程序首地址START:MOV TMOD,#60H;计数模式,工作方式2,8位自动重装MOV TH1,#0FFH;从FF计数,
12、即计数1次即进入中断MOV TL0,#0FFHSETB TR1;开启计数SETB ET1;中断允许SETB EA;开总中断允许SJMP $;等待;中断服务子程序L0:DEC A;A中值减一MOV P1,A;A中值赋值给P1RETI;中断返回END3. 编写子程序,使用定时器T1的方式0实现1s的延时。(振荡频率为12MHz)解:晶振频率为12MHz,所以一个机器周期为1us,方式0为13定时/计数器,最多可计数8192次,取整数5000即可定时5ms,1s需要重复200次,则定时器1的初值为:X=M-计数值=8192-5000=3192=C78H=01100 0111 1000B因为13位计数
13、器中TL1的高3位未用,应填0,TH1占高8位,所以X的实际取值应为:X=0110 0011 0001 1000B=6318H即TH1=63H,TL1=18H,又因为采用方式0定时,所以TMOD=00H可编程得1s延时程序如下:1.书上的子程序法:ORG 0000HLJMP STARTORG 1000HSTART:LCALL DELAY;调用延时1sCPL P1.1;取反P1.1,用于观察测试SJMP START;跳回,进行循环;1S延时程序DELAY:MOV R3,#200;用于计数200次MOV TMOD,#00H;方式0,13位计数器MOV TH1,#63H;赋初值MOV TL1,#18HSETB TR1;开启定时LP1:JBC TF1,LP2;软件对中断标志TF1进行判断,若TF1=1跳到LP2并清除TF1SJMP LP1;TF1=0,则调到LP1继续循环进行判断LP2:MOV TH1,#63H;发生中断后,需要对初始值进行重新赋值MOV