简易数字钟的设计

合集下载

简易数字钟的设计

简易数字钟的设计

中文摘要数字钟已经成为人们日常生活中不可缺少的必需品,广发应用于家庭及办公室等公共场所,给人们的生活、学习、工作及娱乐带来了极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使得数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用方便,但鉴于单片机的定时器功能也可以完成数字钟的设计,因此进行数字的设计是必要的。

在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。

单片机具有体积小、功能强、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和生活的各个角落,有力地推动了各行各业的技术改造和产品的更新换代,应用前景广阔。

本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件(共阴极LED 数码显示器等),再配以相应的软件,达到制作简易数字钟的目的。

硬件部分采用了单片机原理实验室的实验箱进行合理接线调试;软件部分通过keil进行了C程序的修改编译,protues软件仿真等。

最终在实验箱上实现了与仿真结果相同的实际效果。

关键词单片机定时功能、AT89C51、共阴LED、Keil、Protues软件。

AbstractMicroelectronics and computer technology along with the rapid development and progress, making the design of electronic systems and applications have entered a new era. The traditional manual design process is being advanced electronic design automation technology to replace. And is currently supporting modern technology has become the universal platform for electronic design, and step by step to support the development of system-level design. Only to hardware description language and logic synthesis-based top-down design methodology to meet the increasingly complex needs of digital system design. The progressive development of the taxi industry, the taxi meter is getting higher and higher requirements, the user requires not only the performance of the stability of billing, billing and accurate anti-cheat functions; and as a result of the instability in oil prices, billing system the need for regular adjustment of the meter so that users can request not to change the hardware to facilitate the billing system modifications.The system is the use of language, it can make use of digital circuits and system description, simulation and automatic design, and software as a development platform designed billing system procedures taxi and carried out a simulation program. To the achievement of pre-billing and simulation, as well as car to start, stop, pause and other functions, and dynamic scan shows the number of fares.Key Words Microcontroller\、AT89C51、7SEG-MPX6-CC-RED 、Keil、Proteus目录中文摘要 (I)Abstract (II)目录......................................................................................................................................... I II 1设计任务描述.. (1)1.1设计题目:简易数字钟的设计 (1)1.2 设计要求: (1)1.2.1 设计目的 (1)1.2.2 基本要求 (1)2设计思路 (2)3设计方框图 (3)3.1数字钟硬件部分示意图 (3)3.2数字钟软件部分组成框图 (4)3.2.1时间调整的程序流程 (4)3.2.2时钟显示程序流程 (5)4各部分模块介绍 (6)4.1单片机AT89C51芯片分析 (6)4.2晶振电路模块 (7)4.3复位电路模块 (7)4.4显示模块 (8)4.5时间校对按键模块 (9)5简易数字钟源程序 (10)5.1源程序 (10)6数字钟源程序的仿真 (15)6.1编译、连接 (15)6.2仿真 (16)6.2.1生成HEX文件 (16)6.2.2仿真结果 (16)7数字钟硬件原理图 (17)7.1总原理图 (17)8主要原器件清单 (18)小结 (19)致谢 (20)参考文献 (21)1 设计任务描述1.1 设计题目:简易数字钟的设计1.2 设计要求:1.2.1 设计目的熟练使用Keil开发环境,具备编写单片机程序(汇编语言或C语言)的初步能力,通过完成本课题的软硬件设计,使同学们了解单片机实例的整个开发流程。

设计制作电子时钟

设计制作电子时钟

设计制作简易数字钟一、设计要求1、设计一振荡源,用于产生1Hz的脉冲信号;2、能完成从00时00分00秒到23时59分59秒走时,并实时显示时、分、秒;3、具有手动校时、校分、校秒功能。

发挥部分:具有正点报时功能。

要求在59分58秒开始报时,持续5秒钟。

二、总体设计方案1、方案选择数字钟实际上是由一个对标准频率(1HZ)进行计数的计数电路为主要部分构成的。

由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ 时间信号必须做到准确稳定。

通常使用石英晶体振荡器电路来构成数字钟的标准时间基准信号。

数字钟的组成框图如下图所示。

数字钟计时周期是24,因此必须设置24 计数器,秒、分、时由七段数码管显示。

为使数字钟走时与标准时间一致,校时电路是必不可少的。

设计中采用状态机控制校时,通过切换开关用秒脉冲或手动按键产生脉冲先后对“时” “分” “秒”计数器进行校时操作。

2、数字钟的构成(1)数字钟的构成:振荡器、分频器、计数器、译码器、LED数码管显示器等几部分。

附加功能的实现还需采用T’触发器及与门和或门及蜂鸣器组成报时电路。

(2)数字钟的时、分、秒实际上就是由一个24 进制计数器(00-23),两个60 进制计数器(00-59)级联构成。

设计数字钟实际上就是计数器的级联。

(3)芯片选型:由于24进制、60进制计数器均由集成计数器级联构成,且都包含有基本的十进制计数器,从设计简便考虑,芯片选择十进制计数器74LS390。

3、元器件列表:型号74LS00、74LS04、74LS08、74LS21、74LS32、74LS47、74LS74、74LS86、74LS390、CD4068、CD4060、CD4511。

晶体管8050、510欧姆电阻、LED、轻触开关、自锁开关、蜂鸣器、10p电容、晶振32768、10M电阻。

三、系统工作原理1、主计数部分原理图图1主计数部分原理图如图所示,用两个十进制计数器74LS390组成60进制计数器和24进制计数器,分别用于对分、秒和时的计数。

简易数字钟设计

简易数字钟设计
5.很多难点的突破都来自于与同学的交流,交流使自己获得更多信息,开拓了思路,因此要重视与别人的交流。
调整使能端
入0有效,有效时,显示信号输出,同时屏蔽进位输入和进位输出,允许调整信号输入。
显示使能端
入0有效
调整信号输入
2.24进制模块(24count)
实现同步24进制计数,可调整
电源,时钟信号
同上
进位输入
接分的进位信号
进位输出
秒模块接分模块,分模块接时模块
显示输出
同上
闹钟比较信号输出
接到闹钟
调整使能端,显示使能端,调整信号输入
二、任务分析
能按时钟功能进行小时、分钟、秒计时,并显示时间及调整时间,能整点报时,定点报时,使用4个数码管,能切换显示。
三、总体设计
本阶段的任务是根据任务要求进行模块划分,提出方案,并进行比较分析,最终找到较优的方案。
方案一、采用异步电路,数据选择器
将时钟信号输给秒模块,秒模块的进位输给分模块,分模块进位输入给时模块,切换的时候使用2选1数据选择器进行切换,电路框图如下:
同上
3.闹钟模块(60clock,24clock)
实现可与时钟比较,并输出闹铃信号,可调整
电源,时钟信号
同上
闹钟比较信号输入
秒模块接分模块,分模块接时模块
显示输出
同上
闹铃输出
接到蜂鸣器
调整使能端,显示使能端,调整信号输入
同上
4.控制模块(fun,func)
管理总线资源,对各个模块输出控制信号
电源
5vVCC
该方案的优点是模块内部简单,基本不需要额外的电路,但缺点也很明显,该方案结构不清晰,模块间关系混乱,模块外还需使用较多门电路,不利于功能扩充,且使用了异步电路,计数在59的时候,高一级马上进位,故本次设计不采用此方案。

简单的数字时钟(verilog设计)

简单的数字时钟(verilog设计)
Verilog作为一种硬件描述语言,可用于设计和实现数字系统,包括数字时钟。 通过Verilog设计数字时钟,可以加深对数字系统和Verilog语言的理解,并提高 设计能力。
设计目标与要求
设计一个简单的数字 时钟,能够显示时、 分、秒。
时钟应具有可靠性、 稳定性和可扩展性。
要求使用Verilog语 言实现,并能够在 FPGA或ASIC上实现。
设计思路及流程
• 设计思路:采用模块化设计方法,将数字时钟划分为不同的模 块,如计数器模块、显示模块等。每个模块负责实现特定的功 能,并通过接口与其他模块进行通信。
设计思路及流程
设计流程 1. 确定设计需求和目标。 2. 制定设计方案和计划。
设计思路及流程
3. 编写Verilog代码,实现各个模块的功能。 5. 根据测试结果进行调试和优化。
未来改进方向探讨
提高计时精度
通过改进算法或采用更高 性能的硬件平台,提高数
字时钟的计时精度。
降低资源占用
优化代码结构,减少不 必要的资源占用,提高 时钟系统的运行效率。
增加实用功能
拓展应用领域
考虑增加闹钟、定时器 等实用功能,使数字时 钟更加符合用户需求。
探索将数字时钟应用于 更多领域,如智能家居、
数据类型与运算符
Verilog中的数据类型包括
整型、实型、时间型、数组、结构体等。
Verilog中的运算符包括
算术运算符、关系运算符、逻辑运算符、位运算符等。
顺序语句与并行语句
Verilog中的顺序语句包括
赋值语句、条件语句、循环语句等,用于描述电路的时序行为。
Verilog中的并行语句包括
模块实例化、连续赋值语句、门级电路描述等,用于描述电路的并行行为。

数字钟的设计 (2)

数字钟的设计 (2)

数字钟的设计
数字钟的设计可以包括以下要素:
1. 数字显示器:数字钟需要一个数字显示器来显示当前的
时间。

可以采用LED或LCD显示器,显示数字0-9等基本数字以及冒号等特殊符号。

2. 时间设置按钮:数字钟需要一个或多个按钮来设置时间。

用户可以通过按下按钮来调整小时、分钟和秒等时间设置。

3. 电路板:数字钟需要一个电路板来控制时间的计数和显示。

电路板上包含微控制器或集成电路芯片,负责处理输
入和输出信号,控制时间的计数和显示。

4. 电源:数字钟需要一个电源来供电。

可以使用电池或直
接接入电源插座。

5. 外壳:数字钟需要一个外壳来保护内部组件,同时也可以起到美观的作用。

外壳材料可以选择塑料、金属或木材等。

6. 时钟机芯:数字钟需要一个时钟机芯,用于稳定时间的计数和显示。

时钟机芯可以是石英机芯、机械机芯或电子机芯等。

7. 其他功能:数字钟还可以添加其他功能,如闹钟、温度显示、日历等。

这些功能可以通过额外的按钮和显示屏来实现。

需要根据实际需求和预算来选择设计数字钟的具体要素和组件。

同时,还需要考虑数字钟的易用性、耐用性和美观性等因素。

设计完成后,还需要进行测试和调整,确保数字钟的正常工作。

数字逻辑电路课设—简易数字钟设计

数字逻辑电路课设—简易数字钟设计

数字逻辑电路课程设计报告多功能数组钟设计一、设计要求:通过Maxplus II使用VHDL语言编写设计一款多功能数字钟,具体功能如下:1、时钟时,分,秒分别显示且能正确计数。

2、整点报时,时钟在将要到达整点的最后十秒,给予蜂鸣提示。

3、校时,可以通过相应开关按钮对时钟的时分秒进行调整。

4、闹钟,用户可以预设闹铃时刻,当时间到达该时刻时,发出蜂鸣提示。

二、总体设计:1、设计框图:2、外部输入输出要求:外部输入要求:输入信号有1024Hz时钟信号、低电平有效的秒清零信号CLR、低电平有效的调分信号SETmin、低电平有效的调时信号SEThour;外部输出要求:整点报时信号SOUND(59分51/3/5/7秒时未500Hz低频声,59分59秒时为1kHz高频声)、时十位显示信号h1(a,b,c,d,e,f,g)、时个位显示信号h0(a ,b,c,d,e,f,g)、分十位显示信号m1及分个位m0、秒十位s1及秒个位s0;数码管显示位选信号SEL0/1/2等三个信号。

3、各模块功能:1)FREQ分频模块:整点报时用的1024Hz与512Hz的脉冲信号,这里的输入信号是1024Hz信号,所以只要一个二分频即可;时间基准采用1Hz输入信号直接提供(当然也可以分频取得,这里先用的是分频取得的信号,后考虑到精度问题而采用硬件频率信号。

2)秒计数模块SECOND:60进制,带有进位和清零功能的,输入为1Hz脉冲和低电平有效的清零信号CLR,输出秒个位、时位及进位信号CO。

3)分计数模块MINUTE60进制,带有进位和置数功能的,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位及进位信号CO。

4)时计数模块HOUR:24进制,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位。

5)扫描模块SELTIME:输入为秒(含个/十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。

6)整点报时功能模块ALERT:输入为分/秒信号,输出为高频声控Q1K和Q500。

简易数字钟电路设计基本思路_邵兰

简易数字钟电路设计基本思路_邵兰

二 、系 统 硬 件 设 计
一 个 完 整 的 数 字 钟 电 路 应 包 括 输 入 脉 冲 电 路 、单 片 机 、晶 片 和 复 位 电 路 、外 部 存 储 器 电 路 和 LED 显 示 电 路 5
个部分。 我们知道, NCS- 51 单片 机 的 片 内 结 构 由 8 个 部 件 组 成 , 即 微 处 理 器( CPU) 、数 据 存 储 器( RAM) 、程 序 存 储 器
首先, 我们给数字钟设定的主要功能为: ①用单脉冲开关控制秒表的启动 / 停止 / 复位, 以 4 位数码管的高 2
位显示秒值, 低 2 位显示百分秒。②作为 24 小时可调整的时钟 , 以 4位 数 码 管 的 高 2 位 显 示 小 时 , 低 2 位 显 示 分
钟。③发光二极管每秒闪烁一次, 表明时钟正常运行。需调整时二极管停闪。④可设定初值的倒计时功能。
三 、程 序 设 计 要 点 数字钟的程序主要包括 3 个方面。一是利用定时器完成时钟的定时周期, 二是利用按键和开关触发外中断, 改变时钟运行模式, 三是单片机控制 LED 数码管显示时间和相关功能的计数值。设计时重点考虑的, 一是定时器 的使用。为实现秒表的功能, 需要使用定时器 TO 产生 IS 的中断, 并在中断程序中完成每一秒数字的变化, 并在主 程度中动态显示该字符。二是外中断的使用。将单脉冲开关 PULSE 连接到单片机的 INT1 管脚上, 通过 INT1 控制 实现秒的启动 / 停止 / 复位这三项功能。三是 24 小时时钟显示程序。四是秒表和倒计时功能程序。五是时间调整 功能程序。六是初值调整功能程序。
数 字 钟 设 计 涉 及 的 主 要 任 务 有 4 项 : 一 是 使 用 定 时 器 , 以 实 现 24 小 时 时 钟 和 秒 表 的 运 行 ; 二 是 使 用 计 数 器 ,

毕业设计76简易数显电子钟设计

毕业设计76简易数显电子钟设计

毕业设计76简易数显电子钟设计一、引言电子钟是指使用数字显示的时钟,通过LED或LCD等显示器件显示时间。

本文将设计一款简易数显电子钟,采用数字管显示器件,实现准确显示时间的功能。

设计的电子钟具有简单、易操作、精确显示等特点,适合作为毕业设计的对象。

二、设计原理1.时钟芯片选取:选用高精度的时钟芯片,可以提供准确的时间信号。

2.数字显示器件选取:采用数字管显示时、分、秒的数据。

3.控制电路设计:根据时钟芯片提供的时间信号,通过控制电路将时、分、秒的数据传输到数字显示器件进行显示。

三、设计步骤1.选择时钟芯片:根据设计需求,选择适合的高精度时钟芯片,如DS13022.搭建电路原理图:根据选定的时钟芯片的电路原理图,搭建控制电路的原理图,包括时钟芯片、数字显示器件等。

3.PCB设计:根据电路原理图,进行PCB设计,制作电路板。

4.组件焊接:根据PCB设计制作的电路板,将所有的电子组件焊接到电路板上。

5.软件编程:根据时钟芯片的数据手册,编写软件程序,实现数据传输和显示功能。

6.系统调试:完成软硬件的搭建后,进行系统调试,检查时钟芯片和控制电路的正常工作情况。

7.最终制作:将电路板安装到外壳中,搭建简易数显电子钟的最终产品。

四、设计注意事项1.保证电路的稳定性和可靠性:在电路设计和焊接过程中,注意选择合适的电子元件,以确保电路的稳定性和可靠性。

2.时钟芯片的驱动:在软件编程过程中,需要熟悉时钟芯片的控制寄存器和通信协议,以确保准确的数据传输。

3.屏幕显示:在选择数字显示器件时,需考虑显示器件的亮度、清晰度等因素,以保证用户操作的便捷性。

五、设计成果展示通过厚一学期的努力,成功设计并制作了一款简易数显电子钟。

设计的电子钟具有准确的时间显示功能,通过数字管显示时、分、秒的数据。

用户可以方便地通过操作按钮调整时间。

电子钟外观简洁大方,适合放置在家居或办公场所使用。

六、结论本文以设计一款简易数显电子钟为目标,经过认真的设计与制作,成功实现了时、分、秒的准确显示功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三单元简易数字钟的设计数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无需机械传动等优点。

因而得到了广泛的应用。

小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数字电子钟,数字钟到处可见。

在数字电路的学习中,已经学习过用计数器芯片搭建数字钟。

51单片机内部集成了定时器/计数器,这为构建数字钟带来了方便。

在本单元中,学习如何用51单片机来构建一个功能数字钟。

【任务要求】➢在6个数码管上显示时、分、秒,共6位数字。

➢通过单片机内部定时器控制走时,走时准确。

➢系统有四个按键,功能分别是调整时间,加,减,确定。

在按下调整键时候,显示“时”的两位数码管以1 Hz 频率闪烁。

如果再次按下调整键,则“分”开始闪烁,“时”恢复正常显示,依次循环,直到按下确定键,恢复正常的显示。

在数码管闪烁的时候,按下加或者减键可以调整相应的显示内容。

按键支持短按和长按,即短按时,所修改的数字每次增加1或者减小1,长按时候以一定速率连续增加或者减少10。

【学习知识点】➢数码管的原理,驱动程序的实现。

➢51单片机内部定时器的原理及应用➢独立按键的原理及程序的实现。

【内容安排】第一节:数码管显示原理及应用实现第二节:独立按键检测原理及应用实现第三节:计时的原理及实现第四节:基于定时器的程序改进第五节:数字钟的构建第一节数码管显示原理及应用实现1.1 数码管显示原理数字钟要把时间显示到数字显示装置上,常用的数字显示装置有数码管、液晶、LED、CRT显示器等。

在单片机系统设计中,LED数码管是最基本的显示装置。

在数字钟的设计中我们用数码管对中的小时、分和表来进行显示。

LED数码管能显示各种数字或符号,由于它具有显示清晰、亮度高、寿命长、价格低廉等特点,因此使用非常广泛。

图1.1是几个数码管的图片:a图为单位数码管, b图为双位数码管,c图为四位数码管。

a 单位数码管b 双位数码管c 四位数码管图1.1 数码管图片那么数码管是如何的工作呢?还记得我们小时候玩过的“火柴棒游戏”吗,几根火柴组合起来,可以拼成各种各样的图形,数码管实际上就是利用这个原理做成的。

图1.2 单个数码管引脚标号,共阴和共阳的内部连接图单个数码管由8个发光二极管组成,其中7个长条形的发光管排列成一个“日”字形,我们称之为“段”,另一个圆点形的发光管在数码管的右下角作为小数点用,图1.2中的a 图是数码管的段标号以及外接引脚排列图,由图可以看出,单个数码管共有10个引脚,其中8个发光二极管的一端分别与数码管的8八个引脚相接,8个发光二极管的另外一端汇集在一起,称之为公共端,与数码管上下排引脚当中的那个引脚相连,称之为“公共端”。

公共端既可以接地,也可以接高电平。

公共端接地的数码管,是将发光二极管的阴极连接在一起接地,点亮数码管,各段需加高电平,称之为“共阴极数码管”;公共端接高电平的数码管,是将发光二极管的阳极连接在一起接高电平,点亮数码管,各段需加低电平,称之为“共阴极数码管”;图1.2中的b图和c图分别是共阴极数码管和共阳极数码管内部原理图。

1.2 单个数码管的控制我们以共阴极的数码管为例,先介绍如何控制一个8段数码管显示“0”-“F”16个数字或数字。

例1.1 单个数码管显示“0”-“F”1)硬件电路设计图1..4 单个LED数码管控制电路图1.3 单个数码管显示控制电路由于51单片机I/O高电平驱动能力有限,故在数码管与单片机之间串入锁存器74HC573,增加段的驱动能力,段限流电阻330Ω。

2)软件设计为了获得“0”-“F”16个不同字符,数码管各段所加的电平不同,因此I/O口输出的编码也不同。

因此首先要建立一个编码表,见表3.1。

表3.1 LED数码管字型字段编码表有了字型段码对照表,就可以用软件的方式进行8段码的译码。

如要显示字型“1”,P0输出值为0x06;显示字型“2”,P0口输出值为0x5B。

#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define port_seg P1uchar code seg_7[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F的字码放在数组中,数组名前面的code表示把数组的元素放在Flash中,而不是//RAM,这样可以节省RAM的空间。

//************************************************************************ // ms延时子函数//************************************************************************ void delayms(uint xms)//1ms的延时函数{uint i,j;for(i=0;i<112;i++)for(j=0;j<xms;j++);}//************************************************************************ // 主函数//************************************************************************ void main(void){uchar count;while(1) //定义循环变量{for(count=0;count<16;count++) //16次循环{port_seg=seg_7[count]; //从数组中取段码值赋给P1口delayms(1000); //间隔1s}}}讨论区:(1)限流电阻可以像图1.4那样接么?在图1.4中,限流电阻接在数码管和地之间,而不是接在锁存器与数码管之间,合理的选取电阻的阻值,可以实现数码管的点亮,而且只用了一个电阻,节省了电路的成本。

看起来是完美的方案,但是在实际调试的时候,我们会发现显示不同的数值,数码管的段亮度不同。

比喻说:显示”8”,亮度较低,显示”1”。

亮度较高,这是为什么呢?原因在于,只接一只电阻,各段电流和是一定的,当数码管段显示”8”的时候,7段全亮,那么每一段的电流就只有总电流的图1.3 只接一只电阻1/7,而如果显示”1”,那么每一段的电流为总电流的1/2,显示不同数字或者字符,段电流不相等,所以亮度也不同。

所以这种电阻的接入方法是不合理的。

(2)如何来识别数码管的引脚1.3 多位数码管的显示一个LED数码管只能显示一位数字,一般在系统中经常使用多个LED数码管,如要显示时间、温度、转速等等。

在上面一位数码管控制显示的简单例子中,我们可以看到,一个数码管要使用51单片机的8个I/O口来输出段码,当使用多个数码管的时候,显然采用这种控制方式有些问题,因为51单片机不能提供太多的I/O控制引脚。

多个数码管的显示驱动系统的实现,有多种不同的方式可以采用,而且在硬件和合软件的设计上也是不同的。

多个LED数码管显示电路按驱动方式可分为静态显示和动态显示两种方法。

采用静态方式显示时,除了在改变显示数据的时间外,所有的数码管都处于通电发光状态,每个数码管通电占空比为100%,静态显示的优点:显示稳定,亮度高,程序设计简单,MCU负担小,缺点是:占用硬件多(如I/O口、锁存电路等),耗电量大。

图2.19 是4个共阳极数数码管静态显示时的连接方式与显示状态,当单片机系统中使用静态数码管显示时,需要在每一个数码管上添加一个锁存器,当需要某个数码管显示其他内容时,只需要修改与其相连的锁存器的值即可。

而所谓动态显示方式,就是一位一位地轮流点亮各个数码管。

对于每一位数码管而言,每隔一定时间点亮一次,所以当扫描的时间间隔足够小时,观察者就不会感觉到数码管在闪烁,看到的现象就是所有数码管在一起发光(同看电影的道理是一样的)。

在动态显示中,数码管的将不仅仅由导通时电流的大小决定,而且还跟每一位点亮的时间和扫描周期这两个因素有关。

动态显示的优点:占用硬件资源小,耗电量小。

缺点是:显示稳定性不够好,亮度低,程序设计相对复杂,MCU负担过重。

为了减轻MCU的负担和编程的复杂性,同时简化外围电路,还可以使用专用的数码管控制器件。

图2.20 4个共阴极数码管动态显示时的连接方式与显示状态1. 使用串行传送数据的静态显示。

(1)硬件设计在静态显示的描述中,每位数码管都需要接一个锁存器,MCU把要显示的数据送给锁存器,锁存器锁存器之后再送给数码管,这里采用了移位寄存器74HC595来驱动8位静态数码管,74HC595末级带有锁存器,同时可以实现数据的串行传输,节省了I/O口。

图式串行传送数据的硬件电路图。

图设计中将八片八位串行输入/并行输出移位寄存器74HC595依次串接,第一片74HC595的DS端接到MCU的数据输出端P2^7,其他的74HC595的DS端分别接前一片的Q7’端,所有的74HC595的sTcp和sHcp分别相接到一起与MCU的P2^6和P2^5相连(sTcp是数据的移位脉冲,sHcp是存储器使能端)。

在经过sTcp时钟线64个脉冲后,要显示的8个字符并没有在8个数码管上显示,而是存储在移位寄存器内部的存储器中,然后再经过一个sHcp的脉冲,数据才会在8个数码管上显示,最先发送的显示字符段码将显示在最右边。

在这个电路中,硬件上使用了8片8位串行输入/并行输出移位寄存器74HC595串接,占用了MCU的3个I/O口,,硬件开销大,软件的实现比较简单,MCU只需把显示的内容一次性输出即可,如果显示内容没有变化时,MCU是不需要对显示部分进行任何操作的。

(2)软件设计#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit ds=P2^7;sbit sh_cp=P2^6;sbit st_cp=P2^5;uchar code table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6}; //共阴数码管段码void seg595(uchar num){ uchar i,seg_num;seg_num=table[num];for(i=0;i<8;i++){ sh_cp=0;ds=seg_num&0x01;sh_cp=1;seg_num=seg_num>>1;}}void main(void){st_cp=0;seg595(1);seg595(2);seg595(3);seg595(4);seg595(5);seg595(6);seg595(7);seg595(8);sh_cp=1;while(1);}2. 数码管动态显示设计(一)采用数码管动态扫描显示方式,可以节省硬件电路,但软件设计相对复杂。

相关文档
最新文档