基于P87LPC762单片机的电子计时牌设计

发布者:HarmoniousSoul最新更新时间:2010-08-04 来源: 电子元器件应用关键字:单片机  P87LPC762  LM70  DS1302 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  随着电子信息技术的飞速发展,电子计时牌已成为电子设备发展的一个标志性功能。顾名思义,计时牌主要用来完成计时功能,即显示实时时钟的时间,这是计时牌的首要任务。但是,现代的电子计时牌也可以集成多种功能于一身,它不仅可以实时显示当前的具体时间,而且还可以显示年、月、日、星期。此外,还有许多特殊的计时牌,它们可以把安全生产天数、倒计时天数、工作环境温度、万年历等等都设计到其中,从而大大扩展了计时牌的应用范围。

  1 系统设计原理

  本设计采用飞利浦公司的P87LPC762做为微处理器,温度传感器芯片选用LM70,时钟芯片采用DS1302芯片,它们与单片机全部采用串行通信方式。该电子计时牌系统的硬件原理图如图1所示。图中,数据的串行输出显示分成三部分,分别为:安全天数与温度、年月日与星期、时钟数据。系统首先通过单片机读人温度传感器芯片LM70测得的二进制温度数据,然后进行处理计算以得出相应的BCD温度数据,最后与安全天数数据一同通过单片机扩展的串口送到数码管显示。同时通过单片机与时钟芯片DS1302的通信读入日历时钟数据,再把得到的年月日、星期数据通过单片机扩展的另一个串口输出送到数码管显示,同时把时钟数据通过单片机本身自带的串口输出送至显示。数据的设置与修改可通过与单片机相连的三个按键来完成。显示部分采用74HC164N串行输入并行输出移位寄存器来驱动数码管。秒信号和天气信号则采用发光二极管来显示。综上所述,本设计采用的串行通信方式可有效地节省硬件电路设计的空间,从而使设计更为简捷,具有一定的实用性。

该电子计时牌系统的硬件原理图

  2 温度检测

  要完成环境温度的检测与显示,首先要用到温度传感器。本设计选用的是LM70温度传感器芯片,由于LM70采用的是

串行通信方式,因此只需三根线与单片机相连即可完成数据的读写。

  温度传感芯片的作用就是测取外界的温度值。它首先是把通过热敏电阻从外界感应的模拟温度送入内部的A/D转换器,转换成相应的数字温度值(即二进制温度数据)存放到温度寄存器中,温度传感器LM70所测的温度可通过对其温度寄存器数据的读取来最终将其转化成相应的模拟数据,也就是把二进制数据转换成BCD码数据存放到单片机中。

  这里需要注意的是,如果外界环境温度在零度以下(即负温度),那么,同相应温度值的正温度相比,转换后的温度寄存器数据D5~D15位则是正温度的补码。所以,在读出温度寄存器数据后,一定要判断数据的符号位,如果是负温度数据,则要先求补码才能最终将其转换成相应的正确温度值。

  3 日历时钟数据的读取

  3.1 写程序分析

  首先来分析对DS1302的写程序。本设计设置计时的初始时间是2005年1月1日星期六1时0分0秒,即时钟芯片上电后即从这个时间开始走时。那么,要完成初始化时钟,就应当把初始时间写入DS1302芯片中去。图2所示是其写时钟数据流程图。

  从图2所示的流程图可以看出,要想把时钟数据写入时钟芯片,首先要写入相应数据的地址,在写入一字节地址后,即可写入一字节相应的数据,依此类推。其具体步骤是首先写入时钟多字节控制寄存器,它的命令字格式如下:

写时钟数据流程图

  当写入时钟芯片08EH时,同样还要写入允许写操作的命令字00H。写完这两个命令字后,就可以开始写入每个字节时钟数据的地址和相应的时钟数据了。这里需要注意的是:写秒数据地址为80H,分地址为82H,小时地址为84H,依次类推。也就是说,每写完一个字节数据的地址后,其地址应相应加2,以准备下一个字节地址的写入。整个程序可实现七个字节数据的写入,即写一次地址,写一次数据,直到循环计数值为0,便完成了时钟数据的写入。

  写入一字节数据时,首先要置循环计数值(这里设为8),一共要串行输入8位数据,每次移入数据前,应先使数据再移一位到C,然后执行以下几条指令:

程序

  这几条指令的目的是为了给串行时钟端口输入一个时钟下降沿。只有在下降沿后,一位数据才能写人时钟芯片。这样,循环8次后,一字节的数据就写入到了时钟芯片。整个初始时钟数据写入后,就可以让DS1302自动运行并走时了。

  3.2 读程序分析

  读一字节子程序同写一字节子程序是一个道理,首先可设置循环计数值为8,以便为读取一个8位字节数据做准备,然后在串行时钟下降沿从P0.2端口读取一位时钟数据到C,以进行带进位的累加器循环右移,这样,循环8次后,即完成了一个字节时钟数据的读取。其结果存放到累加器ACC中。具体读取一字节数据的程序如下:

程序

  3.3 安全生产天数的计算

  本系统中的一项功能就是显示当前的安全生产天数。要得出安全生产天数值,首先应在单片机的内存单元中设定好安全生产天数的起点日期,同时设定一个基准时间,这样就可以计算出设置的安全生产天数起点日期到这个基准时间的天数,也就是起点的累计天数。然后,当每次读取时钟芯片日历时钟数据时,系统就会计算出当前读到的日期到基准时间的天数,也就是当前日期的累计天数,两个累计天数之差即是要显示的安全生产天数。

  4 实时监控系统的设计

  本系统的主程序用于完成数据的初始化以及T0定时器的设置等,其它任务均放到定时中断程序中来执行。图3所示为其中断服务程序流程图。中断服务程序首先要判断是否有按键按下,即是否进人数据设置状态?如果不是在设置状态,就要从时钟芯片读取要显示的数据,以及把每一项显示缓冲区的数据送数码管显示。如果是在设置状态下,则设置每0.25 s刷新显示一次数据。

中断服务程序流程图

  若在设置状态下,则意味着有按键按下,那么就要读取相应的按键。本设计中如果按键在设置状态下,不进行相应的数据调整操作,则保存设置的数据,并退出设置状态。读键时,首先读出其键码并保存。然后判断键码稳定否,如果不稳定,说明按键已经响应,则不进行数据调整。如果键码稳定,则再判断是否是调整键,如果是调整键,则调整修改指针,即每按一次调整键,修改指针加一,并进行下一项数据的修改。修改指针一般从安全天数的千、百、十、个到年、

月、日、星期再到小时、分。如果一开始按下的按键不是调整键,则不会进入设置状态。在调整键已经响应的情况下,如果再读到有键按下的信号,那么,当其不是调整键时,进入数据修改状态,以进行相应数据的调整。注意:在设置状态下,每次操作均清除时钟,以便计时退出。调整好相应数据后,即可保存数据并进行数据的显示。

  5 数据的显示

  本设计中采用16片8位串行输入/并行输出74HC164N和数码管来进行串行移位显示。所用数码管是共阳极的8段数码管。由于分成三组输出来显示数据,因此,设计时把安全生产天数和温度显示部分的74HC164N时钟线连在一起接到单片机的P0.5,而把年月日星期显示部分的74HC164N时钟线连在一起接到单片机的P0.7,另外,把时钟显示部分的74HC164N时钟线连在一起接到单片机的P1.0。

  6 结束语

  本设计在完成过程中进行了多次的试验,尤其是在对温度的读取方面,得到了很多老师的指导,在此一并感谢。

关键字:单片机  P87LPC762  LM70  DS1302 引用地址:基于P87LPC762单片机的电子计时牌设计

上一篇:PIC单片机在汽车电动车窗控制器中的应用
下一篇:飞思卡尔 i.MX 系列处理器助力打造全新智能汽车

推荐阅读最新更新时间:2024-03-16 12:29

单片机的程序计数器及存储系统
  为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定一条指令的地址。程序计数器PC正是起到了这种作用,所以通常又称其为指令地址计数器。在程序开始执行前,必须将其起始地址。即程序的第一条指令所在的内存单元地址送入PC。当执行指令时,CPU将自动修改PC的内容,使之总是保存将要执行的下一个条指令的地址。由于大多数都是按顺序执行的,所以修改的过程只是简单的加1操作。   下面我们看看8051的存储器系统:(此章非常重要,请仔细理解)8051序列单片机与一般微机的存储器配置方式不相同。一般微机通常只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址同在一个队列里分配不同的地址空间。
[单片机]
AT89C52单片机的SD卡读写设计原理
  本文主要介绍了SD卡在电能监测及无功补偿数据采集系统中的应用方案。   设计方案   应用AT89C52读写SD卡有两点需要注意。首先,需要寻找一个实现AT89C52单片机与SD卡通讯的解决方案;其次,SD卡所能接受的逻辑电平与AT89C52提供的逻辑电平不匹配,需要解决电平匹配问题。   通讯模式   SD卡有两个可选的通讯协议:SD模式和SPI模式。SD模式是SD卡标准的读写方式,但是在选用SD模式时,往往需要选择带有SD卡控制器接口的MCU,或者必须加入额外的SD卡控制单元以支持SD卡的读写。然而,AT89C52单片机没有集成SD卡控制器接口,若选用SD模式通讯就无形中增加了产品的硬件成本。在SD卡数据读写时间要求不
[单片机]
AT89C52<font color='red'>单片机</font>的SD卡读写设计原理
飞思卡尔微控制器打造更安全更清洁的未来汽车
汽车电子是整个汽车工业中最年轻的一环,却是行业中最激动人心和充满挑战性的部分,更是带给整个汽车工业未来全新发展趋势的动力源泉。特别是对汽车行业的创新的重要性而言,电子技术是真正的挑战性环节。 虽然从整车的生产数量上,汽车工业在经济危机之后面临极大的挑战,但汽车电子行业却依然生机勃勃,一方面,整车用半导体产品的价值将从30美元逐步增加到150美元左右,另一方面,电动汽车和混合动力汽车的车用电子产品可能占整车的40%成本以上。 汽车电子一直是飞思卡尔的优势项目,几乎飞思卡尔大部分业务范围都涉及汽车电子市场,今年,飞思卡尔继续传递其通过迎合全球汽车市场更灵活、更安全、更清洁和更互联的趋势,力争在新兴市场(BRIC将占据未来全球30%
[汽车电子]
将LCD显示器读数读入单片机的接口电路
    本文以一个全自动血压计为例,介绍将LCD显示器读数读入单片机的接口电路。该血压计显示器为6 1/2位段式LCD显示器,3位显示收缩压,3位显示舒张压。1/2位在两组数码中间,显示4个指示符号。   1 LCD的电极连接结构和工作波形   1.1 LCD的电极连接结构   图1为血压计LCD的电极连接结构及等效电路。其中,图1(a)为公共电极连接排列,图1(b)为段电极连接排列。它共有4个公共电极COM0~COM3,每位数码各有2个段电极Sx-0、Sx-1,其等效电路为一个4行×2列的矩阵,如图1(c)所示。 图1 LCD电极连接结构及等效电路   1.2 LCD的工作波形   用双踪示波器观察
[嵌入式]
芯海科技高性能、高可靠信号链MCU,带来工业计算机国产化
芯海科技高性能、高可靠信号链MCU,带来工业计算机国产化新选择 12月16-18日,CNCC 2021中国计算机大会在深圳国际会展中心举办。此次大会以“计算赋能加速数字化转型”为主题,带来多达111个技术论坛,为参会者带来学术、技术、产业、教育、科普等方面的全方位体验。芯海科技(股票代码:688595)产品总监王伟受邀出席并做《高性能高可靠--带来工业计算机国产化新选择》主题演讲,分享国产替代趋势及芯海科技PD、EC、ForceTouch产品在计算机的应用,除现场听众外,场外累计约2.73万人次观众观看线上直播。 芯海科技产品总监王伟受邀出席演讲 线上直播情况 缺芯 → 国产替代 2021年, “缺芯
[单片机]
芯海科技高性能、高可靠信号链<font color='red'>MCU</font>,带来工业计算机国产化
51单片机实验3:led流水灯
开发板led模块电路图如下: 循环左/右移函数头文件为 intrins.h #include reg52.h #include intrins.h #define uc unsigned char void delay(uc n) { uc i,j; for(i=1;i =n;i++) for(j=110;j =1;j--); } void main() { P2=0xFE; while(1) { delay(200); p2=_crol_(P2,1); delay(200); } }
[单片机]
51<font color='red'>单片机</font>实验3:led流水灯
谈谈单片机编程思想——状态机
玩单片机还可以,各个外设也都会驱动,但是如果让你完整的写一套代码时,却无逻辑与框架可言。这说明编程还处于比较低的水平,你需要学会一种好的编程框架或者一种编程思想!比如模块化编程、状态机编程、分层思想等 本文来说一下状态机编程。 什么是状态机? 状态机(state machine)有5个要素: 状态(state) 迁移(transition) 事件(event) 动作(action) 条件(guard) 状态:一个系统在某一时刻所存在的稳定的工作情况,系统在整个工作周期中可能有多个状态。例如一部电动机共有正转、反转、停转这 3 种状态。 一个状态机需要在状态集合中选取一个状态作为初始状态。 迁移:系统从一
[单片机]
51单片机中变量的定义及应用方法
变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义一个变量的格式如下: 在定义格式中除了数据类型和变量名表是必要的,其它都是可选项。存储种类有四种:自动(auto),外部(extern),静态(statIC)和寄存器(register),缺省类型为自动(auto)。 而这里的数据类型则是和我们在第四课中学习到的名种数据类型的定义是一样的。说明了一个变量的数据类型后,还可选择说明该变量的存储器类型。存储器类型的说明就是指定该变量在C51硬件系统中所使用的存储区域,并在编译时准确的定位。注意的是在AT89C51芯
[单片机]
51<font color='red'>单片机</font>中变量的定义及应用方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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