APP下载

数码管动态显示教具的设计

2018-08-18汪燕

数字技术与应用 2018年4期
关键词:数码管教具单片机

汪燕

摘要:针对单片机原理课程中数码管动态显示方式的教学难点,设计了一种可通过按键改变扫描频率的教具,直观展示了动态扫描的工作原理。教具以8051单片机为核心,涵盖了系统的软硬件设计和数码管的动态驱动原理。该教具与单片机原理课程联系紧密,使用简单,能激发学生学习兴趣,促进学生能力牵移。

关键词:数码管;教具;单片机;动态扫描

中图分类号:G642.423 文献标识码:A 文章编号:1007-9416(2018)04-0141-03

数码管的显示分为静态驱动方式和动态扫描方式。静态驱动的方法使用了单片机较多的I/O口,一般将需要显示的内容存储在寄存器中,接线方式直观,理解较为简单。在显示模块设计或基于单片机的简单应用中,一般采用动态扫描方法驱动多位数码管,学生理解与编程有一定的困难[1-3]。为配合课堂教育改革,将翻转课堂引入教学实践,需要引导学生探究数码管的显示方式,掌握数码管的动态驱动方式,我们设计了数码管动态显示教具[4-6]。

1 总体设计

该教具的硬件由单片机STC89C52为核心,I/O口扩展了4位8字数码管、按键和有源蜂鸣器构成[7]。通过按键的按压可以动态改变扫描频率,通过蜂鸣器发出声音提醒扫描频率发生了改变,系统结构如图1所示。

在STC89C52最小系统板的基础上,在P0口和P2口扩展了4位共阳极8字数码管,采用扫描方式驱动,扫描的频率由间隔时间决定。初始状态,扫描频率为每秒2次,可以清晰看到4位数码管依次被点亮。当触发按键时,数码管的扫描频率将增加,同时蜂鸣器发声,提示频率已经修改。每按一次按键,扫描会加快一倍,共10级,当扫描频率接近25次/秒时,4位数码管的数字将稳定显示[8]。

2 硬件设计

如图1,STC单片机最小系统共扩展了3个I/O器件。图1中的按键对应于图2的K1。图1中的蜂鸣器对应于图2中的P3.7引脚的扩展部分:R2、R3、S8550、Buzzer。4位共阳极数码管模块对应于图2的右上角的限流电阻RN1(阻值为510欧姆的排阻)、74LS245和4只0.5英寸的共阳极数码管。74LS245是双向总数驱动芯片,用于增强单片机P2口的驱动能力。图2中数码管下方“ABCDEFG”为字型码驱动引脚,“DP”为小数点驱动;“1234”为4个数码管的字选线,共阳极接法。当P2接高电平时,通过U2的驱动,可以直接驱动0.5英寸的数码管。当P2.0为高电平,P0口输出低电平,将点亮第1位数码管,P2.1为高电平时,将点亮第2位数码管,依次类推。P0口送不同的字型码即可显示不同的字符[8]。制作印刷电路板(PCB)布线时,将数码管的字型码驱动和位线尽量在PCB的同一面上,并且将“字型码驱动”和“位选”放在丝印层上,以方便学生研究学习。

3 软件设计

动态扫描利用了人眼的视觉暂留效应,时间大约是0.1~0.4ms,一般刷新率取24以上,即每秒钟每个数码管必须被点亮24次以上,人眼才能看到稳定的图像[9]。显然扫描是不能中断的,假如有4位数码管需要驱动,扫描的最大间隔是1/24/4,即10ms,如果单片机在扫描时需要处理其它事件,中断的时间必须小于这个值,否则显示就不稳定。本教具设计了一个按键K1,用于改变扫描频率;设计了一个有源蜂鸣器,用来提示频率发生了改变。按键不能采用扫描的方式读取,而是采用了外部中断的方式,节省了执行时间。蜂鸣器的打开时间采用定时器来控制,按键中断启动定时器,打开蜂鸣器。定时器时间一到,由定时中断关闭蜂鸣器。软件开发基于Keil C51,设计阶段采用Proteus仿真,软件处理流程如图3所示。

3.1 数码管的动态扫描方式

扫描流程[10]如图3(a)所示。

数码管的字型码为:

uchar code DSY_CODE[]=

{

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e

}; //0-9,A-F

扫描间隔采用数组预定义:

unsigned char intVal[]={250,200,100,50,25,12,10,9,8,7};//扫描间隔

数码管显示的字符序号放在数组lcd中:

Unsigned char lcd[]={1,2,3,4}; //初始显示为"1,2,3,4"

图3(a)中“送位选”指的是依次送P2.0, P2.1, P2.2, P2.3高电平,即依次点亮1至4位数码管,当扫描的频率超过人眼的视觉暂留时间后,即可看到稳定的数字显示。

3.2 按鍵K1的触发,修改扫描频率

K1按键采用外部中断方式触发[11]。中断服务程序将修改数码管的扫描间隔:250,200,100,50,25,12,10,9,8,7,单位为毫秒。每按一次,扫描间隔减少约一半。为看清动态显示过程,后面的几次间隔逐渐减小。为了吸引学生的注意,每按一次按键,让蜂鸣器发出声音。蜂鸣器采用有源蜂鸣器,P3.7输出低电平,驱动三极管Q1工作于饱和态,BUZ1发声。K1按键中断服务程序中同时启动定时器T0,在T0定时器溢出中断中关闭蜂鸣器,达到发声的短延时。

3.3 蜂鸣器发声,提示频率改变

在T0定时器中断服务程序[12]中令P3.7为高电平,三极管Q1工作于截止态,BUZ1停止发声。由于按键和蜂鸣器处理采用了中断和定时器的方法,语句执行时间极短,不影响数码管的动态扫描效果。

4 结语

数码管动态显示是单片机的重要输出方式,本设计以8051最小系统为基础,扩展了按键输入和蜂鸣器输出模块,调用了外部中断和定时器中断,将各个知识点有机地联系在一起,形成了一套集声光电一体的教学演示模板,清晰展示了数码管动态显示原理,激发了学生学习兴趣,方便了教师的使用,提高了实验课程的教学效果。

参考文献

[1]杨颖.以学生为本创新电子技术实验课教学[J].实验室研究与探索,2010,29(6):80-83.

[2]朱名强.基于自制教学装置或教具的教学改革研究[J].北京城市学院学报,2014(5):55-58.

[3]贾萍,丁向荣,胡美兰.“教、学、做”一体化单片机教学实验平台的设计与应用[J].实验技术与管理,2012,29(6):139-142.

[4]王志强,管恩京,巩秀钢,等.高校的混合式CDIO教学——以“高校单片机原理”课程为例[J].现代教育技术,2016,26(9):113-119.

[5]周冠玲,冯占英,李战.“单片机原理及应用”课程教学改革的探讨[J].中国电化教育,2012,(6):105-107.

[6]楼然苗,王世来.单片机实践教学改革与应用型人才培养[J].中国大学教学,2009,(3):80-81.

[7]于斌.单片机原理与接口技术[M].北京:人民邮电出版社,2008:156-158.

[8]赵亮.跟我学51单片机(五)——单片机动态扫描驱动数码管[J].电子制作,2011,(5):75-78.

[9]杨果仁,蔡顺燕.从“视觉暂留”看LED数码管动态显示[J].数字技术与应用,2013,(12):79-79.

[10]戴佳,戴卫恒.51单片机C语言应用程序实例精讲[M].北京:电子工业出版社,2007:108-110.

[11]王超,朱鹏远.基于Proteus的单片机中断电路的设计与仿真[J].实验技术与管理,2017,34(7):136-140.

[12]秦玉蒙,王娅男,邱春玲.一种高效软件定时器的设计与实现[J].实验室研究与探索,2015,34(9):94-97.

猜你喜欢

数码管教具单片机
自制玩教具《拼拼乐》
基于单片机的SPWM控制逆变器的设计与实现
Arduino编程
基于单片机的层次渐变暖灯的研究
MC9S08FL16单片机数码管静态显示分析
基于单片机的便捷式LCF测量仪
单片机控制的四位数码管动态显示编程
初中物理自制教具应用探讨
基于Qt的数码管数字编码系统的设计与实现
Microchip推出两个全新PIC单片机系列