单片机课程设计
4.AT24C02掉电存储单元的设计
掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路如图2-5所示。
VCC串行存储模块U41NC2NC3NC4GNDGNDAT24C02A8VCC7WP6SCL5SDAR85.1kR105.1k接P2.6接P2.5
图3-7 掉电存储电路原理图
图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地
址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。
每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。
5.密码锁的电源电路设计
为了防止停电情况的发生,本电路后备了UPS电源,它包括市电供电电路,停电检测电路,电子开关切换电路,蓄电池充电电路和蓄电池组成。电源电路图如图2-8所示。 7805D3D2R11K123JP21221D4D1D5C20.1C33300C13300JP1 图3-8 市电供电电路
220V市电通过变压器降压成12V的交流电,再经过整流桥整流,7805稳压到5V送往电子切换电路,由于本电路功耗较少,所以选用10W的小型变压器。
由R8,R9,R6,R7及IC14构成电压比较器,正常情况下,V+
6
单片机课程设计
5V 直流电源 A1蓄电池 A2R620K1蓄电池供电R105.1KVCC继电器常开常闭R850K蓄电池 A25V 直流电源 A174123T39018R940KR730KIC14T49014
图3-9 停电检测及电子开关切换电路
T1,T2构成的蓄电池自动充电电路,它在电池充满后自动停止充电,其中D1亮为正在充电,D2为工作指示。由R4,R5,T1构成电压检测电路,蓄电池电压低,则T1,T2导通,实现对其充电;充满后,T1,T2截止,停止充电,同时D1熄灭,电路中C4的作用是滤除干扰信号。其电路图如图7所示:
6V 充电电源6V 蓄电池电源 A2R43K3CG21R23KR13K蓄电池D1R5470C40.1UD2T19014
图3-10 蓄电池自动充电电路
6.设计总框图
矩阵 键盘 控制 89S51 单片机 输入错误锁定键盘 延时报警控制电路 电源电路及UPS电路 AT24C02掉电存储 开锁控制电路 串口显示电路 图3-11总体设计框图
指示电路 7.设计总体电路图
7
单片机课程设计
MCU模块U112345678RESET9DATA10WR11CS121314151617181920AT89S51VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0电源接口1000uF/25VVCCR/T/LEDWRVCCGND1234DATA数码管接口CRYP1.0P1.1P1.2P1.3P1.4P1.5/MOSIP1.6/MISOP1.7/SCKRESTP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GNDVCCVCC402C53913837363534存储器选择接口GND3332EA/VPGND31EA/VP330ALE/PEA/VP229PSEN12827VCC26SCL25SDA24DLQI123DLQI222SPEAK21DSVCCC233PFGND矩阵键盘C40.1uF6MHzC333PF串行存储模块U41234GNDNCNCNCGNDAT24C02AVCCWPSCLSDA8765R85.1kR105.1kS5VCCSCLSDAR7200C122uFRESETR11K电源电路及其UPS电路复位电路GND 图3-12 总体电路图
四、程序设计
1.模块介绍
该计程计价系统的软件设计分为以下几个模块:
(1)主程序模块
主程序主要完成初始化、设置中断向量、检查有无按键按下、以及调用显示等等。主程序的流程图如下所示。
(2)键盘扫描及识别子程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图 所示.
(3)调电存储服务程序
当比较密码的时候,需要读AT24C02程序,将存储在芯片内的数据读到RAM中,然后和输入的密码相比较。当修改密码的时候,需要把输入的密码保存到AT24C02中,其程序流程如图 所示.
(4)显示子程序
由于是分屏显示数据,所以就要用到5个显示子程序,分别是:关闭状态显示子程序(DIS_A)、开锁状态显示子程序(DIS_B)、密码输入及修改状态显示子程序(DIS_C)、密码输入错误后的提示子程序(DIS_D)。密码在规定的时间内输入错误次数超过3次后的锁定状态显示子程序(DIS_E).
2.程序流程图
(1)主程序流程图如图3-1所示。
8
单片机课程设计
开始 初始化 调用显示 N 有键按下? Y 启动定时 识别按键 比较密码 全部按完? Y 超时? N 比较密码 开门 开始 >3次? N 锁定 按F2退出 Y 自动清除 Y 调用显示 Y 调用24C02 输入密码 存入缓冲 再输入一次 N N 重新输入 按下F2 启动定时 图4-1 主程序流程图 图4-2 修改密码流程图
五、总结
由于使用的是单片机作为核心的控制元件,以及灵敏的霍尔开关型器件,是本出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平。
但是在我们设计和调试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。
计价器的设计还不够人性化,比如加上语音的提示功能,可能会更有生命力。
Abstract
A new intelligent milometer base on a microcontroller can count the sum. By taking full use of the processor 89s51 and E2PROM (AT24C02) and sensor of magnetism, it can count the sum of fully distance and the course of development.
9