- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XX大学信息科学技术学院
设计报告
题目:四个八段数码管组成的计时器
姓名:
学号:
班级:日期:2011-6-30
引言
在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量如今的人们需求的是一种能给自己带来方便的电子产品。数字时钟是现代社会应用广泛的计时工具,在航空、电子等科研单位,工厂、医院、学校等企事业单位,各种体育赛事及至我们每个人的日常生活中都发挥着重要的作用。本次课程设计是一个具有四个八段数码管显示的计时器。LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的 字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
设计目的与任务
进一步了解ARM体系结构和编程方法
了解八段数码管的知识以及系统硬件的寻址方式
在理解数码管原理的基础上利用实验箱上的4个数码管设计实现一个简单的分秒计时器。
设计原理
2.1 八段数码管原理
八段数码管属于分段式半导体显示器件。每个数码管都由8个发光段组成(包括小数点)。这8个发光段其实就是8个发光二极管(如图2-1)
通过八段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。八段数码管中的发光二极管有共阴和共阳两种连接方法(如图2-2 所示),本设计采用的是共阳极连接方法。
共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则八段数码管显示十六进制数时所需的字形代码如表2-1所示。
2.2 实验硬件原理图
2.2.1数码管的片选地址 ,如下图所示
2.2.2七段数码管驱动电路,如下图所示
由图 2-3、图 2-4 与图 2-5 可知,片选信号 B_CS4(对应 CPU 的 nCS4)选中 74LCx138 译码器,并且以地址线 BA20,BA21,BA22 作为译码输入,LED_CS2、LED_CS3 为译码输出;当 LED_CS2 输出为高电平时,数码管 LED1、LED2 显示打开,LED1 显示的值对应数据总线上的低16位中的低8位数据,LED2显示的值对应数据总线上的低16位中的高8为数据;当 LED_CS3 输出为高电平时,数码管 LED3、LED4 显示打开,LED3 显示的值对应数据总线上的低16 位中的低 8 位数据,LED4 显示的值对应数据总线上的低 16 位中的高 8 为数据。
由于 B_CS4 的地址为 0由参考[A]中的实验 1 表 12-2 (74LCX138 的真值表)可知 要使 LED1、LED2 工作,LED_CS2(Y3)必须输出为高电平,即对应的 BA22、BA21、BA20 的值分别为 0、1、1,由此可得 LED_CS2 的地址为 0同理,LED_CS3 的地址为0
设计方案
设计方案概述
本设计是由四个八段数码管组成的计时器。四个数码管从左到右分别命名为LED4、LED3、LED2、LED1。计时从00:00开始,即初始时四个数码管均显示0;每过1秒最低位的数码管(LED1)显示的数字加1,满10向前进位,此时LED2、LED1显示1、0;当LED2显示的数字满足6时,往前进一位,LED3显示为1,此时LED2重新置为0;LED4和LED3显示同理。累计达到59:59秒时,重置为00:00。下图3-1显示开始计时的状态,图3-2显示计时计到11秒。
图3-1
图3-2
关键代码(from Main.c)
int main(void)
{
?Short int array[10]={0x40,0x79,0x24,0x30,
文档评论(0)