课程设计--基于at89c52单片机出租车计价器设计内容摘要:

,计价器应具有掉电保持功能,即当重新启动后维持原有数值(包括总金额、等待时间、行驶里程、单价)不变,直至强制按下清零键,计价器显示起步价(刚起步时对应总金额)、运行单价,为下一次计价做准备。 基本原理 计价器系统 主要由五部分组成:分别为 脉冲信号模拟车轮转动 的里程检测单元、 AT89C52 单片机、外扩串行 EEPROMAT24C0独立键盘和 LED显示。 通过按键控制脉冲,按下按键,即给出一个脉冲, 并把该脉冲交由单片机进行处理,单片机则根据程序设定,通过计算脉冲个数换算出已行驶里程(里程 =脉冲个数 *出租车车轮周长),然后再根据从 EEPROMAT24C02 中读取的单价等相关数据进行总的消费金额的计算:当里程小于 3 公里时,总金额 =起步价 +等待时间 *等待单价;当里程大于 3 公里时,总金额 =起步价 +(里程 3) *运行单价 +等 待时间 *等待单价;计算好的金额、等待时间、里程和单价等数据信息都可实时地显示在数码管上。 独立键盘可以调整单价等相关数据,当按下某按键,会给单片机相应端口一低电平信号,单片机会通过循环扫描检测到此信号,并根据预先设置好的程序做出相应的处理;调整好的数据存储到 EEPROM 中,掉电后可以使该数据不丢失,下次得电后直接从 EEPROMAT24C02 中读到单片机,并通过数码管实时显示。 系统结构图如图 11 所示。 独 立 键 盘A 4 4 E 霍 尔 传 感 器S T C 8 9 C 5 2数 码 管 显 示A T 2 4 C 0 2E E P R O M脉 冲 输 入 输 出 显 示数据储存调整切换图 11 系统结构图 第 2 章 硬件设计 单片机最小系统单元 主控机系统采用 STC 公司生产的 STC89C52 单片机,它含有 512 字节数据存储器 RAM,内置 8K 的电可擦除 FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。 芯片外围电路最高可接入 40MHZ的晶振( AT 单片机数值一般为 24MHZ)。 复位电路和晶振电路,以及 P0 口接入的 10K 的上拉电阻便构成了 STC89C52 单片机工作所需的最简外围电路。 单片机最小系统电路图如图 21 所示。 A01A12A23GND4V C C8WP7S C L6S D A5U4A T 24 C 02V C C40P 0. 039P 0. 138P 0. 237P 0. 336P 0. 435P 0. 534P 0. 633P 0. 732EA31A L E30P S E N29P 2. 021P 2. 122P 2. 223P 2. 324P 2. 425P 2. 526P 2. 627P 2. 728P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78R S T9P 3. 0/ R X D10P 3. 1/ T X D11P 3. 2/ I N T 012P 3. 3/ I N T 113P 3. 4/ T 014P 3. 5/ T 115P 3. 6/ W R16P 3. 7/ R D17X T A L 218X T A L 119GND20U1S T C 89 C 52S0S W P BS?S W P BS?S W P BS3S W P BS?S4V C CGNDGNDGNDS 0 清零S 1 递增S 2 递减S 3 功能S 4 切换R3R6C430pC530pY111 .0 59 2 MR81KS?S W P BR5510R7200 C322 U FV C CGND按键电平复位电路内部时钟电路C?LED掉电存储单元 里程计算主要通过 脉冲信号模拟车轮转动 , 又通过按键 控制脉冲, 出租车车轮每旋转一周,并把该脉冲交由单片机进行处理,单片机则根据程序设定,通过计算脉冲个数换算出已行驶里程:里程 =脉冲个数 *出租车车轮周长。 掉电存储单元 AT24C02 的作用是在电源断开的时候,存储当前设定的总金额,等待时间,运行里程以及单价等信息。 AT24C02 是 Ateml 公司的 2KB 的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到 ,额定电流为 1mA,静态电流 10uA(),芯片内的资料可以在断电的情况下保存 40年以上,而且采用 8 脚的 DIP 封 装,使用方便。 AT24C02芯片引脚配置如图 24 所示。 A01A12A23GND4V C C 8WP 7S C L 6S D A 5U1A T 24 C 02GNDV C CGNDP 3. 6P 3. 7 图 24 AT24C02引脚配置图 图中 R R5 是上拉电阻,其作用是减少 AT24C02 的静态功耗。 由于 AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,只用两根线 SCL(时钟脉冲)和 SDA(数据 /地址)与单片机 和 口连接,进行传送数据时遵守 I2C 总线协议。 每当设定一次单价,系统就调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。 事实上 AT24C02 为典型的支持 I2C 总线的器件,对其进行编程时需遵守 I2C 总线的时序要求,以及 I2C 委员会对各种 I2C 芯片的地址分配规则。 现把 I2C 总线与 AT24C02 的通讯时序、通讯规则简要介绍如下: 1. I2C 总线节点的寻址字节 主机产生起始条件后,发送的第一个字节为寻址字节。 该字节的头七位为从机地址,对于 AT24C02 来说高四位为 1010,它是 I2C 总线器件的固有地址,紧接着是 A A A3 通过接地或者高电平决定外围器件的地址数据,第八位是读写控制为,当为 0 是表示主节点向从节点发送数据, 当为 1 时表示要接收数据。 2. I2C 总线数据传输的格式 (1) 主控器的写数据格式 : 首先由主机发送起始信号 — 当 SCL 为高电平时, SDA。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。