单片机题库分章节答案(C语言)(5)

2020-04-14 05:05

( × )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)画出电路图,并标明每块芯片地址;

(2)设置8255的PA口为方式1输出,PB口为方式0输入,PC口高4位为输出,低4位为输入。试写出其初始化程序; (3)编写程序段在0832上输出下列波形。

u t

4、要求设计实现一个花样流水灯。假设硬件电路有八个发光二极管且接线于51单片机的P0口,高电平点亮,要求每间隔1s按00H、81H、42H、24H、18H、C3H、E7H、FFH的数据形式点亮流水灯。并在下图中将一个循环周期的流水花样用笔描绘出来,图中白色圆圈代表灯灭,涂黑代表灯亮。请编程实现。

高位在前,低位在后 ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ ○○○○○○○○ 流水灯花样图 #include

char code tabel[]={0x00,0x81,0x42,0x24,0x18,0xc3,0xe7,0xff}; void delay() { }

void main() { int i=0; for(i=0;i<8;i++) {P0=table[i]; delay(1000); } }


单片机题库分章节答案(C语言)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机械设计基础课后习题答案 第11章

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: