历史上的今天
返回首页

历史上的今天

今天是:2025年01月27日(星期一)

正在发生

2018年01月27日 | 基于ARM和DS1307的实时时钟系统设计

2018-01-27 来源:互联网

介绍了一个简单的可调实时时钟系统的设计。设计中采用了Atmel32位的ARM微处理器作为控制驱动器件,实现了对DS1307实时时钟芯片的时间信息采样和液晶显示,并通过键盘来调节时间信息。通过实际的测试,该模块得到稳定的运行。

实时日历时钟在测控系统和智能显示中得到了广泛的应用。通过软件编程和CPU中断构造软时钟是一种较为常用的方法,时钟计时无需外围硬件支持,但是此种方法的弊端是计时精度会受到CPU主晶振、起振电容以及掉电的影响,而导致计时精度不高。因此采用硬件设计实时时钟是一种更为可靠的方式。

DS1307是I2C接口的8引脚实时时钟芯片,片内含有8个特殊功能寄存器和56bit的SRAM。它是一款按BCD码存取、低功耗的时钟/日历芯片,已被应用到人造板尺寸检测以及电控单元中。


1、硬件设计


设计的可调实时时钟系统原理框图如图1所示。采用了Atmel32位ARMRISC处理器中的一员,即AT91SAM7S256微处理器来驱动DS1307时钟芯片和液晶模块,并接收键盘中断来实现时间可调的功能。


1.1 芯片与单片机的接口与连线


若要驱动DS1307芯片,一种方式是使用I2C总线虚拟技术,另一种是采用带I2C接口的单片机。AT91SAM7S256微处理器外围电路中具有两线接口(TWI),它与I2C接口相互兼容,很适合典型的处理器应用,因此系统中采用了此接口实现芯片与CPU的通信。

DS1307使用到了32768Hz的晶振,BAT1为电池电源。I2C总线内部是双向传输电路,端口输出为开漏结构,因此接入了上拉电阻。SQW/OUT端是方波输出端,通常情况下该引脚接到能产生电平变化中断请求的输入口。


1.2 液晶显示电路


与传统的数码管相比,液晶显示具有功耗低、体积小、显示内容丰富、人机交互性好等优点。设计中使用到了的LM256160点阵液晶显示模块。利用该模块灵活的接口方式和简单方便的操作指令,可为用户提供良好的日期、时间显示和调节界面。


1.3 按键调节电路


为实现时间的可调,系统中设计了键盘输入电路。键盘包括调节模式进入键、“0~9”的数字输入键、清除键以及确认键。用户按下调节模式进入键便可以开始进行时间的设置和调节,如输入“20150920151000”代表设置时间为2015年9月20日15时10分0秒,再按下确认键便将数据信息写入到DS1307芯片中进行计数。


2、软件设计


系统的软件设计主要包括了主程序、DS1307驱动模块,液晶驱动模块、键盘中断处理模块四大部分,程序流程如图3所示。主程序中首先完成外设时钟的使能、I/O口的使能、TWI口的使能以及液晶的初始化。初始化工作完成后,处理器通过TWI接口读取DS1307中的时钟信息,数据通过液晶进行显示。当接收到外部按键中断请求时,处理器进行相应的键值中断响应,将设置好的数据写入到DS1307芯片中并返回。


DS1307在TWI总线上是从器件,地址(SLA)固定为“11010000”,时钟信息(年、月、日、星期、时、分、秒)分别放在地址为06H~00H的时间相关寄存器中。芯片的读写主要使用到了TWI口低层驱动函数中的intAT91F_TWI_ReadByte(constAT91PS_TWIpTwi,intmode,inTInt_address,char觹data2read,intnb)和intAT91F_TWI_WriteByte(constAT91PS_TWIpTwi,intmode,inTInt_address,char觹data2send,intnb)。读写函数使用到了四个入口参数,constAT91PS_TWIpTwi是设置TWI口的基地址,intmode为主机模式,inTInt_address为器件寄存器的地址,char觹data2read是待写入数据或待读取存放的地址,intnb为写入或读取的字节数。需要注意一点是,数据是以BCD码存取的,因此在读取或写入之前需要十进制到BCD码的相互转换处理。


3、运行结果


系统的运行效果以液晶屏显示效果为准,如图4与图5所示。图4为设置时钟信息界面,设置完毕按回车键时钟开始计时,并跳转到运行显示界面。图5为设置好初始时间为2015年9月20日15时10分0秒后,时钟运行了15分38秒的显示效果。


4、结束语


设计的可调实时时钟系统避免了系统掉电与晶振电路的影响,芯片的驱动通过采用ARM系列微处理器中TWI接口并调用相关的低层驱动程序,减少了采用总线虚拟技术的程序量。经过实际的调试,系统得到了预期的结果。该实时时钟可用于系统主界面的日期与时间显示,并为以时间为单位的事务处理提供时间基准。

推荐阅读

史海拾趣

歌尔(Goertek)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是连接电视机与外部信号源的关键设备,其专业性与科普性兼具。从广义上讲,机顶盒泛指一切与电视机连接的网络终端设备,能够接收并转换多种信号源,包括有线电缆、卫星天线、宽带网络及地面广播等,为观众提供丰富多样的视听体验。

在数字电视时代,机顶盒的核心功能在于实现数模转换,即将接收到的数字信号转换为电视机可识别的模拟信号,从而使用户能在模拟电视机上观看高清甚至超高清的数字电视节目。此外,机顶盒还具备强大的增值服务功能,如提供电子节目指南、因特网网页浏览、在线购物、视频点播等,使电视机从单向接收信息的设备转变为互动的智能终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。高清、超高清技术的广泛应用,使得机顶盒能够呈现更为细腻的画面和震撼的音效。同时,智能化技术的融入,如语音助手、智能推荐等功能的实现,进一步提升了用户的使用体验。未来,随着5G、虚拟现实和增强现实等技术的不断发展,机顶盒的应用场景将更加广泛,为用户带来更为沉浸式和互动式的观影体验。

综上所述,机顶盒作为连接电视与外部世界的桥梁,不仅丰富了人们的视听生活,更推动了电视产业的数字化转型与发展。

Global Specialties公司的发展小趣事

Global Specialties的创立源于对高质量测试与测量产品的追求。在公司成立初期,创始人便明确了公司的核心定位:为工程师、学生和业余爱好者提供可靠的测试与测量工具。他们首先推出了一系列电源、十进位箱和电子培训仪,这些产品迅速在行业内获得认可。凭借对产品质量的不懈追求,Global Specialties逐渐在竞争激烈的市场中站稳了脚跟。

峰岹(Fortior Tech )公司的发展小趣事

在电子技术的不断推动下,Global Specialties始终保持对新技术的高度敏感。公司不断投入研发资源,对现有产品进行升级换代,并推出了一系列具有创新性的新产品。例如,公司开发的智能测试仪器能够自动完成复杂的测试任务,大大提高了测试效率和准确性。这些技术创新不仅巩固了Global Specialties在业内的领先地位,还为公司带来了更多的商业机会。

Filtran Ltd公司的发展小趣事

随着业务规模的扩大,Filtran Ltd意识到供应链管理的重要性。公司开始在全球范围内寻找优质原材料供应商,并在亚洲和欧洲建立了生产基地,以降低成本并缩短交货周期。同时,通过引入先进的ERP系统和数字化管理工具,实现了供应链的高效协同。这一战略调整不仅提高了生产效率,还增强了公司对市场变化的快速响应能力。

Alps Alpine Co Ltd公司的发展小趣事

随着业务规模的扩大,Filtran Ltd意识到供应链管理的重要性。公司开始在全球范围内寻找优质原材料供应商,并在亚洲和欧洲建立了生产基地,以降低成本并缩短交货周期。同时,通过引入先进的ERP系统和数字化管理工具,实现了供应链的高效协同。这一战略调整不仅提高了生产效率,还增强了公司对市场变化的快速响应能力。

长江连接器(CJT)公司的发展小趣事

随着技术的不断积累和市场的不断扩大,长江连接器开始积极拓展国内外市场。公司通过与国内外知名企业的合作,将产品广泛应用于消费类电子、电气电子、薄膜开关、LED显示器屏/灯饰、家用电器、电脑及电脑周边、通讯设备等领域。同时,长江连接器注重品牌形象的塑造和推广,通过参加各类行业展会、举办技术交流会等方式提升品牌知名度和美誉度。

问答坊 | AI 解惑

BU 72435 ROHM热卖

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 我们大量ROHM BU72435库存价格好,有需求请和我联系。 陈庭松 13138889236 …

查看全部问答>

有关无线技术的一些标准(一)

请想象一下,当您乔迁新居,要将电器的电源插头插进墙上插座里去,结果却发现根本不能匹配时是什么感受。应该感谢几十年之前设立的电气标准,发生这种事情的可能性已经很少了。其他还有一些标准也在为我们服务,比如我们可以跟与不同网络服务商打交 ...…

查看全部问答>

Windows CE中的命令提示行的和PC机上的XP中的有啥区别?

网上说:     Windows CE和Windows XP Embedded存在诸多本质区别。首先,Windows CE是一款全32位、Unicode操作系统,它不支持MS-DOS或Windows 3.x应用。         这里说的MS-DOS不就是台式机上的命令提示行中DOS ...…

查看全部问答>

wince ADC驱动请教。

我想实现在wince液晶上 显示采样信号波形。波形频率很低。 肯定要包括ADC驱动,和应用程序 第一个问题:我想要ADC每隔500ms采样一次,用中断来实现。这个500ms中断在驱动中如何实现? 第二个问题:应用程序获取AD结果可以使用流驱动接口,但是读 ...…

查看全部问答>

串口通讯中的DCB结构

串口通讯中的DCB结构 我看很多程序,它里面使用了BCD结构,但是BCD结果不是在winbase.h中定义的吗, 程序里面并没有#include \"winbase.h\",但是编译确实成功的,为什么? 我是学了VC现在学EVC,觉得有点困扰,EVC很多库函数都不一样了,怎么找 ...…

查看全部问答>

WINCE中文显示的问题

以下我做了不同平台的测试 第一个平台是Default language为中文(中国) 第二个平台是Default language为英语(英文) 第三个平台是Default language为英语(英文),并加入MUI多国语言的支持. 应用程序代码如下: char   cTest[]  & ...…

查看全部问答>

bootloader中的一些问题

小弟关于bootloader中有几个问题不清楚,麻烦兄弟们帮忙解释下, 1,其中涉及到内存映射,它的作用是什么? 2,cpu又是如何区分flash和ram的地址呢,难到有控制flash和ram地址的寄存器吗? 3,如果flash的os要加载到ram中执行,又是如何实现拷贝的呢,如 ...…

查看全部问答>

关于嵌入式系统开发的经验

各位同道中人,欢迎各位谈谈自己入门的经验以及推荐一些好的资料,作为LZ,先为大家献上一点啦! 现面有几个不错的网站 ,仅供参考 http://162.105.146.27/cgi-bin/ftp_search?BeginWith=208&FType=255&word=Linux http://linux.ubuntu.org. ...…

查看全部问答>

急求Lcd 中“-”的编码?

急求Lcd 中“-”的编码? 顺便问下Lcd中是怎样进行汉字编码的!…

查看全部问答>

大四学生请教:毕设被安排做lm3s9b92的以太网通讯功能

在下大四学生,之前在学校只接触过很浅的嵌入式知识,现在毕业设计被安排在一公司参加一个项目,要实现一块板子的以太网通讯功能,板子应该是arm cortex m3核心,lm3s9b92的型号,我要实现的功能是将温度、液位等数据通过以太网接口传给计算机,我 ...…

查看全部问答>