随着电子技术的飞速发展,单片机的使用率越来越高。教学之余,为了激发学生对51单片机的学习兴趣,我利用89C51制作了一款电子时钟,经验证这款电子时钟简单实用,以至于班上的每个同学都制作一款。由于51系列单片机机展小巧、程序编写简、功能强大、价格便宜等优点,由51单片机制作的小型智能产品越来越多,也是电子技术相关专业学生毕业设计的首选芯片(见图1)。
1 电路设计流程框图(见图2)
2 基于89C51时钟电路的方案及原理
基于89C51时钟电路主要由主要由微处理器电路、LED数码管显示电路、键盘电路、显示驱动电路、时钟模块、电源电路等组成。89C51的管脚及技术细节可以查阅有关手册。电路模块的基本工作过程是:
(1)显示电路主要由两片74HC595和7个LED共阴红色数码管、LED发光二极管及限流电阻组成。74HC595是数码管和发光二极管的显示驱动电路,是一种8位串行输入、8位串行输出或并行输出的高速CMOS移位寄存器、8位并行输出口具有三态输出功能(即可被程控成高阻状态)。显示电路采用动态扫描方式驱动数码管,即数码管的阴极和阳极都用74HC595驱动,微处理器控制将将要显示的内容(7位数字段码)快速的分时送到LED两端。这种设计的优点是最大限度地降低了系统的硬件支出(与静态显示电路相比)。
(2)时钟模块电路DS12887是美国Dalls公司生产的实时时钟芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池。该芯片具有良好的微处理器接口(有Motorola和Intel两种时序可供选择,在本系统中采用Intel时序)。芯片内含128个字节RAM单元与软件接口,其中14个字节作为时钟和控制寄存器。114个字节为通用RAM(在本系统中未用),所有RAM单元都具有掉电保护功能。采用该芯片作为该系统的实时时钟基准,是为了保证时钟运行的高精度。
(3)键盘是单片机的主要输入设备,是时间设置和控制的人机接口。本系统中设计了16个键,本系统中实际使用9个键,其余7个键留备系统扩展用。16个按键的硬件连接方式是4×4矩阵。单片机对键盘状态的检测是通过动态扫描方式进行的。这样做的目的是大大减少了键盘电路所占用的单片机端口线的数量。16个键的键值读取占用了8根I/O口线(P2口)。如果采用静态键盘方式,则需占用16根口线。另外,这个键盘具有连击功能,即按下某一键达到一定时长后,该键对应的功能将得到反复执行。利用这个连击功能,可以快速地调整时钟和输入闹钟程序。
3 软件编程主程序流程框图(见图3)
4 定时闹钟扫描子程序
该子程序的功能是:将事先编好的闹钟程序代码从EEPROM中逐条读出,并与当前的实时时钟进行一次比较。若某一条闹钟程序的语句(下面有说明)中的时间代码与当前的实时时钟相同,则执行该语句对应的闹钟功能。否则扫描下一条语句,直至闹钟程序末。
闹钟程序:所以闹钟语句的集合闹钟语句:由一个时代码、一个分代码和一个闹钟时长代码组成。一条闹钟语句定义一个闹钟操作。闹钟程序存放在EEPROM芯片(型号AT24C16)中,AT24C16是ATMEL公司生产的电擦电写串行存储器,容量是2K字节。一周的闹钟程序被编成7页,一天一页,每一页占256个字节,AT24C16中剩下的256个字节留备用。
每条闹钟语句分配4个字节:
第一个字节:存放“时”代码(指定 时)
第二个字节:存放“分”代码(指定 分)
第三个字节:存放“时长”代码(控制闹钟时间长短)
第四个字节:未用。
因为一页占256个字节,那么一页中可存放约60条闹钟语句,即在一天中最多可设置60个闹钟点。定时闹钟程序流程框图(见图4)。
5 结论
以89C51为核心制作的数字时钟,经过电路调试和软件调试,可以实时时钟的显示和调整、整点报时、定时闹钟的设定、以一周为周期的闹钟功能。
上一篇:基于51单片机的篮球记分牌设计
下一篇:89C51单片机中断知识要点
推荐阅读最新更新时间:2024-11-10 17:24
推荐帖子
- 关于FPGA开发,对比几所大公司EDA设计工具,还是Xilinx的vivado好用
- 在FPGA/CPLD设计工具上,总体感觉还是Xilinx公司的Vivado2018.3好用,为什么呢?因为此工具安装包就约20个G,在synthesis和implementation方面很人性化,并且已然比ISE设计工具好用,Altera公司的QuartusII自己更熟练,学校学习时就是此公司芯片为主的开发板,Lattice公司的Diamond设计工具最不人性化,但是此公司的芯片确是最便宜的,一般公司在CPLD上都会用此公司的芯片,儿在FPGA上一般选用Al
- 深圳De茶叶蛋儿 FPGA/CPLD
- TI 雷达技术正在改变驾驶舱内感应市场的三大趋势
- 雷达传感器不仅改变了车辆感知周围环境的方式,而且还改变了它们感知物体和乘员的方式。想象一下:有一辆能够检测到后座遗忘儿童或患病驾驶员,并设计了一个系统来采取行动缓解这种情况的汽车。雷达具有穿透固体材料进行检测的能力,使其能够比以往任何时候都更精确地检测无人看管的儿童、监视乘员状态并预估驾驶员的生命体征。随着越来越多的汽车制造商将注意力转向雷达传感器上,我将探讨汽车驾驶舱内感知市场的三个趋势。趋势一:儿童在场检测之外的功能为符合欧洲新车评估计划等监管机构的要求
- Jacktang 模拟与混合信号
- FPGA项目源代码公布
- 本帖最后由青城山下于2014-11-2222:22编辑 FPGA项目源代码公布,也是一位高人的分享,综合给大家看看FPGA项目源代码公布代码怎么是word档的,有源工程文件不chenzhufly发表于2014-11-2222:19代码怎么是word档的,有源工程文件不 不好意思,没有啊下来看了看,都是VHDL的源码啊
- 青城山下 FPGA/CPLD
- IAR for STM8S 环境下,ST-LINK的仿真问题
- 今天上午调试stm8s电路板时遇到一个很奇怪的现象:之前也遇到过类似问题,不过一般重启下电脑或者重启下IAR一般都可以解决,但是这次死活搞不定,最后发现在win7环境下用管理员身份打开IAR,转载入工程后下载OK了。问题原因:驱动描述文件不符,STlink的驱动描述,命令文件不符。解决办法:遇到这种情况,请下载最新的sttoolset,(不是也可以),升级你的stlink固件到当前sttoolset版本,后拷贝stusbDriver.dll(在stupgrader所在的位
- wateras1 stm32/stm8
- 电路设计时应注意的细节
- 电路设计时应注意的细节发现这些细节,拯救电路很多人都一样,我们很多工程师在完成一个项目后,发现整个项目大部分的时间都花在调试检测电路整改电路这个阶段,也正是这个阶段,很多项目没有办法进行下去,停滞在那边。想要快速完成项目,摆脱实验调试时的烦闷,苦恼不知道问题出在哪里,就快点了解下面这些电路设计中的细节!(1)为了获得具有良好稳定性的反馈电路,通常要求在反馈环外面使用一个小电阻或扼流圈给容性负载提供一个缓冲。(2)积分反馈电路通常需要一个小电阻(约560欧)与每个大于10pF的
- 罗小群 PCB设计
- 《802.11 无线网络权威指南 (第2 版)》508页,PDF
- 本帖最后由dontium于2015-1-3014:33编辑 最近一直在考虑网络编程的问题。所以找了很多东西,觉得这本书很好,中译本,特向大家分享下载内容回复可见,别怪我,你回复一次还可以挣点工分。如果你确实不愿意回复但又想下载,到EE的资源下载中心去,随后给你个链接书中只做了少部分书签Timson,如果您要查看本帖隐藏内容请回复《802.11无线网络权威指南(第2版)》508页,PDF感谢楼主分享下来看看正要学习,下载看看,谢
- dontium RF/无线
设计资源 培训 开发板 精华推荐
- LT1086CT-3.6 调节固定稳压器输出电压的典型应用
- 使用 Analog Devices 的 LTC2992IMS 的参考设计
- LT1511 低压差、恒流/恒压 3A 电池充电器
- STEVAL-ISA135V1、4W、12V 输出、隔离式反激转换器评估板,基于 VIPer Plus - VIPER06HS
- L6565远程开/关控制的典型应用
- AD9258-125EBZ,用于 AD9258BCPZ-125、2 通道、14 位、125 MSPS 模数转换器的评估板
- 用于汽车传感器的 ±2.5V 仪表放大器
- 用于工业控制的 10W、12V 交流转直流单路输出电源
- 使用 Infineon Technologies AG 的 OMR9806SF 的参考设计
- TCR5SB30、200mA、3V 输出电压 CMOS 低压降稳压器的典型应用