文档详情

手把手教你用增强型实验板的数码管.doc

发布:2018-06-11约6.51千字共10页下载文档
文本预览下载声明
手把手教你用增强型51实验板的数码管 2005年第4期笔者写的“单片机快速入门”一文,激起了许多电子爱好者学习单片机的热情之心,也使不少读者朋友从对单片机一无所识转为对单片机有一定的了解,知道了单片机是怎么回事,能够用来做些什么及一些基本运用技能,因此,笔者也深感欣慰,同时也希望广大的单片机初学者能够学好单片机技术,用自己的智慧去发挥其实际应用作用。在04期中,我们已对单片机开发的各设备作了介绍,给大家有了个初步的入门,那时我们讲的是发光管的控制,如:点亮、熄灭发光管及漂亮的流水灯效果。这一期, 笔者将介绍如何使用七数码管及一些基本应用。 七段数码管在家电及工业控制中有着很广泛的应用,例如用来显示温度、数量、重量、日期、时间等等,具有显示醒目、直观的优点。下文我们将结合仿真器、编程器和试验板来学习数码管的使用。 首先,让我们先来对相关理论知识进行一番了解。如图片左上角,是我们51试验板的4位数码管;那这些数码管是怎样来显示1,2,3,4……数字呢?别着急,我们一起慢慢来学。 数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母 a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的 字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。 7段数码管的段排列和内结构见下图: 试验板用的都是共阳极扫描型数码管。那什么是共阳极呢;就是他们的公共端接正极;还有一种是共阴极的数码管,那么他们的公共端是接负极的。扫描型的意思是,几位的数码管的段选都是并联着的。 现在我们可以看到试验板上有四个数码管,那我们应该如何来控制哪一只数码管显示呢?再看看试验板上的图片,右边有4个黑糊糊的三极管,对,就是用它们来控制左边的那些数码管哪个边亮。 现在来看看试验板数码管部分的硬件原理图。 图中的A,B,C,D,E,F,G,DP分别与单片机的P0.0--0.7口相连,用来控制显示数字的形状。Q81、Q82、Q83、Q84即为上文所讲到的4个控制数码管的三极管,S1、S2、S3、S4分别接在单片机的P2.0,P2.1,P2.2,P2.3口上。通过控制这些三极管的S1、S2、S3、S4端的电平来打开或关闭数码管的显示,即起到“使能”作用。如S1端为低电平,则允许相应的数码管显示,显示的字形则由P0.0--0.7口所决定。 上面理论说了一大堆,我们从这里开始动手喽:)我们的任务是要让左边两个数码管显示一个“2”字。 首先,还是将仿真器和试验板的线都插好,如图所示: 接下来,我们得安装仿真器软件——Keil,用户可以在配带的软件光盘“仿真器配套软件及编译器”目录下找到,Keil中有三个文件夹,进入“Keil主程序”运行Setup.exe文件进行安装,无需特别的参数设置,按其默认值确认即可,具体安装方法可看目录下的说明文件。安装完成之后,点击开始菜单“程序”中的“Keil uVision2”。进入软件界面,如图所示: 我们在“工程”菜单中执行“新建”命令,新建工程文件名取为“project.uv2”。接下来是选择我们要做实验使用的CPU类型,我们在此使用市面上最为常见的Ateml公司的AT89C51型号,选好,点击确定即可,这时我们的工程向导已经做完,下一步我们将编写源程序代码,即2个数码管显示数字“2”所需要的程序代 码。我们执行“新建”操作,在弹出的文本编缉框内键入以下代码: LOOP: CLR p2.0 CLR p2.1;选中左边两个数码管 SETB p2.2 SETB p2.3;不选中右边两个数码管 SETB P0.7 SETB P0.5 CLR P0.1 SETB P0.2 CLR P0.3 CLR P0.4 CLR P0.6 CLR P0.0 AJMP LOOP END 如图所示 在这个程序里,我们使用的是汇编最基本的指令SETB和CLR,用来将指定的单片机端口分别置为高电平或低电平。第2、3行语句的作用是用来选中试验板上左边两个数码管,使其显示;第4、5行语句的作用则是不选中右边两个数码管,即关闭其显示。使用者也可以自行选择用哪个数码管来显示,只要将相应的控制口使用CLR指令置为低电平即可。程序第6行开始,则是控制数字数形,可以从前文介绍的“7段数码管的段排列和内结构图”中分析得出数字形状。程序代码录入完毕,下面我们得保存我们已经编好的程序,即执行“文件”菜单中的“另
显示全部
相似文档