七段显示器和译码器课件的制作

🏠 首页 《无线电》杂志 2004年 🔗 第6期 🔗 第30页 分类:电脑与单片机 🔗 陈清 🔗

今天的电子技术越来越明显地朝着数字化的方向发展,电子教学的重点也在不断地向数字电路转移。人们大多从计算器这个运算工具认识到数字电路带给人们的好处,其中用到的七段数码显示器就能非常简洁而又直观地与人们交流数据信息。本文为大家介绍采用Flash MX版本软件制作七段显示器和译码器课件的方法。读者在开始学习课件制作时,升级您的软件,才能打开笔者提供的源文件和播放文件。


一、七段显示器的制作

图1
图1 🔍原图 (93×118)

图1所示是常见的七段显示器的图形,由a、b、c、d、e、f、g七个相似的发光(或变色)小段组成。我们在制作课件时也一样,先做一个显示的“小段”影片组件,方法是:

先在场景中用矩形工具画一色条,然后用鼠标在两端拖拉出尖角,转存为影片组件,组件名为: 七段显示器1。然后在场景中双击该组件,进入组件编辑状态。插入新层,在第二帧插入关键帧,复制粘贴另一层的色条图形到本层(注意上下对齐),更改色条颜色与另一层反差要大,以便显示这一小段。在第八帧再插入关键帧,用变形工具压缩第二帧上的色条图形的长度,设置图形补间动画,达到笔划徐徐展开的效果。最后再插入新层,写帧AS,即第一帧和第八帧的关键帧上分别写上“stop();”(读者也可选择简单制作,只在第二帧插入关键帧,更改第二帧的颜色,两帧上相应写上“stop();”就可以了)。

有了这个色条影片组件后,我们就可以用它来复制粘贴出7个色条影片组件,然后用鼠标移动和旋转工具将它们组合成七段显示器的图形(如图2所示,加背景框颜色与色条影片组件第一帧颜色相近),并利用属性名称栏给每个组件分别命名为:a、b、c、d、e、f、g。加上背景层,画绿色方框后,选中全部7个组件和背景方框,整体转换为一个新的组件,组件名为: 七段显示器2。在场景中的属性名称为:7D。

图2
图2 🔍原图 (546×395)

为了看到0~9的数字变化,我们制作了一个按钮组件,并在场景中复制出另外9个同样的按钮。将它们排列整齐后,在场景中插入一个新层,用来在这10个按钮的上方写0~9的数字,完成后的场景如图2所示。

然后,要给每个按钮写AS程序,如给“0” 按钮写入:

on (release) {

tellTarget (“_root.7D.a”)

{ gotoAndPlay(2);

€?€?}

tellTarget (“_root.7D.b”)

{ gotoAndPlay(2);

€?€?}

tellTarget (“_root.7D.c”)

{ gotoAndPlay(2);

€?€?}

tellTarget (“_root.7D.d”)

{ gotoAndPlay(2);

€?€?}

tellTarget (“_root.7D.e”)

{ gotoAndPlay(2);

€?€?}

tellTarget (“_root.7D.f”)

{ gotoAndPlay(2);

€?€?}

tellTarget (“_root.7D.g”)

{ gotoAndStop(1);

€?€?}

€?€?}

这里,我们应该注意到数字笔划和七段组件的颜色变化关系,“0”应该是让g组件停留在第一帧,而其他均作第二帧至第八帧的影片放映变化,并停留在第八帧。其他按钮上的程序句也可一一写出了,大家根据数字笔划作相应的变化就是了。如采用简单两帧的小段图形组件,上面的Play改写成Stop则效果更好些。


二、译码器与显示器的组合

大家知道,在数字电路中,计数器有二、十进制之分,常用的是十进制计数器。在数字电路中,所谓十进制计数也是用四位二进制数码来代替的,在教学中最常见的是8421BCD码。为了让七段显示器将四位二进制8421BCD码显示为我们熟悉的数字笔划,我们就要通过译码器翻译。T337就是常见的BCD码译码集成块,其功能表见本期配刊光盘的“本期程序”文件夹。

在输入端中,I\(_{B}\)是消隐输入端,即让七段显示器熄灭,设计课件时让它与BCD码的四个输入端D、C、B、A分开考虑。这样一来我们可以写出输出端a、b、c、d、e、f、g各段关于输入端D、C、B、A的逻辑代数式。(篇幅所限,这里不便列出,读者们可以自己分析一下。)

有了输入输出的逻辑关系,我们就可以开始设计制作课件了。将上面的七段显示器引入新建的文件中(也可以在上面文件打开时,选择“另存为···”,再删去那些按钮,以获得新文件),层名:七段显示器。

插入一个新层,名为IC方框。画出译码集成块的外观为矩形,再画一个引脚识别弧就可以了。插入一个“IC引脚”新层,根据实际集成块样品的引脚排列个数,制作了小方形“引脚”按钮组件(这里不想用作按钮,主要为下面BCD码输入考虑),用对齐工具将它们排放于矩形两端。再插入一个新层,名为说明文字。根据样品写出各引脚的功能(文字)符号,本层也用来写其他说明文字。最后在引脚旁都画出导线(在给大家提供的播放文件和源程序中,导线也是由影片片段来制作的,读者也可不做得那么复杂)。课件的总体布局如图3所示。

在图中,对应于DCBA四个BCD码输入端,我制作了相似的4个影片片段,以“A”组件为例,说明它们制作方法:

新建库中组件,名为“A”,第一帧,从库中拖入“引脚”按钮组件,插入第二帧、第三帧关键帧,在第二帧按钮组件上方写上静态文字“0”,第三帧按钮组件上写上静态文字“1”。在第二帧的按钮上写:

on (release) {

gotoAndPlay(3);

€?€?}

在第三帧按钮上写:

on (release) {

gotoAndPlay(2);

€?€?}

插入新层,也插入该层第二帧、第三帧关键帧,第一帧上写:

AIN = false;

stop();

第三帧写:

AIN = true;

stop();

这里的AIN是输入的变量名,true和false是逻辑值。读者应该知道,数字电路分析的基本方法,就是逻辑代数。数字电路的两种基本状态就是高、低电平,也记为“1”和“0”,也可记为true和false,但在Flash程序语法中,规定了true和false为逻辑值,这点希望读者要理解清楚。

做完“A”组件后,要得到其他组件快捷的方法是在打开的库中,直接在库中选中“A”组件,点出右键菜单,选择“复制”,就会在库中得到它的“副本”,改名B、C、D后,需进入它们的编辑状态,将帧上写的变量名AIN对应改写为BIN、 CIN 、DIN就可以了,完成后,将它们拖到场景的“导线”层中,与译码集成电路引脚位置对应放置。I\(_{B}\)就直接用“引脚”按钮放入相应位置。考虑到I\(_{B}\)的“消隐”作用,请在场景中第二帧插入关键帧,回到第一帧,在I\(_{B}\)的按钮上写:

on (release) {

gotoAndPlay(2);

€?€?}

在第一帧IB的按钮上方写上“0”,在第二帧IB的按钮上写:

on (release) {

gotoAndStop(1);

€?€?}

在第二帧IB的按钮上方写上“1”。其他各层均通过插入帧方法将帧数统一延长至第四帧。

在场景中插入新层,名为“AS”,第一帧上写“stop();”,第二帧上写的程序较长,不便刊出,请读者参考本期配刊光盘中笔者为大家提供的源程序。该段程序是根据T337集成块功能表列写出的Flash程序中应用的输出端逻辑表达式。与我们在教材中不同的是,在Flash程序中逻辑与、或、非的符号是“&&”、“||”、“!”,且与、或只比较左右两个量,得到的结果只能是:true和false。这里是本讲学习的难点,希望读者多花时间研究分析一下各表达式的书写方法和道理。笔者也是花了一定时间才调试合格写成的,因此对笔者来说:珍贵!是本课件设计成功的关键。

在“AS”层第三帧插入关键帧,在帧上写入:(程序太长,只录入第一段部分语句,其他的相仿,读者自己试着写,或参考本期配刊光盘中的源程序。)

if (a1) {

tellTarget (“_root.7D.a”) {

gotoAndStop(8);

€?€?}

} else {

tellTarget (“_root.7D.a”) {

gotoAndStop(1);

€?€?}

€?€?}

这是个条件句,即假如a1=true,就会告诉七段显示器中“7D.a”播放第八帧(显示,没有设第二帧,是因为会出现影片片段放映不全、闪烁的情况),否则放映第一帧(熄灭)。

在实际使用中,发现输入端不会在意输入BCD码以外的DCBA其他六种组合,这在T337中是无法译码的,所以在“AS”层第四帧插入关键帧,写入:

xx = (DIX)&&(BIX)||(DIX)&&(CIX);

if (xx) {

tellTarget (“_root.zz”) {

gotoAndStop(2);

€?€?}

} else {

tellTarget (“_root.zz”) {

gotoAndStop(1);

€?€?}

€?€?}

gotoAndPlay(2);

这里的第一句就是判断BCD码以外的DCBA其他六种组合的逻辑代数式的化简式,以变量xx存放,如果结果是“true”则通知影片片段“zz”播放第二帧的文字提示画面“这组,可不是8421BCD编码!”;如果结果是“false”,则通知影片片段“zz”播放第一帧空白面,这个zz影片片段在本刊以前的文章中都有应用,这里不作叙述。最后一句是让影片在2~4帧中循环更新、计算变量。做到这里大家可以测试了,看看效果,再作修改。

Macromedia Flash MX 2004 是 Macromedia Flash 的最新版本,它包含Macromedia Flash 的所有特点及功能,另外还有很多高端特点,比如数据源综合功能、支持专业视频、制作更神奇的应用程序及互动内容。读者可到http://www.macromedia.com/cn/software/flash/上全面了解Flash MX 2004 的各种功能,并能看到该软件详细的功能演示。

(文/陈清)