版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于pic单片机的出租车计费系统摘要本系统由单片机pic16f877a和一些外围原件组成,具有操作简单,显示明了,功能强大的特点。整个系统只有两个按键,一个“启动/停止”,一个“复位”; 使用tg12864e 液晶模组作为显示器,可以显示数字、字母、中文、图片等,使系统信息一目了然;本系统除了里程统计和费用计算以外,还具有万年历和语音播报功能。万年历由时钟芯片pcf8563实时提供时钟信号,再由单片机调用显示;语音播报由语音芯片isd1420提供语音信息,语音信息放在不同的地址里,由单片机从这些地址中调用合适的语音进行播放。本方案充分发挥人性化的特点,利用isd1420的语音功能,配合tg12
2、864液晶模组,模拟实现带语音提示的出租车计价系统。比较真实地模拟出租车的空车、载客、到站及对各状况的费率的计算、统计、显示和语音播报等功能。本系统涉及到的理论知识有: pic单片机知识、lcd液晶显示器的工作原理和使用方法、可擦、写的语音芯片的工作原理及应用、实时时钟芯片的工作原理及应用、 出租车计费系统的原理和实现方法、 proteus仿真原理及实际应用。本系统提高同学们用c语言编写程序的能力、单片机应用系统设计综合能力的训练、培养同学们分析问题和解决问题的能力、对同学们的招聘以及参加工作均有帮助。该系统稍加改进,可以成为一套真正的实用的计费系统。 关键词:时钟芯片pcf8563 语音芯片
3、isd1420 tg12864液晶模组 lcd液晶显示器目录摘要1第一章 系统总体介绍 21系统组成及功能框图32里程计量及费用计算功能33语音播放功能44中文菜单显示功能45实时时钟功能56按键功能57系统电路设计原理图6第二章 硬件设计71主程序/cpu模块72语音播放模块 83液晶显示驱动模块 94脉冲发生器模块 115时钟模块 126按键扫描模块 14第三章 系统程序设计 121系统主程序流程框图 152里程和费率计算程序流程图 183键盘处理程序流程图 19结束语19致谢21参考文献21附件21第一章系统总体介绍1.系统组成此出租车计费系统以单片机为系统核心,利用pic16f877单
4、片机配合tg12864液晶模组及isd1420语音模块等,实现基本的出租车计价器功能。本系统是由pic单片机、液晶显示模块、计数脉冲发生器、系统实时时钟及语音等模块组成。系统框图如图(1)所示:2.系统各部分功能:里程计量功能a)单片机对传感器输出脉冲进行计数,并将脉冲数换算成公里数;b)每一个脉冲代表轮胎旋转一周,设轮胎的直径为520mm,轮胎的周长为:(即每转一圈的距离)520x3.14159=1634mm=1.634m c)每公里的脉冲数:pulseperkm=1000m/1.634m=612(个脉冲) 费用计算功能(参照广州市出租车收费标准)费用计算包括三部分:起步费、行使费和燃油附加
5、费:a)起步费用(startprice) 当行驶里程(runmilege)在2.3km(含2.3km)以内按起步价(startprice)7元计费。即行使费用(runprice)为: runprice = startprice + 1 = 8(元)b) 行使费用(runprice)-行使费用分短途与长途两种情况:.当行驶里程(runmilege)超出2.3km时并且小于35km时,按2.6元/km收费,这时行驶费用为:runprice=startprice+2.6(runmilege-startmilege)+1 其中:startprice为起步价=7元 startmilege为起步里程=2.
6、3kmrunmilege为行使里程(总行使里程)runprice为行使费用(总行使金额).当行使里程超过35km后,要加空驶费,即每公里升至3.50元, 这时行驶费用为:runprice=startprice+3.5(runmilege-startmilege)+1c) 燃油附加费-每车次加收一元。语音播放功能.当初次按下“startstop”键,出租车开始启动,系统播放“您好!欢迎乘坐本公司出租汽车,谢谢!”播送完毕,计费器开始计费。.按下“speedup”键,出租车加速行使,最高速为100km。.按下“speeddown”键,出租车减速行使,最低速为0km。.在行使状态下,按下“start
7、stop”键,表示出租车到站,结束行使。这时候,系统播放“您好!行使里程xxx公里,应付xxx元,请检查您的随身物品,欢迎再次乘坐,再见!”的提示音。.按下“reset”键,进入空车状态。 中文菜单显示功能.在空车状态下(启动前),lcd屏幕上显示如下的中文信息:.在空车状态下,按下“startstop”键,系统播放“您好!欢迎乘坐本公司出租汽车,谢谢!”的提示音,同时在lcd屏幕上显示如下的中文信息:.播完提示音后,进入行使状态,lcd屏幕显示以下信息:.在行使状态,按下“speedup”键,里程显示的公里数增加的速度会不断的变快,金额数值也在作相应的变化。按下“speeddown”键,里程
8、显示的公里数增加的速度会不断的变慢。.在行使状态,按下“startstop”键,表示出租车到站,结束行程。这时屏幕显示以下信息: 同时,系统播放“您好!行使里程xxx.xx公里,应付xxx.xx元,请检查您的随身物品,欢迎再次乘坐,再见!”的提示音。实时时钟功能本系统采用两种方法实现日历时钟:(1)用实时时钟芯片fc8563作为时钟电路,产生年月日时分秒等信号,供系统调用。(2)用单片机中断的方法产生年月日时分秒等信号。(3)两种方法由同学自行选择。本系统设置4个按键,各个按键的功能如下:(1)“startstop”键开始进入行使/结束行使(到站)。(2)“speedup”键行使加速按键。按下
9、次按键,可使出租车的速度由0km上升到100km。(3)“speeddown”键-行使减速按键。按下次按键,可使出租车的速度由100k下降到0km。(4)“reset”键-进入空车状态。电路设计原理图第二章 硬件设计: 主程序/cpu模块 主程序/cpu电路图及说明该模块主要包括系统初始化、pwm计数脉冲的产生、里程的识别和费率的计算及各功能模块的的组织和管理等。主程序模块在系统中起着重要的作用。pic16f877主要性能:具有高性能risc cpu。具有25条单字指令。除程序分支指令为两个周期外,其余均为单周期指令。运行速度:dc-20mhz时钟输入 dc-200ns指令周期8k*14个fl
10、ash程序存储器368*8个数据存储器(ram)字节256*8eeprom数据存储器字节引脚输出和pic16c73b/74b/76/77兼容中断能力(达到14个中断源)8级深度的硬件堆栈直接,间接和相对寻址方式上电复位(por)上电定时器(pwrt)和振荡启动定时器(ost)监视定时器(wdt),它带有片内可靠运行的rc振荡器可编程的全码保护低功耗睡眠方式可选择的振荡器低功耗、高速cmos flash/eeprom工艺全静态设计要线串行编程(icsp)单独5v的内部电路串行编程(icsp)能力,处理机读/写访问程序存储器运行电压范围2.0v到5.5v高吸入/拉出电流25ma商用,工业用温度范围
11、低功耗:在5v,4mhz时典型值小于2ma在3v,32khz时典型值小于20ua典型的稳态电流值小于1ua外围特征:timer0:带有预分频器的8位定时/计数器timer1:带有预分频的16位定时器/计数器,在使用外部晶体振荡时钟时,在sleep期间仍能工作。timer2:带有8位分频寄存器,预分频器和后分频器的8位定时器/计数器2个捕捉器,比较器,pwm模块其中:捕捉器是16位,最大分辩率为12.5ns 比较器是16位,最大分辩率方200ns pwm最大分辩率为是10位10位多通道模/数转换器带有spi(主模式)和i2c(主/从)模式的ssp带有9位地址探测的通用同步异步接收/发送器(usa
12、rt/sci)带有rd,wr和cs控制(只40/44引脚)8位字宽的并行从端口带有降压复位的降压检测电路 语音播放模块 语音播放模块电路图及说明:语音播放模块播放提示音,行驶里程、费用等。isd1420系列单片录放时间8至20秒,音质好。芯片采用cmos技术,内含震荡器、话筒前置放大、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及eeprom阵列。最小的录放系统仅需麦克风、喇叭、两个按钮、电源及少数电阻电容。在录放操作结束后,芯片自动进入低功耗节电模式、功耗仅0.5ua。isd1420系列有唯一的录音控制和边缘/电平触发两种放音控制。不分段时外围线路最简,也可按最小段长为单位任意组合分段
13、,芯片提供若干操作模式,大大提高了控制的灵活性。芯片采用多电平直接模拟量存储专利技术,每个采样直接存储在片内单个eeprom单元中,因此能够非常真实、自然地再现语音、音乐、音调各效果,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率从5.3,6.4到8.0khz,对音质仅有轻微影响。片内信息可保存100年(无需后备电源),eeprom单片可反复录音十万次。 液晶显示驱动模块液晶显示驱动模块电路图及说明:tg12864e 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864 全点阵液晶显示器组成。可完成图形显示,也可以84 个(1616 点阵)汉字。主要技术参数
14、和性能:电源:vdd:+2.7 +5v; 模块内自带-10v负压,用于lcd的驱动电压。 显示内容:128(列)64(行)点全屏幕点阵 七种指令 与cpu接口采用8 位数据总线并行输入输出和8 条控制线 占空比1/64 工作温度:-10+60,储存温度:-20+70,可选择宽温:-20+70.外形尺寸图:.模块主要硬件构成说明:. 模块的外部接口:.tg12864el 串口接线方式:脉冲发生器模块 脉冲性生器模块电路图及说明:(如下图) ne555定时器具有定时精度高、工作速度快、可靠性好、电源电压范围宽(3-18v)、输出电流大(可高达200ma)等优点,可组成各种波形的脉冲振荡电路、定时延
15、时电路、是一种电路结构简单、使用方便灵活、用途广泛的多功能中规模集成电路。只需在外部配接适当的阻容元件,便可组成施密特触发器、单稳态触发器和多谐振荡器等多种应用电路,在这个电路中是多谐振荡器,它电路简单、性能稳定,波形标准。该模块完成传感器脉冲计量,然后转换为公里数,并根据规则计算对应的费用。同时,监测行驶速度,统计低速时间,计算低速等待费用,提供液晶显示更新函数,以便主函数可以控制更新用户界面以及行驶里程、费用等信息的显示。该模块包括pwm管理程序、里程计量程序、时间管理程序、费用管理程序、用户界面控制程序等部分。时钟模块 时钟模块电路图及说明:pcf8563 是低功耗的cmos 实时时钟日
16、历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过i2c 总线接口串行传递。最大总线速度为400kbits/s,每次读写数据后,内嵌的字地址寄存器会自动产生增量。 特性:* 低工作电流:典型值为0.25a(vdd=3.0v,tamb=25时)。* 世纪标志* 大工作电压范围:1.05.5* 低休眠电流;典型值为0.25a(vdd=3.0v,tamb=25)* 400khz 的i2c 总线接口(vdd=1.85.5v 时)。* 可编程时钟输出频率为:32.768khz,1024hz,32hz,1hz。* 报警和定时器。* 掉电检测器。* 内部集成的振荡器电容。* 片
17、内电源复位功能。* i2c 总线从地址:读,0a3h;写,0a2h。* 开漏中断引脚。管脚配置功能描述:pcf8563 有16 个位寄存器:一个可自动增量的地址寄存器,一个内置32.768khz 的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟rtc 提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400khz i2c总线接口。所有16 个寄存器设计成可寻址的8 位并行寄存器,但不是所有位都有用。前两个寄存器(内存地址00h,01h)用于控制寄存器和状态寄存器,内存地址02h08h 用于时钟计数器(秒年计数器),地址09h0ch 用于报警寄存器(定义
18、报警条件),地址0dh 控制clkout 管脚的输出频率,地址0eh 和0fh 分别用于定时器控制寄存器和定时器寄存器。秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器,编码格式为bcd,星期和星期报警寄存器不以bcd 格式编码。当一个rtc 寄存器被读时,所有计数器的内容被锁存,因此,在传送条件下, 可以禁止对时钟日历芯片的错读。pcf8563 硬件时钟描写模块:最大总线速度为400kbits/s,每次读写数据后,内嵌的字地址寄存器会自动产生增量。 *400khz 的i2c 总线接口(vdd=1.85.5v 时) *可编程时钟输出频率为:32.768khz,1024hz,32hz
19、,1hz。 *报警和定时器。 *开漏中断引脚。 *i2c 总线从地址:读0a3h;写0a2h。 地址 寄存器名称 00h 控制/状态寄存器 01h 控制/状态寄存器 0dh clkout 频率寄存器 0eh 定时器控制寄存器 0fh 定时器倒计数数值寄存器 地址 寄存器名称 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 02h 秒 vl 0059bcd 码格式数 03h 分钟 - 0059bcd 码格式数 04h 小时 - - 0059bcd 码格式数 05h 日 - - 0131bcd 码格式数 06h 星期 - - - - - 06 07h 月/世纪 c
20、- - 0112 bcd 码格式数 08h 年 0099 bcd 码格式数 09h 分钟报警 ae 0059 bcd 码格式数 0ah 小时报警 ae - 0023 bcd 码格式数 0bh 日报警 ae - 0131 bcd 码格式数 0ch 星期报警 ae - - - - 06 操作举例*进入extclk 测试模式;设置控制状态寄存器的位(test=1)。*设置控制状态寄存器的位(stop=1)。 *清除控制状态寄存器的位(stop=0)。*设置时间寄存器(秒、分钟、小时、日、星期、月世纪和年)为期望值。 *提供32 个时钟脉冲给clkout。 *读时间寄存器观察第一次变化。 *提供64
21、个时钟脉冲给clkout。 *读时间寄存器观察第二次变化;需要读时间寄存器的附加增量时,重复步骤和。按键扫描模块: 按键扫描模块电路图及说明:整个系统只有两个按键,一个“启动/停止”,一个“复位”;本模块功能:扫描按键功能,返回扫描结果。第三章 系统程序设计本系统程序由c语言编写,编译软件是mplab ide 和一个外挂的pic的c语言编译软件picc 。 1.系统主程序流程框图(含程序):/*/主程序开始/*void main() initial(); init(); lcm_init(); initi2c(); count = 0; runmilege=0; flag = 0; play_
22、fg1 = 0; play_fg2 = 0;/*/转换为图形方式/* write_inst(0x34); write_inst(0x36); clear_picture_fast(); display_picture1();/显示一幅个性化图片 delay(100);/*/转换为文本方式/* write_inst(0x30); write_inst(0x0c); write_inst(0x01); write_inst(0x06);/*/显示一幅个人信息/* disp_log1(); delay(200); write_inst(0x01);/*/主程序循环开始/* while(1) if(m
23、ode=0)/模式0: 显示空车状态 inte = 0; count = 0; kongche(); else if(mode=1)/模式1: if(!flag)/标志位为0时 inte = 0;/禁止中断产生 write_inst(0x01); yingke(); /显示欢迎界面 play(17,50);/播放“您好” play(18,5); /播放“欢迎” play(25,100);/播放“乘坐本公司出租汽车” delay(200); flag = 1; write_inst(0x01); else/标志位为1时 inte = 1;/允许产生中断 price();/里程和费率计算 zaik
24、e();/进入载客界面 else if(mode=2)/模式2: inte = 0;/禁止中断产生 if(!play_fg1)/标志位为0时 daozhan();/进入到站界面 play(21,60); /播放“车已到站” delay(50); playsound_km(runmil);/播放行使里程 delay(50); playsound_mn(pricet);/播放应付金额 play_fg1 = 1;/置标志位为1 write_inst(0x01); jieshu();/进入结束界面 if(!play_fg2)/标志位为0时 play(24,100);/播放“请检查您的随身物品” pla
25、y(18,5); /播放“欢迎” play(20,5); /播放“再次” play(25,100);/播放“乘坐本公司出租汽车” play(19,5); /播放“再见” play_fg2 = 1;/置标志位为1 scankey();/键盘扫描模块 2.里程和费率计算程序流程图(含程序):/*/费率计算函数/*void price() if(runmilege2300)&(runmilege35000) /totalprice=700+(35000-2300)*0.26+(runmilege-35000)*0.35+100; totalprice=1112+(runmilege-35000)*0
26、.35; price=(ulong)totalprice; 3.键盘处理程序流程图键盘扫描子程序模块/*第 21 页 共 21 页void scankey() if(k2() bell(); if(mode=0x00) mode = 0x01; write_inst(0x01); else if(mode=0x01) flag = 0; mode = 0x02; write_inst(0x01); if(k4() bell(); if(mode=0x02) flag = 0; play_fg1 = 0; play_fg2 = 0; mode = 0x00; write_inst(0x01); count = 0; *结束语 通过这次毕业设计,我觉得自己学到了很多东西,特别是在即将毕业走向社会的时候,增加了自己以后在社会上工作的信心。毕业设计是对我们大学三年学习的总考验.这次毕业设计,我有以下一些体会: 大学大部分时间都是在学习理论基础知识,并未真正地去应用和实践。自从入学以来,了解了自己本专业信息之后,我就开始了我的电子信息学习生涯,其中涉及到的知识,是我以前没想过的,也不懂的,所以这次毕业设计,我很辛苦才完成。其中我接触到了更多平时没有接触到的元器等,发现了自己很多不足之。我体会到了所学理论知识的重要性:知识掌握越多,设计得就更加严谨,更加顺利。了解了进行一项相对比较大型的科研
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年景洪市嘎洒强村管理有限公司人员招聘备考题库带答案详解
- 2025年南昌市洪都中医院公开招聘总会计师备考题库附答案详解
- 2025年江西赣江新区永修投资集团有限公司面向社会公开招聘工作人员备考题库及1套完整答案详解
- 2025年天津旭成科技发展有限公司招聘备考题库及参考答案详解
- 2025年西乌珠穆沁旗布敦银根矿业招聘22人备考题库参考答案详解
- 2026年沙洲职业工学院单招职业技能考试题库与答案详解
- 2025年宁波农商发展集团有限公司招聘14人备考题库及参考答案详解
- 2026年抚顺职业技术学院单招职业适应性测试题库及答案详细解析
- 2026年广西壮族自治区高职单招职业技能考试题库有答案详解
- 2026年保险职业学院单招综合素质考试题库有答案详解
- 煤棚安全培训试题及答案
- 镇财政工作报告五年
- 2025年北京市海淀区九年级初三二模英语试卷(含答案)
- 有色金属矿山水文地质勘探规范
- 体育赛事策划与管理全套课件
- 《 语文(基础模块)下册》中职语文课程全套教学课件
- 高等职业学校汽车智能技术专业实训教学条件建设标准
- 夜间施工安全培训
- 《论语》全文原文版
- 盐城工业职业技术学院单招职业技能测试参考试题库(含答案)
- 《人体中的化学反应》课件
评论
0/150
提交评论