以AT89C51单片机为控制核心的低成本高精度倒计时系统设计

发布者:科技小巨人最新更新时间:2023-06-21 来源: elecfans关键字:AT89C51  单片机  控制核心  低成本高精度  倒计时系统 手机看文章 扫描二维码
随时随地手机看文章

1 引 言

倒计时系统的任务, 就是对某一设定日期进行倒数, 并在显示屏显示当前至设定日期的时间, 以增强人们的关注度和紧迫感。开发实践表明: 以时钟芯片DS12C887为时钟模块、单片机AT89C51为控制模块的高精度倒计时系统具有精度高、能够长时间连续稳定地工作、使用方便的特点, 可较好满足实际需要。系统的硬件设计和软件设计如下。


2 系统的硬件设计

系统的控制模块由AT89C51单片机构成, 用于完成对串行口控制器的初始化和数据读写, 并对接收的各种数据进行识别、转储及显示。时钟芯片DS12C887提供高精度的年、月、日、时、分、秒时间,校准后直接与单片机相连。倒计时显示模块由LED数码管, 74HC595芯片和74LS245芯片组成。


系统总体框图如图1所示。

以AT89C51单片机为控制核心的低成本高精度倒计时系统设计

图1 系统总体结构图


2. 1 时钟模块及其与单片机的连接

时钟模块用于对时、分、秒、年、月、日和星期的计时, 由美国DALLAS 公司生产的时钟日历芯片DS12C887构成, 该芯片集成度高, 可提供年、月、日、时、分、秒, 设定每一时刻产生中断, 并且其外围电路设计简单, 性能好, 计时准确性高。DS12C887带有128字节RAM, 其中有11字节RAM 用来存储时间信息, 4字节RAM用来存储DS12C887的控制信息,为控制寄存器。用户可以在任何时候对其进行访问以对DS12C887进行控制操作, 有113字节的通用RAM 供用户使用。用户还可对DS12C887进行编程以实现多种方波的输出, 并对内部的三路中断通过软件进行控制。DS12C887为双列直插式封装, 与单片机的连接为: AD0~ AD7双向地址/数据复用线与单片机的P0口相联, 用于向单片机交换数据; AS地址选通输入脚与单片机的ALE 相联用于对地址锁存, 实现地址数据的复用; CS片选线与单片机的P2. 6相联, 用于选通时钟芯片; DS数据选通读输入引脚与单片机的读选通引脚相联, 用于实现对芯片数据的读控制; R /W读/写输入与单片机的写选通引脚相联, 用于实现对时钟芯片的写控制;MOT 直接接地, 选用INTEL 时序; IRQ 引脚与单片机的INT1相连, 用于为时间的采集提供时间基准。


2. 2 显示模块的设计

单片机将读入的DS12C887时间信息经过程序处理, 输出显示信号到P1口, 显示信息包括倒计时信息(当前距离设定时间的天数)和当前时间的星期、时、分、秒信息。显示电路主要由9个LED 数码管, 9 片74HC595 芯片和一片74LS245芯片组成。


设计采用动态显示方式, 即将所有位的段选线并联在一起由一个8位I /O 口控制。74HC595是硅结构的高速CMOS器件, 内置8 位移位寄存器和一个存储器, 具有三态输出功能, 当使能端OE 为低电平时, 将存储寄存器的数据输出到总线。利用74HC595并行输出端具有的输出锁存功能, 采用74HC595芯片的串入并出方式控制数码管的显示,具体的连接方式为: 芯片的Q7引脚和SER 引脚级联, 通过三个I/O口与单片机连接。74HC595的14脚( SER)为串行输入端, 12脚( RCLR) 为移位时钟端, 时钟上升沿将14脚数据移入寄存器; 11脚( SRCLR )为锁存时钟端, 时钟上升沿锁存数据; 8脚( E )为3态输出控制端, 接低电平时输出数据。输出数据和移位时钟均由单片机输出: 单片机P1. 0口输出数据, 在移位脉冲上升沿到来时数据移出进入74HC595; P1. 1 口输出移位脉冲; P1. 2口输出锁存脉冲。出现在并行输出端上的数据经74LS245驱动数码管显示, 由于数据已被锁存, 在传送下一组数据时, 前一组数据的内容不变, 以此方式进行数据的传送和显示, 故在显示模块软件中将P1. 0、P1. 1、P1. 2均定义为模拟串行口。调整键盘的接口有4个键: 1个设定/确认键、1个修改+ 1键、1个修改- 1键、1个移位键。对应秒、分、时、倒计时、星期, 有5 个LED。LED亮, 表示对应的秒或分或星期或倒计时数据可按修改键修改。在设定时间状态, 首先移位为秒位, 对应秒移位LED亮, 按下移位键, 移位LED灯按秒→分→时→倒计时→星期逐次循环; 按下修改+ 1键或修改- 1 键可对相应位的数据进行+ 1或- 1操作。


3 系统的软件设计

系统的主程序包括: 对单片机串行口的设置以及初始化→读取DS12C887时钟芯片→判断是否计算倒计时→显示。初始化12887为24小时制, BCD码, 不允许中断, 分配12887的始地址为B000H, A寄存器的地址为B00AH, B 寄存器的地址为B00BH, C寄存器的地址为B00CH, D寄存器的地址为B00DH, DS12887的内部分配如表1所示。

表1 DS12887的内部分配。

以AT89C51单片机为控制核心的低成本高精度倒计时系统设计

显示子程序首先通过模拟串行口读取DS12C887的数据, 然后利用74HC595 对数据进行显示。具体步骤为: 显示子程序将P1. 0 置位 将P1. 0送入段码 将P1. 1送入移位脉冲 将P1. 2送入锁存脉冲 返回主程序。倒计时子程序首先由单片机读DSl2C887的时间单元, 并将其存放在以69H 为起始的单元中, 操作时先读取月份, 然后利用查表方法计算其下月份到预定时间的天数, 再利用查表方式判断其月份是31天、30天, 28天或29天,将查表得到的天数减去读取日期, 将二个天数相加就可得到实际天数。进行时、分、秒计算时, 可以直接利用预定时、分、秒减去读取的时、分、秒得到相差的时、分、秒, 完成后返回主程序。


4 结束语

综上, 所设计的倒计时系统由DS12C887构成时钟模块, 单片机AT89C51 对系统进行控制, 设定从模拟串行口读取DS12C887 的数据后, 再利用74HC595将数据送入数码管显示。系统经调试和参数整定后运行稳定可靠, 连续长期运行积累误差为零, 为高精度的倒计时系统。实践开发表明, 基于上述技术的倒计时系统具有结构紧凑、简单, 价格低廉, 可靠性高等特点, 便于实际应用。


关键字:AT89C51  单片机  控制核心  低成本高精度  倒计时系统 引用地址:以AT89C51单片机为控制核心的低成本高精度倒计时系统设计

上一篇:基于μC/OS-II操作系统实现在P89V51RD2微控制器上运行
下一篇:单片机内部结构知多少

推荐阅读最新更新时间:2024-11-16 22:31

单片机和EDA协同设计温度采集系统
0 引 言 目前市场中大多数温度采集卡的测量范围、测量方式及测量精度在出厂时就已经固定。测量方式单一、测量范围固定、传感方式也只能适应一定的场合。因此不能很好的适用一些多测量方式及测量范围的场合。再者它们的测量程序和查表数据库已经固定,对于一些有特殊要求的场合不能适用。本系统采用现场可编程门阵列(FPGAEP1K30QC208-3)对数据进行处理,它的程序能够在线修改,因此有极强的可塑性。可以适时的对其程序及查表数据库进行改进和更新,能使系统的性能得到升级。从而可以使系统满足不同的场合需要。 1 温度采集系统硬件设计 由于不同的传感器有不同的输出量,但是最终都需要转换为0~10V的电压值,从而才能满足A/D转换器的转换要求。
[应用]
STC15408AS单片机的EEPROM测试程序
我用的是4位595驱动的数码管作为数据显示; #include STC15w408as.H #include intrins.h #define U8 unsigned char #define U16 unsigned int #include EEPROM.H //这个文件在附件中可以下载 sbit DS=P1^2; //测试键 sbit SDA=P1^1; //595驱动数码管 sbit CLK=P1^0; sbit ST=P3^7; U8 shuzi ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管编码 void
[单片机]
关于单片机AT89S52和CF卡的接口设计
  通过8051单片机对CF卡进行读写。   2.CF卡的操作方式   CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的关系为:   LBA地址=(柱面号×磁头数+磁头号)×扇区数+扇区数一1   在实际使用过程中,用LBA地址进行寻址,可以大大简化编程的工作量,避免柱面、磁头和扇区之间的换算和切换,并且可以突破CHS对大容量的无法寻址的限制。   3.CF卡的文件管理   CF卡的文件管理系统和硬盘的文
[嵌入式]
单片机在智能电饭煲中的应用
1 引言 目前,市场上的电饭煲大部分采用机械式或者是采用固定功率的方式加热,能源利用率低,功能单一,难以满足人们日益增长的生活需求。因此,开发功能齐全,安全可靠的微电脑电饭煲是非常用必要的。电饭煲从机械式原理到现在的智能电饭煲,期间经历了许多的阶段。电饭煲发挥高新技术优势,以美味炊煮为主导,使产品更加丰富与时尚化,现已形成微电脑、电脑与机械三大类型、十大不同款式。机械电饭煲虽然价格方面体现它的优势之外,其他方面就很难满足人们对现代生活高品质的需求。微电脑或电脑控制的智能电饭煲符合现代人的要求,人性化的界面设计,使得人们一眼看出当前工作状态,让您更安心,各种烹调过程全部由电脑自动控制,并且大多的智能电饭煲采用太空“黑晶”
[单片机]
基于C51单片机的按键识别原理图
 每按下一次开关 SP1 ,计数值加 1 ,通过 AT89S51 单片机的 P1 端口的 P1.0 到 P 1.3显示出其的二进制计数值。   ( 1 . 把 “ 单片机系统 ” 区域中的 P3.7/RD 端口连接到 “ 独立式键盘 ” 区域中 的SP1 端口上;   ( 2 . 把 “ 单片机系统 ” 区域中的 P1.0 - P1.4 端口用 8 芯排线连接到 “ 八路发光二极管指示模块 ” 区域中的 “ L1 - L8 ” 端口上;要求, P1.0 连接到 L1 ,P1.1 连接到 L2 , P1.2 连接到 L3 , P1.3 连接到 L4 上。
[模拟电子]
基于C51<font color='red'>单片机</font>的按键识别原理图
8051单片机驱动TM1620任意字符循环显示程序
8051单片机驱动TM1620任意字符循环显示程序 本人亲写,亲测可用 时序图 /************************************************** 名称:STC51驱动TM1620 4位数码管显示 MCU: STC11F06 主频:11.0592晶振 *************************************************/ #include REG52.h #include stdio.h #include intrins.h #define dissetmode 0x02 //显示模式设置 6位8段显示 #define writedatam
[单片机]
8051<font color='red'>单片机</font>驱动TM1620任意字符循环显示程序
单片机控制的简易单相逆变电源
    摘要: 文章介绍了用AT89C1051单片机控制的单相逆变器电源的设计文字,该方案通过消谐PWM控制可使逆变电源的输出谐波明显减少,并经小容量的高通滤波后即可得到高质量的正弦波电压输出。该电源通过单相电机的运行试验证明,效果良好,而且结构简单、成本低廉、性能稳定可靠,具有一定的实用价值。     关键词: 逆变电源 消谐控制 单片机 AT89C1051 1 概述 消除输出电压谐波是逆变电源PWM控制的主要目的之一。在此方面,单相逆变电源的结构较三相电源简单,PWM控制也更为方便,因而在单片机的控制下实现PWM的调节策略十分有效。然而,从控制系统的结构和硬件成本方面应考虑采用什么控制算法才能使逆变电
[应用]
全球MCU 市场和技术发展趋势
ELEXCON深圳国际电子展暨第六届嵌入式系统展设有嵌入式系统专区,同期举办第九届MCU技术创新与嵌入式应用大会,深度展示和探讨MCU市场与技术的发展趋势,欢迎大家持续关注。 微处理器和单片机(MCU)从70年代在欧美开始兴起,1981年8051 单片机问世,到今天已经36年了。从数量上看,8位单片机依然是MCU 市场的主力,基于8051内核的单片机依然有许多公司在设计和生产。90年代初,由于价格的原因,32位MCU只是在一些需要高性能计算的应用中使用。2008年以后,以物联网(IoT)为代表的新技术出现,让开发者开始寻找具备无线通信功能、有一定计算能力,而且价格不是太贵的MCU。随着ARM CortexM核的MCU 逐渐在市
[其他]
全球<font color='red'>MCU</font> 市场和技术发展趋势
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved