基于单片机的出租车计价器设计本科毕业设计论文(编辑修改稿)内容摘要:

存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编 基于单片机的出租车计价器设计 第 6 页 共 40 页 程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 [7]。 AT89S52 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2级中断结构,全双工串行口,片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止 [8]。 AT89S52 引脚图如图 : 图 单片机引脚图 DS1302 设计考虑到计价器的实用性,拟在没有乘客的情况想显示实时时钟,也是作为 各个时段单价自动转换的标准。 采用一个可靠的计时芯片是必不可少的。 DS1302 一种高性能、低功耗的实时时钟芯片, 工作性能稳定可靠, 采用 SPI 三线接口与 CPU 进行通信;并可采用突发方式一次传送多个字节的时钟信号和RAM 数据。 实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31天可以自动调整,并且具有闰年补偿功能。 通过设 DS1302 的控制 /状态寄存器选 基于单片机的出租车计价器设计 第 7 页 共 40 页 择日历,时钟方式经过初始校准后即可工作使用;工作电压宽达 ~。 可采用多电源供电 [9]。 如图 为 DS1302 的引脚功能图。 图 DS1302 引脚功能图 由于采用了备用电池供电,所以 在 汽车电源 关闭的情况下,也能保持时钟的 正常 运行。 DS1302 由 Vcc1 或 Vcc2 中 电压较高的一端 供电。 X1 和 X2 是外接 晶振 的振荡源。 RST 是复位 /片选线,通过把 RST 输入置高电平来启动所有的数据传送。 RST 有两种 输入 功能: 第一 , RST 接通控制逻辑,允许 将地址 /命令序列输入到 移位寄存器 中 ; 第二 , RST 提供 了停止单字节和 多字节数据的 发送方法。 当 RST 被 置为 高电平时,初始化 所有的数据传送 , 允许操作DS1302。 在传送过程中 如果 RST 置为低电平, 数据传送 则会被立即停止 , 芯片的 I/O 引脚变为高阻态。 上电运行时,在 Vcc≥, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端(双向 ), SCLK 则 是输入端 [10]。 A44E A44E 属于开关型的霍尔器件,其工作电压范围比较宽( ~ 18V),其输出的信号符合 TTL 电平标准,可以直接接到单片机的 IO 端口上,而且其最高测频 率可达到 1MHZ。 集成 开关型霍尔传感器原理如图 所示。 基于单片机的出租车计价器设计 第 8 页 共 40 页 AB DC EOUTV CCGNDV 0 / V12010 15 20释放点( of f )工作点( on )Bm / T 图 集成开关型霍耳传感器原理图 A44E 集成霍耳开关由稳压器 A、霍耳电势发生器 (即硅霍耳片 )B、差分放大器 C、施密特触发器 D 和 OC 门输出 E 五个基本部分组成 [11]。 在输入端输入电压 VCC ,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差 H V 输出,该 H V 信号经放大器放大后送至施密特触发器整 形,使其成为方波输送到 OC 门输出。 当施加的磁场达到工作点 .(即 OP B )时,触发器输出高电压 (相对于地电位 )使三极管导通,此时 OC 门输出端输出低电压,通常称这种状态为 “开 ”。 当施加的磁场达到释放点 (即 rPB )时,触发器输出低电压,三极管截止,使 OC 门输出高电压,这种状态为 “关 ”。 这样两次电压变换,使霍耳开关完成了一次开关动作 [12]。 AT24C02 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。 AT24C02 是 ATMEL 公司的 2KB 字节的电可擦除存储芯片,采用两线串 行的总线和单片机通讯,电压最低可以到 ,额定电流为 1mA,芯片内的资料可以在断电的情况下保存 40 年以上,而且采用 8 脚的 DIP 封装,使用方便。 其引脚功能: 基于单片机的出租车计价器设计 第 9 页 共 40 页 串行时钟信号引脚 (SCL):在 SCL 输入时钟信号的上升沿将数据送入EEPROM 器件 ,并在时钟的下降沿将数据读出。 串行数据输入 /输出引脚 (SDA): SDA 引脚可实现双向串行数据传输。 该引脚为开漏输出,可与其它多个开漏输出器件或开集电极器件线或连接。 器件 /页地址脚 (A2,A1,A0): A A1 和 A0 引脚为 24C01 与 24C02 的硬件连接的器件地址 输入引脚。 24C01 在一个总线上最多可寻址八个 1K 器件, 24C02在一个总线上最多可寻址八个 2K 器件, A A1 和 A0 内部必须连接。 24C04 仅使用 A A1 作为硬件连接的器件地址输入引脚,在一个总线上最多可寻址四个 4K 器件。 A0 引脚内部未连接。 其电路如图 所示。 图 AT24C02 引脚图 由于 AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和 SDA(数据 /地址)与单片机传送数据。 每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内 ;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用 [13]。 AT24C02 的存储容量为 2Kb,内容分成 32 页,每页 8B,共 256B,操作时有两种寻址方式:芯片寻址和片内子地址寻址。 ( 1)芯片寻址: AT24C02 的芯片地址为 1010,其地址控制字格式为1010A2A1A0R/W。 其中 A2, A1, A0 可编程地址选择位。 A2, A1, A0 引脚接高、低电平后得到确定的三位编码,与 1010 形成 7 位编码,即为该器件的地址码。 R/W 为芯片读写控制位,该位为 0,表示芯片进行 写操作。 ( 2)片内子地址寻址:芯片寻址可对内部 256B 中的任一个进行读 /写操作,其寻址范围为 00~FF,共 256 个寻址单位。 基于单片机的出租车计价器设计 第 10 页 共 40 页 74LS138 74LS138 芯片是常用的 38 线译码器, LS 是 TTL 的 ,他的 COMS 版本叫74HC138。 常用在单片机和数字电路的译码电路中。 其封装如图 : 图 74LS138 引脚图 74LS138 有 3 个附加控制端 S1, S2’和 S3’。 当 S1 =1, S2’ + S3’=0 时, Gs 输出为高电平 ,译码器处于工作状态。 否则译码器被禁止,所有的输出端被锁存 在高电平,如 表 : 表 74LS138 真值表 三八译码器真值表 输入端 输出端 A0 A1 A2 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 这三个控制端也被称为 “片选 ”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。 基于单片机的出租车计价器设计 第 11 页 共 40 页 3 硬件电路设计 CPU 模块 该模块主要包括系统初始化、里程的识别和费率的计算及各种功能模块的的组织和管理等。 主程序模块在系统中起着重要的作用。 鉴于单片机的端口特性不同,拟将 P0 口 、 P2 口 作为数据输出口,接到数码管; P1 用作存储器数据读写端口; P3 口作为控制和霍尔传感器信号输入端口。 最小系统如图 : 图 AT89S5 最小系统 模块 由于 单片机采用经过整流滤波之后的汽车用 12V 电源,外接的 12M 晶振来为单片机提供时钟源。 由于计价器的工作环境比较差,它要求有抗振动、抗高低温、抗潮湿、抗电磁干扰等能力,特别是电源方面的干扰,如出租车启动时,发动机打火、电瓶充电等造成输入计价器的 +12V 电源不稳定。 因此采用 +12V 电瓶电源经过滤波和电源稳压管理芯片 7805 后得到 + 5 V 的稳定电压输出,保证整个 基于单片机的出租车计价器设计 第 12 页 共 40 页 系统能够正常工作,电路如图 所示。 图 电源电路 路程测量部分 里程 测量 是通过安装在车轮上的霍尔传感器 A44E 检测到的信号, 由单片机处理之后显示到 LED 上 的。 其原理如图 所示。 车轮磁铁霍尔传感器单片机 AT 89 S 52 P 3 . 3 口 图 A44E 传感器工作原理图 在霍尔电势发生器的两端加上电压 VCC 后,根据霍耳效应原理,当霍耳片处在磁场中时,霍尔传感器的输出端输出低电平。 当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集。 车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉计数。 通过计算将脉冲增加 基于单片机的出租车计价器设计 第 13 页 共 40 页 体现在金额和里程上。 出租车中 从霍尔传感器中 得到标准的脉冲信号送入单片机的 引脚,利用单片机的 T1 的计数功能完成 1000 次的计数后产生一中断来完成路程的测量 [14]。 费用计算功能:费用计算包括 两 部分:起步费、行使费。 ( 1) 起步费用白天 6 元晚上 7 元; ( 2) 行使费用 ; 设车轮周长为 1m,则霍尔传感器每产生 1000 个脉冲便表示车已行程 1km。 我们选择了 口作为信号的输入端,内部采用外部中断 1,车轮每转一圈(我们设车轮的周长是 1 米),霍尔开关就检测并输出信号,引起单片机的中断,对脉计数,当计数达到 1000 次时,也就是 1 公里,单片机就控制将金额自动的增加,其计算公式:当前单价 公里数 =金额。 数据 显示部分 设计要求有单价( 2 位)、总金额( 4 位)显示输出,时钟显示(包含时分秒的显示), 若是 采用 LCD 液晶显示,则在光线较强时不能看清数据,也就不能满足要求。 考虑到共阴数码管较为常见, 因此我们采用 8 位 LED 数码管来显示。 单片机的 P0 口不能输出高电平,因此需在 P0 口接 8 个上拉电阻,以满足数码管的工作条件。 数码管 显示 电路如图 : 图 显示原理图 基于单片机的出租车计价器设计 第 14 页 共 40 页 时钟部分 DS1302 控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取时钟数据,为 1 表示存取 RAM数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 采用双电源供电,在断电的情况下由干电池组供电,可维持芯片的正常工作 [15]。 电路 如图 所示。 图 时钟芯片 电路图 掉电存储电路 AT24C02 采用的是 I2C 总线式串行器件。 串行器件不仅 占有 很少的系统资源和 I/O 线,而且体积也大大缩小。 在 I2C 总线上传送信息是的时钟同步信号是有挂接在 SCL 时钟线上的所有器件的逻辑与完成的。 SCL 线上有高电平到低电平。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。