最新单片机试题库分章节答案解析(C语言) 下载本文

精品文档

( √ )4.假设传输的数据一帧有11位,每秒钟传输30帧,则此时的比特率应为330bps。

( × )5.MCS-51的串行接口是全双工的。

三、选择题

1、下列英文缩写代表“串口控制寄存器”的是( A )。 A.SCON B.TCON C.SMOD D.TMOD 2、串行通信中,发送和接收寄存器是( B ) A、TMOD B、SBUF C、SCON D、DPTR 3、控制串行口工作方式的寄存器是( C ) A、TMOD B、PCON C、SCON D、TCON 4. 串行口每一次传送( C )字符。

A.1个 B.1串 C.1帧 D.1波特

5. 当MCS-51进行多机通讯时,串行接口的工作方式应选为( C )。 A.方式0 B.方式1 C.方式2 D.方式0或方式2 6. MCS—51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的( A ),向CPU申请中断。 A、RI或TI置1

B、RI或TI置 0

C、RI置1或TI置0 D、RI置0或TI置1

七、单片机扩展技术

一、填空题

1、共阳极数码管显示6时的字型码是 82H, 共阴极数码管显示9时的字型码是 6FH 。

2.ADC0809的分辨率是_8位的(0.0195v)_,若接入的参考电压为5.1V,则它能分辨的最小输入电压为_0.0199V。

3、共阳极数码管显示A时的字型码是__88__H, 共阴极数码管显示A时的字型码是__77__H。

二、判断题

( √ )1.采用软件延时可以去除按键抖动,延时时间只要超过10ms都可以。

精品文档

精品文档

( √ )2.共阳极数码管显示数字“3”时,其段码值为B0H。

( √ )3.数码管采用动态扫描显示时,所有数码管的笔画段的同名端连接在一起共用一个控制引脚,而每个数码管的公共极各自独立,分别与不同控制引脚相连。

( × )4.A/D转换器的作用是将数字量转为模拟量

( √ )5. 在使用按键时要消除按键的抖动,可以通过改进硬件或软件编程的方法来实现。

( × )6. 对按键进行扫描时采用软件延时来去除抖动,延时时间越短越好。 ( × )7.AD0809是8位的数模转换器。

( × )8.4*4矩阵键盘需要16根数据线进行连接。

三、选择题

1、ADC0809是( B )AD的转换器件

A、4通道8位 B、8通道8位 C、4通道12位 D、8通道12位 2、用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。编写程序。

3. 具有模数转换功能的芯片是( A )

A、ADC0809 B、DAC0832 C、MAX813 D、PCF8563

4. 需要扩展一片外部RAM,大小32K字节,需要的地址线是( A )

A、15 B、14 C、13 D、12

5.一个共阴极的8段LED数码管,要使其显示数字6的字形,则其字型码为( C )。

A.FDH B.02H C.7DH D.82H

四、简答题

1、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。

答:因为普通的按键都是金属触点的,金属触点在接触的瞬间会有一个撞击力导致接触点分开,然后又接触在一起,这样反复直到稳固接触在一起。这种现

精品文档

精品文档

象叫做按键的抖动,这种抖动如果不进行处理的话,会导致按键误判断。去除抖动的方法有两种硬件和软件。硬件的方法就是在按键连接处使用RS触发器,软件的方法就是在编写程序的时候有个延时操作,利用延时越过抖动状态。

2、什么是LED数码管静态扫描和动态扫描。简述LED数码管动态扫描的原理及其实现方式。

答:数码管静态就是指在给数码管送字型码,这个字形能保持至下一次字型码到来,多于两个数码管的电路只能每个显示一个字型码,而不能显示两个不同的字形,如果要显示不同的字形则要等到下一次送入新的字型码为止。而对于动态显示在多于两个数码管一起显示时,可以先给一个数码管送入一个字型码,让这个字形在这个数码管上显示一段很短的时间,这个时间必须短于人眼的识别时间即几十毫秒一下,然后又接着给另外一个数码管送入不同的字型码,也让这个字形在这个新的数码管上显示一段很短的时间,其实就是让所有的数码管显示的字型码轮流在各个数码管上面显示,就这样重复多次,这样我们利用人眼的惰性看到的显示数码管上面的字形就 好像是同时显示一样。数码管采用动态扫描显示时,所有数码管的笔画段的同名端连接在一起共用一个控制引脚,而每个数码管的公共极各自独立,分别与不同控制引脚相连。

五、编程题

1、要求用单片机控制七段数码管循环显示数字0 ~9,时间间隔1s。采用并行输出控制八段数码管,设小数点不亮,采用共阴顺序确定0 ~9的段码,即数码管为共阴数码管。

#include

char code tabel[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() {

自己补充完整

精品文档

精品文档

}

void main() { int i=0;

for(i=0;i<10;i++) {P0=table[i];

delay(1000); } }

2、设计一个4位数码显示电路,编程使\从右到左显示一遍。 #include

char code tabel[]={0X08,0X04,0X02,0X01}; void delay() {

自己补充完整 }

void main() { int i=0;

for(i=0;i<4;i++) {P0=0X7F; P1=table[i]; delay(500); }

3、拟在8031片外扩展4K EPROM、8KRAM、一片8255、一片0832、一片0809以构成一实用系统,要求:

(1)画出电路图,并标明每块芯片地址;

}

精品文档