内附答案《单片机原理与应用 》试卷11

  • 格式:doc
  • 大小:66.50 KB
  • 文档页数:10

一.填空题(15分,每空一分) 1.MCS—51单片机外部中断请求信号有电平方式和 脉冲方式 ,在电平方式下,当采集到INT0、INT1的有效信号为 时,激活外部中断。 2.在串行通信中,数据传送方向有 、 、全双工三种方式。 3.外部中断INT1入口地址为 一个机器周期= 个状态周期=12个振荡周期。

4.定时器/计数器的工作方式3是指的将 拆成两个独立的8位计数器。而另一个定时器/计数器此时通常只可作为 使用。 5. 单片机经加电复位后,执行第一条指令的地址是 。 6..MCS-51单片机的片内都集成了________,数据存储器,程序存储器,______,1个全双工的串行口,两个16位定时器/计数器,_________,21个特殊功能寄存器。 7.STC89C52RC-PLCC芯片内部程序存储空间的大小___KB. 8.51单片机可以通过特殊功能寄存器SBUF对串行接受或串行发送寄存器进行访问,两个寄存器共用一个地址____.

9、半导体存储器的最重要的两个指标是 和 。 二.选择题(20分,每题两分) 1.8051与8751的区别是:( ) A、内部数据存储但也数目的不同 B、内部数据存储器的类型不同 C、内部程序存储器的类型不同 D、内部的寄存器的数目不同 2.在单片机上,锁存器U2的锁存端连接在( )口 AP2^6 B P2^4 C P2^3 D P2^7 3. 边沿触发方式的外部中断信号是( )有效。 A).下降沿 B).上升沿 C).高电平 D).低电平 4. MCS-51单片机的堆栈区应建立在( )。 A. 片内数据存储区的低128字节单元 B. 片内数据存储区 C. 片内数据存储区的高128字节单元 D.程序存储区

5. MCS-51单片机定时器工作方式2是指的( )工作方式。 A. 8位 B. 8位自动重装 C. 13位 D. 16位 6.下列四条叙述中,有错误的一条是( ) (A)16根地址线的寻址空间可达1MB (B)内存储器的存储单元是按字节编址的 (C)CPU中用于存放地址的寄存器称为地址寄存器 (D)地址总线上传送的只能是地址信息 7.内部RAM中的位寻址区定义的位是给( )。 A).位操作准备的 B).移位操作准备的 C).控制转移操作准备的 D).以上都对 8.串行口工作方式1的波特率是( ) A.可变的,通过定时器/计数器T1的溢出率设定 B.固定的,为Fosc/32 C. 固定的,为Fosc/16 D. 固定的,为Fosc/64 9.区分MCS—51单片机片外程序存储器和片外数据存储器最可靠的方法( ) A.看其位于地址范围的低端还是高端 B.看其离MCS—51芯片的远近 C.看其芯片的型号是RAM还是ROM D.看其是与/RD信号连接还是与/PSEN信号连接 10.各中断源发出的中断请求信号,都会记在MCS-51系统中的( )

(A)IE (B)IP (C)TCON (D)SCON

11.MCS—51单片机的复位信号是( )有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 12.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( )。 A.2μs B.4μs C.8μs D.1ms 13.串行口的控制寄存器SCON中,REN的作用是( )。 A.接收中断请求标志位 B.发送中断请求标志位 C.串行口允许接收位 D.地址/数据位 14. ..在单片机应用系统中数码管显示电路通常有( )

A静态 B动态 C静态和动态 D以上都错 15. 8031的 ( )口为双功能口

A P1 B P0 C P2 D P3 16. 8031的中断源有外中断0, T0 ,外中断1, T1,串行口,其中有( )个中断优先级。 A 1 B 2 C 3 D 4

17. 8031外部程序存储器的最大可扩展容量是( ),

A 64K B 32K C 16K D 8K 18. 已知fosc=12MHz, T0作为定时器使用时,其定时时间间隔为( )。 A 2us B 1us C 4us D 3us 19. 下列不是A/D转换器的参数指标的是( ) A 分辨率 B 转换误差 C 转换时间 D 温度系数 20. 定时器/计数器T0与T1用作计数器时,外部脉冲的高低电平持续时间都必须( )机器周期 A 等于1个 B 小于1个 C大于1个 D 等于2个 三.判断题(10分,一个一分) 1. 单片机中断过程包括中断发生,中断响应,中断服务,中断返回( ) 2. 中断允许寄存器IE中,EA为串行口中断允许位( ) 3. 定时器/计数器工作方式01是16位定时器/计数器,方式02是8位定时器/计数器( ) 4. 自锁按键按下线路导通,松开则是线路断开.( ) 5. 在有按键参与的程序中,编写不编写抖动函数没什么必要( ) 6. RST是单片机的复位引脚( ) 7. 数码管发光是靠内部的发光二极管( ) 8. 单片机中同级中断会被其他的同级中断源所中断( )

9. 非运算国际标准符号为 ( ) 10. 一般在中断服务程序中尽量不要写过多的处理语句( )

四.简答题(15分,每题五分) 1. .简单叙述8051的C/T0的四种工作模式和串行通信的四种工作模式。

2.在具体操作串行口之前,如何对单片机的一些与串口有关的功能寄存器进行初

1 始化? 3.已知串口通信在串口方式一下,波特率为4800bps,系统晶振频率为12MHZ,求TH1和TL1中装入的数值是多少?

五.分析题(20分,每空两分) 1.检测按键是否被按下的程序填空。 #inciude Uchar temp; Void main() { ________ Temp=p3; ____________ If(temp!=0xf0) { _________ Temp=P3; Temp=temp&0xf0; If(temp!=0xf0) { Temp=P3; } } } 2.利用C51自带的库函数_crol_,以间隔500MS,在TC-1C实验板上实现流水程序。 #includes #include #define uint unsigned int #define uchar unsigned char Uchar a; ______________ Void main() { a=0xfe; While(1) { _________ Delay(500); ____________ } } Void delay(uint z) { Uint i,j; For(i=z;i>0;i--) For(j=110;j>0;j--); } 3 利用定时器0工作方式2,在TX-1C实验板上实现第一个发光管以1s亮灭闪烁的程序填空 #includes #define uint unsigned int #define uchar unsigned char Sbit led1=P1^0; Uint num; Void main() { _______ TH0=6; TL0=6; EA=1; ET0=1; TR0=1; While(1) { If(num==3686) { _____________ ______________ } } } Void T0_time() interrupt 1 { ____________ }

六.综合题(30) 1. 广告灯

使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次 (延时的时间0.2秒)。 2.8X8 LED点阵显示技术

在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左 平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次, 如此循环下去。

答案 一.填空。 1.低电平。2.,单工,半双工 3,001BH,6 4,T0,串行口的波特率发生器 5,0000H 6,微处理器,4个8位并行I/O口,中断系统 7,8 8,99H 9,存储容量 和 存储速度 二,选择题 1~5 CDAAB 6~10 ABADC 11~15 ABCCD 16~20 BABDC 三,判断题 1. 对 2. 错(全局中断允许位) 3. 错(方式2为8位初值自动重装的8为定时器/记数器) 4. 错(自锁式按键按下时闭合且会自动锁住,只有再次按下才弹起断开) 5. 错 6. 对 7. 对 8. 错 9. 对 10. 对

四,简答题 1,

C/T0的模式 串行通信模式 0:13位计数器; 1:16位计数器; 2:8位循环计数器; 3:2个独立的8位计数器 0:同步移位寄存器; 1:波特率可变的8位两机异步通信; 2:波特率固定的9位可多机的异步通信;

3:波特率可变的9位可多机的异步通信。

2,a 确定T1的工作方式(编程TMOD寄存器); b 计算T1的初值-,装在TH1,TL1; c 启动T1(编程TCON中的TR1位); d 确定串行口工作方式(编程SCON寄存器); e 串行口工作在中断方式时,要进行中断设置(编程IE,,IP寄存器) 3,解:设所求的数为X,计数器每计256-X个数就溢出一次,每计一个数的时间为一个机器周期,一个机器周期等于12个时钟周期,所以计一个数的时间为t=12/12MHz,那么定时器溢出一次的时间T=【256-X】*12/12MHz,T1的溢出率为1/T,由于波特率=(2SMOD/32)*(T1的溢出率),求的X=250,换成十六进制为0xFA,所以TH1=0xFA,TL1=0xFA.. 五. (1). P3=0xfe; Temp=temp&0xf0; Delayms(10);

(2) Void delay(uint z); P1=a; a=_crol_(a,1);

(3) TMOD=0x02; Num=0; Led1=~led1; Num++; 六. 1 #include unsigned char code table[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f, 0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe, 0x7f,0xbf,0xdf,0xef, 0xf7,0xfb,0xfd,0xfe,