APP下载

基于STC12C5A的行车使用时间控制系统*

2012-07-10朱一多

武汉交通职业学院学报 2012年3期
关键词:低功耗字节行车

朱一多

(武汉交通职业学院,湖北 武汉 430065)

行车是一种广泛应用的起重装置,随着我国经济的腾飞和建筑行业的发展,无论是地铁施工,还是高楼大厦的建设,行车都是不可或缺的设备。由于行车的购买成本、停放费用、维护和管理费用都是一笔不小的开支,大多数施工单位都是采用租赁的方式使用行车,因此对租赁方就产生了租期管理的问题。由于长期以来对行车的租赁都是粗放的人工管理方式,有时会因为租金问题引发诸多矛盾,甚至引起经济纠纷,因此迫切的需要一种全自动的系统可以有效的对行车使用时间进行管理,解决租金拖欠、赖账等问题。目前市场上的定时装置均无法满足行车管理的要求,行车使用时间控制系统应运而生。

1 系统总体结构

本系统在综合了市场上通用定时装置的所有优点的同时,也有自己的特点:

(1)创造性的提出了基于STC12C5A单片机的高智能全开放性的行车使用时间控制系统,即考虑到了定时时间的准确性和可靠性,也考虑了用户对时间设定的灵活性要求,用程序对时间进行设定和控制。

(2)克服了普通单片机系统对电源的依赖。普通的51单片机在断电时存储的数据会全部丢失,本系统可以在断电时将时间等信息保存在EEPROM中,在电源恢复后再将保存的数据取出来。

(3)切实实现了低功耗、低成本,保证了系统的实用性和可推广性。系统的功耗约600毫瓦,若以两节普通5号电池供电至少可用半年;系统除开发费用外的硬件制作成本不及普通行车一天的租金。

系统由单片机、定时器DS1302、模拟开关MAX4624等三部分组成。具有与计算机进行串口通信的功能,方便用户用计算机将行车使用时间传输到单片机。单片机接收后将时间存储于EEPROM并结合定时器计时,在时间到期时切断行车电源。该系统的物理结构如图1所示。

图1 行车使用时间控制系统总体结构图

考虑到实际施工过程中的某些需要,时间结束时有些工作还没做完,设定了一个紧急开关,按下开关后,定时器可以再延长半小时再切断电源,仅此一次。

2 系统硬件设计

2.1 STC12C5A单片机[1][2]

STC12C5A系列单片机主要性能:

高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快8~12倍。

宽电压:5.5~3.3V,2.2~3.6V(STC12LE5A60S2系列)。

增加外部掉电检测电路。可在掉电时,及时将数据保存进EEPROM,正常工作时无需操作EEPROM。

低功耗设计:空闲模式(可由任意一个中断唤醒)。

低功耗设计:掉电模式(可由外部中断唤醒),可支持下降沿/上升沿和远程唤醒。

工作频率:0~35MHz,相当于普通8051的10倍。

芯片内EEPROM功能,擦写次数10万次以上。

除了优越的性价比之外,STC12C5A单片机与一般单片机相比增加了EEPROM功能,可以在掉电后很好的保存数据。这就类似于公交卡充值,在充值前可以很方便的查询到剩余值,本系统设定时间前也能查询到前次使用剩余的时间。为了降低系统的功耗,实际应用是采用了供电电压为2.2~3.6V的低压单片机,这样整个系统用两节干电池供电即可。

2.2 EEPROM

表1 STC12C5A系列单片机的内部EEPROM地址表

STC12C5A单片机利用ISP/IAP技术将内部Data Flash当EEPROM,擦写次数10万次以上,可以根据表1的地址对EEPROM进行字节读/字节编程/扇区擦除等操作,注意读操作的地址与编程操作的地址要一致。

2.3 定时器

图2 DS1302与单片机连接电路图

单片机有内部定时器,但是断电后无法工作,考虑到系统的可靠性,采用了外部定时器DS1302(见图2)。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

2.4 模拟开关

用来切断电源的器件很多,晶体管和场效应管都是常用的器件,但这些器件都要配合电阻使用,本系统考虑到尽可能的降低功耗,采用模拟开关MAX4624对行车电源进行控制(见图3),其内阻仅为0.5欧姆,使用简单,用单片机一个引脚连接即可。当引脚为高电平时,电路导通;反之则断开。

图3 MAX4624结构图

模拟开关4脚与单片机的P1.5脚连接,当4脚为高电平时,电路才导通。1脚引出P1接行车的电源控制线,连接图如图4。

图4 MAX4624连接图

3 系统软件设计

3.1 EEPROM编程[3][4]

单片机对EEPROM的操作主要有读取、擦除、写入三种。时间读取可以用下列程序完成:

temph=Byte_Read(0x0000);//从地址0000处读取时间的高位字节

templ=Byte_Read(0x0001);//从地址0001处读取时间的低位字节

time=temph*256+templ;//计算读到的时间

需要注意的是,时间的存储只用了两个字节,因此能保存的最大的数据为216-1=65535,即能够设定的最长时间不超过65535分钟(45天左右),满足实际租赁过程中租金按月结算的要求,若需要更长的时间,就增加更多的存储字节。

3.2 DS1302编程[5]

DS1302的操作必须严格按照其时序图进行,芯片的中文说明书提供了Read_DS1302()和Write_DS1302()两个函数分别用来对芯片进行读和写,极大的方便了用户编程。秒、分钟、小时读取的地址分别为0x81、0x83、0x85。编程试分别从这三个地址读取时间即可。

4 结论

本系统在实验室经过严格的测试,已经应用于武汉市内部分施工现场,尤其以低功耗、低价位深得用户青睐。系统还可以继续改进,可以增加液晶显示器显示剩余时间,以便用户及时去设定新的时间;可以增加键盘,以便在没有计算机的情况下,通过键盘来设定使用时间。本系统不仅可以用于行车,还可以用于其它不同的机械租赁,只需更改电路接口即可,相信在不久的将来,本系统可以走出省外,推广全国,必将有更广阔的应用前景。

[1]何立民.单片机高级教程应用与设计[M].北京:北京航空航天大学出版社,2000:10-15.

[2]徐爱钧.单片机高级语言C51Windows环境编程与应用[M].北京:电子工业出版社,2001:20-70.

[3][美]赫伯物·希尔特,著.C语言大全(第四版)[M].王子恢,戴健鹏,等,译.北京:电子工业出版社,2001:41-42.

[4]谭浩强,等.C语言程序设计教程(第2版)[M].北京:高等教育出版社,1998:35-80.

[5]DS1302DataSheet[EB/OL].[2012-06-28].www.dalsemi.com.

猜你喜欢

低功耗字节行车
No.8 字节跳动将推出独立出口电商APP
一种高速低功耗比较器设计
No.10 “字节跳动手机”要来了?
一种宽带低功耗四合一接收机设计
一种用于6LoWPAN的低功耗路由协议
低功耗技术在驾驶行为管理模块中的应用
简谈MC7字节码
夜间行车技巧
吉普自由光行车制动易熄火
调度调整在地铁行车组织中的应用