项目四 数码显示电子表《单片机技术及应用》(电工版第4版)章节过关卷

2025-12-09
| 2份
| 13页
| 91人阅读
| 0人下载

内容正文:

《单片机技术及应用》(电工版第4版) 项目四 数码显示电子表 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共15小题,每题2分,共30分) 1.在51单片机中,数码管动态显示的主要优点是 ( ) A.显示亮度高 B.编程简单 C.节省I/O口资源 D.无需扫描 2.共阳数码管的公共端应接什么电平才能点亮段码 ( ) A.高电平 B.低电平 C.悬空 D.脉冲信号 3.使用定时器实现数码管动态扫描时,通常将定时器中断时间设置为 ( ): A.1ms B.10ms C.100ms D.1s 4.在数码管显示程序中,定时器中断服务函数的主要功能是 ( ) A.更新显示数据 B.扫描数码管位选 C.计算按键值 D.读取AD转换结果 5.要实现4位数码管显示,定时器中断频率通常设置为 ( ) A.50Hz B.100Hz C.200Hz D.1kHz 6.数码管动态扫描时,决定每个数码管的显示时间的是 ( ) A.定时器初值 B.主循环执行时间 C.延时函数参数 D.中断服务程序执行时间 7.使用定时器1实现数码管扫描时,应设置的工作模式是 ( ) A.模式0(13位) B.模式1(16位) C.模式2(8位自动重装) D.模式3(两个8位) 8.51单片机控制数码管时,段码数据通常存放在 ( ) A.程序存储器(ROM) B.数据存储器(RAM) C.特殊功能寄存器(SFR) D.外部EEPROM 9.一个4位数码管动态扫描时,每位显示时间通常设置为多少 ( ) A.1秒 B.10毫秒 C.1微秒 D.100纳秒 10.共阳数码管的段码“0x3F”对应的显示数字是 ( ) A.0 B.1 C.2 D.3 11.动态扫描数码管时,若某一位不亮,可能的原因是 ( ) A.段码数据错误 B.位选信号未切换 C.扫描频率过高 D.供电电压过低 12.51单片机控制数码管时,通常使用的定时器工作模式是 ( ) A.模式0(13位定时器) B.模式1(16位定时器) C.模式2(8位自动重装) D.模式3(双8位定时器) 13.若数码管显示数字“8”时,缺少某一段,可能的原因是 ( ) A.该段对应的LED损坏 B.驱动电流不足 C.扫描频率过低 D.位选信号错误 14.在动态扫描数码管时,若所有位显示相同内容,可能的原因是 ( ) A.位选信号未切换 B.段码数据错误 C.扫描频率过高 D.驱动芯片故障 15.共阴数码管的段码“0x06”对应的显示数字是 ( ) A.0 B.1 C.2 D.3 二、判断题(本题共10小题,每题2分,共20分) 1.共阳数码管的公共端接高电平时,对应的段码输入低电平才能点亮该段。 ( ) 2.动态扫描数码管时,扫描频率越高,显示效果越稳定,通常设置在1kHz以上。 ( ) 3.使用74HC595芯片驱动数码管可以节省51单片机的I/O口资源。 ( ) 4.数码管显示数字“7”的共阴段码是0x07。 ( ) 5.在动态扫描数码管时,必须使用定时器中断来切换位选信号。 ( ) 6.共阴数码管的段码和共阳数码管的段码是互补关系(取反即可)。 ( ) 7.数码管显示出现“鬼影”是因为扫描频率过高导致的。 ( ) 8.静态显示方式下,每个数码管需要独立的驱动电路,占用I/O口较多。 ( ) 9.数码管的位选信号通常由单片机的P0口直接驱动,无需外加驱动电路。 ( ) 10.在动态扫描数码管时,所有数码管的段码信号线可以并联在一起。 ( ) 三、填空题(本题共5小题,每题2分,共10分) 1.在51单片机驱动共阳数码管时,段选信号需要输出______电平才能点亮对应的段。 2.动态扫描数码管时,若显示4位数,通常每位显示时间约为______ms,以保证无闪烁。 3.使用74HC595芯片驱动数码管时,数据通过______(串行/并行)方式输入,可节省单片机I/O口。 4.数码管显示数字“2”的共阴段码(a~dp顺序)是______(十六进制表示)。 5.动态扫描数码管时,若某一位显示异常但其他位正常,可能的原因是______信号故障。 四、简答题。(本题共3小题,每小题5分,共15分) 1.简述动态扫描数码管显示的工作原理及其优缺点。 2.在51单片机数码管电路中,为什么要加驱动电路?列举两种常用驱动方式。 3.如何解决数码管动态扫描时的"鬼影"问题?说明具体措施。 5、 作图题(本题共4分) 1.绘制共阳极数码管的硬件电路图,数码管接到P2口。 六、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共21分) 1.制作一个电子秒表,用6位数码管显示时分秒,每秒变化一次。请填空。 #include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uint t_50ms=0; uchar hour=0; uchar min=0; uchar sec=0; uchar buf[6]=[0,0,0,0,0,0}; uchar code SEG[10]={0x3f,0x06,0x5b,0x4f,【1】,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code POS[6]={0x01,0x02,0x04,0x08,0x10,0x20}; void disp(void); void disp_min(void); void disp_sec(void); void disp_hour(void); void delay(【2】) { uint i,j; for(i=0;i<k;i++) for(j=0;j<125;j++);} void init_timerO(void) { TMOD=0x01; TL0=【3】; TH0=-(50000/256); TR0=1; ET0=1; } void int_timer0( )interrupt 1 using 0 { TH0=-(50000%256); TL0=-(50000%256); t_50ms++ if(【4】) { t_50ms=0; sec++; if(sec>=60) { sec=0; 【5】; if(min>=60) { min=0; hour++ if(hour>=24) hour=0; void disp(void) { uchar i,j: for(i=0;i<=5;i++) { P2=WEI[i]; j=buf[i]; PO=【6】; delay(10); } } void main(void) { init_timer0(); EA=1; while(1) { buf[0]=sec%10; buf[1]=sec/10; buf[2]=min%10; buf[3]=min/10; buf[4]=【7】; buf[5]=hour/10; disp( );}} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 《单片机技术及应用》(电工版第4版) 项目四 数码显示电子表 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共15小题,每题2分,共30分) 1.在51单片机中,数码管动态显示的主要优点是 ( ) A.显示亮度高 B.编程简单 C.节省I/O口资源 D.无需扫描 【答案】C 2.共阳数码管的公共端应接什么电平才能点亮段码 ( ) A.高电平 B.低电平 C.悬空 D.脉冲信号 【答案】A 3.使用定时器实现数码管动态扫描时,通常将定时器中断时间设置为 ( ): A.1ms B.10ms C.100ms D.1s 【答案】A 4.在数码管显示程序中,定时器中断服务函数的主要功能是 ( ) A.更新显示数据 B.扫描数码管位选 C.计算按键值 D.读取AD转换结果 【答案】B 5.要实现4位数码管显示,定时器中断频率通常设置为 ( ) A.50Hz B.100Hz C.200Hz D.1kHz 【答案】C 6.数码管动态扫描时,决定每个数码管的显示时间的是 ( ) A.定时器初值 B.主循环执行时间 C.延时函数参数 D.中断服务程序执行时间 【答案】A 7.使用定时器1实现数码管扫描时,应设置的工作模式是 ( ) A.模式0(13位) B.模式1(16位) C.模式2(8位自动重装) D.模式3(两个8位) 【答案】C 8.51单片机控制数码管时,段码数据通常存放在 ( ) A.程序存储器(ROM) B.数据存储器(RAM) C.特殊功能寄存器(SFR) D.外部EEPROM 【答案】A. 9.一个4位数码管动态扫描时,每位显示时间通常设置为多少 ( ) A.1秒 B.10毫秒 C.1微秒 D.100纳秒 【答案】B. 10.共阳数码管的段码“0x3F”对应的显示数字是 ( ) A.0 B.1 C.2 D.3 【答案】A. 11.动态扫描数码管时,若某一位不亮,可能的原因是 ( ) A.段码数据错误 B.位选信号未切换 C.扫描频率过高 D.供电电压过低 【答案】B. 12.51单片机控制数码管时,通常使用的定时器工作模式是 ( ) A.模式0(13位定时器) B.模式1(16位定时器) C.模式2(8位自动重装) D.模式3(双8位定时器) 【答案】C. 13.若数码管显示数字“8”时,缺少某一段,可能的原因是 ( ) A.该段对应的LED损坏 B.驱动电流不足 C.扫描频率过低 D.位选信号错误 【答案】A. 14.在动态扫描数码管时,若所有位显示相同内容,可能的原因是 ( ) A.位选信号未切换 B.段码数据错误 C.扫描频率过高 D.驱动芯片故障 【答案】A. 15.共阴数码管的段码“0x06”对应的显示数字是 ( ) A.0 B.1 C.2 D.3 【答案】B. 二、判断题(本题共10小题,每题2分,共20分) 1.共阳数码管的公共端接高电平时,对应的段码输入低电平才能点亮该段。 ( ) 【答案】正确 2.动态扫描数码管时,扫描频率越高,显示效果越稳定,通常设置在1kHz以上。 ( ) 【答案】错误 3.使用74HC595芯片驱动数码管可以节省51单片机的I/O口资源。 ( ) 【答案】正确 4.数码管显示数字“7”的共阴段码是0x07。 ( ) 【答案】正确 5.在动态扫描数码管时,必须使用定时器中断来切换位选信号。 ( ) 【答案】错误 6.共阴数码管的段码和共阳数码管的段码是互补关系(取反即可)。 ( ) 【答案】正确 7.数码管显示出现“鬼影”是因为扫描频率过高导致的。 ( ) 【答案】错误 8.静态显示方式下,每个数码管需要独立的驱动电路,占用I/O口较多。 ( ) 【答案】正确 9.数码管的位选信号通常由单片机的P0口直接驱动,无需外加驱动电路。 ( ) 【答案】错误 10.在动态扫描数码管时,所有数码管的段码信号线可以并联在一起。 ( ) 【答案】正确 三、填空题(本题共5小题,每题2分,共10分) 1.在51单片机驱动共阳数码管时,段选信号需要输出______电平才能点亮对应的段。 【答案】低 2.动态扫描数码管时,若显示4位数,通常每位显示时间约为______ms,以保证无闪烁。 【答案】1~5 3.使用74HC595芯片驱动数码管时,数据通过______(串行/并行)方式输入,可节省单片机I/O口。 【答案】串行 4.数码管显示数字“2”的共阴段码(a~dp顺序)是______(十六进制表示)。 【答案】0x5B 5.动态扫描数码管时,若某一位显示异常但其他位正常,可能的原因是______信号故障。 【答案】位选 四、简答题。(本题共3小题,每小题5分,共15分) 1.简述动态扫描数码管显示的工作原理及其优缺点。 【答案】 动态扫描是通过分时轮流点亮多个数码管,利用人眼视觉暂留效应实现稳定显示。 工作原理: 每次只点亮1位数码管,快速切换位选信号,段码数据同步更新为当前位的显示内容,扫描频率通常50~200Hz。 优点:节省I/O口,降低功耗 缺点:编程较复杂,亮度低于静态显示 【解析】 见答案 2.在51单片机数码管电路中,为什么要加驱动电路?列举两种常用驱动方式。 【答案】 原因: 单片机I/O口驱动能力有限(尤其是P0口),数码管需要较大工作电流(5-20mA/段)。 常用驱动方式:三极管驱动和专用驱动芯片。 【解析】 见答案 3.如何解决数码管动态扫描时的"鬼影"问题?说明具体措施。 【答案】 解决方法: 加入消隐时间:在切换位选信号前,先关闭所有段码 硬件消隐:使用带锁存功能的驱动芯片(如74HC595) 优化扫描时序:确保位选切换时有足够建立/保持时间 并联消隐电容:在数码管段选线上并联小电容(10-100pF)吸收残余电流 【解析】 见答案 5、 作图题(本题共4分) 1.绘制共阳极数码管的硬件电路图,数码管接到P2口。 【答案】 六、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共21分) 1.制作一个电子秒表,用6位数码管显示时分秒,每秒变化一次。请填空。 #include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uint t_50ms=0; uchar hour=0; uchar min=0; uchar sec=0; uchar buf[6]=[0,0,0,0,0,0}; uchar code SEG[10]={0x3f,0x06,0x5b,0x4f,【1】,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code POS[6]={0x01,0x02,0x04,0x08,0x10,0x20}; void disp(void); void disp_min(void); void disp_sec(void); void disp_hour(void); void delay(【2】) { uint i,j; for(i=0;i<k;i++) for(j=0;j<125;j++);} void init_timerO(void) { TMOD=0x01; TL0=【3】; TH0=-(50000/256); TR0=1; ET0=1; } void int_timer0( )interrupt 1 using 0 { TH0=-(50000%256); TL0=-(50000%256); t_50ms++ if(【4】) { t_50ms=0; sec++; if(sec>=60) { sec=0; 【5】; if(min>=60) { min=0; hour++ if(hour>=24) hour=0; void disp(void) { uchar i,j: for(i=0;i<=5;i++) { P2=WEI[i]; j=buf[i]; PO=【6】; delay(10); } } void main(void) { init_timer0(); EA=1; while(1) { buf[0]=sec%10; buf[1]=sec/10; buf[2]=min%10; buf[3]=min/10; buf[4]=【7】; buf[5]=hour/10; disp( );}} 【答案】 【1】0x66 【2】uint k 【3】-(50000%256) 【4】t_50ms>=20 【5】min++ 【6】SEG[j] 【7】hour%10 【解析】 【1】0x66,这是数码管显示数字"4"的段码值(共阳极数码管)。 【2】uint k,delay函数需要传入一个无符号整型参数作为延时循环次数。 【3】-(50000%256),定时器初值的低8位,50000微秒(50ms)的取模运算结果。 【4】t_50ms >= 20,判断是否达到20次50ms中断(即1秒)。 【5】min++,秒数满60后分钟数加1。 【6】SEG[j],根据当前数字j取出对应的段码值送到P0口。 【7】hour%10,获取小时数的个位数字。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

项目四 数码显示电子表《单片机技术及应用》(电工版第4版)章节过关卷
1
项目四 数码显示电子表《单片机技术及应用》(电工版第4版)章节过关卷
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。