单片机课程设计出租车计价器_第1页
单片机课程设计出租车计价器_第2页
单片机课程设计出租车计价器_第3页
免费预览已结束,剩余35页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、百度文库河南理工大学单片机应用与仿真训练设计报告基于单片机的出租车计价器的设计姓名:学号:专业班级:指导老师:所在学院:电气工程与自动化2011年7月1日基于 51 单片机原理出租车计价器的设计- 0 -百度文库摘要本设计的是一个基于单片机 AT89S52的出租车自动计费设计 ,附有复位电路 , 时钟电路 ,键盘电路等。复位电路是单片机的初始化操作 ,除了正常的初始化外 , 为摆脱困境 ,通过复位电路可以重新开始。 时钟电路采用 12MHz 的晶振 ,作为系统的时钟源 ,具有较高的准确性。在上电时四位共阴极5461AS数码管显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步

2、价,里程收费,等待时间收费。通过按键模拟出租车的运行,暂停,停止。在5461AS液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。在这里主要是以AT89S52单片机为核心控制器, P0 口接 5461AS液晶显示模块, P1 口接按键的,通过按键输入。关键词:单片机 AT89C51; AT89S52;5461AS液晶;出租车计费器;- 1 -目录前 言.- 2 -第一章出租车计价系统的设计要求与设计方案.- 3 -1.1出租车计价器设计要求.-3 -1.2系统主要功能 .-3 -1.3方案论证与比较 .-4 -第二章出租车计价系统的硬件设计.- 7 -2.1振荡

3、电路 .-7 -2.2复位电路设计 .-7 -图 2-2 AT89C52 引脚配置 .- 8 -2.3键盘接口电路 .-8 -.- 8 -图 2-3键盘接口电路 .- 8 -2.4显示电路 .-8 -2.5路程测量部分 .-9 -2.6单片机各引脚功能说明.-10-2.75461AS 液晶的简介 .-11-第三章出租车计价系统的软件设计.-14-3.1单片机资源使用 .-14-3.2中断子函数 .-14-3.3判键子函数 .-15-3.4显示子程序 .-15-3.5总程序流程框图 .-16-第四章PROTEUS的简介 .-18- 1 -4.1P介绍 .-18 -ROTEUS第五章设计体会与小结

4、 .-18-参考文献.- 19-附录 .- 20-一源程序 .-20-二设计总图 .-27-前 言出租车计价器是出租车营运收费的专用智能化仪表 ,随着电子技术的发展 ,出租车计价器技术也在不断进步和提高。 国内出租车计价器已经经历了 4 个阶段的发展。从传统的全部由机械元器件组成的机械式 ,到半电子式即用电子线路代替部分机械元器件的出租车计价器 ;再从集成电路式到目前的单片机系统设计的出租车计价器。出租车计价器计费是否准确、 出租车司机是否作弊才是乘客最关心的问题 ,而计价器营运数据的管理是否方便才是出租车司机最关注的。因此怎样设计出一种既能有效防止司机作弊又能方便司机的计价器尤为重要。 因此

5、 , 本文以单片机 A T89S52 为核心设计一款多功能出租车计价器 , 该计价器能实现按时间和里程综合计算车价,能显示时间、里程、单价、总车价等相关信息显示。它比市场上的一些计价器使用更方便 , 功能更全 , 还具有有效防止司机作弊和系统稳定性好的优点。- 2 -第一章出租车计价系统的设计要求与设计方案1.1 出租车计价器设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、二部分,用5461AS液晶 显示总金额, 运行时间,暂停时间,最大值为元, 起步价为元, 3Km 之内起步价计费,超过 3Km,增加元(即 1KM增加元),用液晶显示总里程,同时用液晶显示等待时间和运行花费时

6、间。、计费功能费用的计算是按行驶里程收费。设起步价为元。1、当里程 <3km时,按起价计算费用2、当里程 >3km时,每公里按元计费、显示功能1、显示行驶里程:用四位数字显示,显示方式为“XXXX”, 单位为 km。计程范围 0-99km,精确到 1km。2、显示等候时间:用两位数字显示,显示方式为“XX” , 单位为 min。计时范围 0-59min ,精确到 1min。3、显示总费用:用四位数字显示,显示方式为“” , 单位为元。计价范围元,精确到元。1.2 系统主要功能本出租车自动计费, 上电后显示最初的起步价, 里程计费单价, 等待时间计费单价,通过按键可以调节起步价,里程

7、计费单价,等待时间计费单价。同时具有运行,暂停,停止等状态,可以显示运行的时间,同时可以显示暂停的时间,- 3 -具有累加功能, 暂停和运行时间在暂停和运行前一次的状态上计时。 出租车停止后能够显示行驶的总费用。1.3 方案论证与比较方案一:采用数字电子技术, 利用 555 定时芯片构成多谐振荡器, 或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码, 将译码所得的数据送给数码管显示, 一下是该方案的流程框图,方案一如图 1-1 所示:图 1-1 方案一案二:采用 EDA技术,根据层次化设计理论, 该设计问题自顶向下可分为分频模块,控制

8、模块 计量模块、译码和动态扫描显示模块,其系统框图如图 1-2 所示:图 1-2 方案二方案三:采用 MCU技术,通过单片机作为主控器,利用 1602 字符液晶作为显示电路,采用外部晶振作为时钟脉冲, 通过按键可以方便调节, 以下是方案三的系统流程图, 本方案主要是必须对于数字电路比较熟悉, 成本又不高。 方案图如图 1-3 所示:- 4 -图 1-3 方案三方案总结:通过各个方案的比较,本次采用方案三,不但控制简单,而且成本低廉,设计电路简单。- 5 - 6 -第二章出租车计价系统的硬件设计2.1 振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚 XTAL1,其输出端为引脚 X

9、TAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取 33pF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生 ALE信号,此时得到的信号时机器周期信号。振荡电路如图2-1 所示:图 2-1 振荡电路2.2 复位电路设计复位操作有两种基本形式: 一种是上电复位, 另一种是按键复位。 按键复位具有上电复位功能外,若要复位,只要按图中的 RESET键,电源 VCC经电阻 R1、 R2 分压,在 RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚

10、获得高电平,随着电容的充电, RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间( 2 个机器周期),单片机就可以进行复位操作。按键复位电路图如图 2-2 所示。- 7 -图2-2 AT89C52引脚配置2.3 键盘接口电路独立式键盘: 独立式键盘中, 每个按键占用一根 I/O 口线,每个按键电路相对独立。 I/O 口通过按键与地相连, I/O 口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。 I/O 口内部有上拉电阻时,外部可不接上拉电阻。键盘接口电路如图 2-3 所示:图 2-3 键盘接口电路2.4 显示电路对于现实电路我们可以采用数码管,

11、也可以采用液晶显示, 液晶又分字符型和点阵型,我们使用的液晶是字符型液晶,并且带字符库的,不需要查找代码。英文字符就可。液晶电路使用时,如果发现液晶不亮可以调节连接液晶的点位器,改变液晶的亮度。显示电路如图 2-4 所示:- 8 -图 2-4 数码管封装图及数据线与数码管管脚关系2.5 路程测量部分出租车中需要一个能准确获得车轮转动即路量信号的装置 , 以得到标准的脉冲信号送入单片机的定时 / 计数器 T1 即 P3. 5 引脚 , 利用单片机的 T1 的计数功能完成 100 次的计数后产生一中断来完成路程的测量。 ( 设车轮周长为 1 m , 则霍尔传感器每产生 100 个脉冲便表示车已行程

12、 0. 1 km , 根据际情况在程序中进行设置 ) 。汽车联轴器按圆周间隔嵌入磁钢 , 用霍传感器集成芯片 A44E 测并输出脉冲 , 其工作原理如图 4 所示 , 霍尔传感器集成芯片 A44E 有信号转换、电压放大、等功能 , 为增加其抗干扰的能力 , 经过 74L S14 对信号整形后再通过光偶送入 P3. 5 引脚。图 2-5 路程测量电路- 9 -2.6 单片机各引脚功能说明AT89S52电路图如图2-6 所示 :VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门流。当 P1 口的管脚第一次写 1 时,被定义为高阻

13、输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 / 地址的第八位。在 FIASH编程时,P0口作为原码输入口,当 FIASH进行图 2-6校验时,P0 输出原码,此时 P0 外部必须被拉高。图 2-6 AT89S52P1 口: P1 口是一个内部提供上拉电阻的8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的8 位双向I/O 口,P2 口缓冲器可接收

14、, 输出 4 个 TTL门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低, 将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH编程和校验时接收高八位地址信号和控制信号。P3 口:P3口管脚是 8 个带内部上拉电阻的双向I/O 口,可接收输出 4 个 TTL门电流。当 P3 口写入“ 1”后,它们被内部上拉为高电平

15、,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL )这是由于上拉的缘故。 P3 口也可作为 AT89S52的一些特殊功能口, P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电-10-平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6 。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一

16、个 ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE 只有在执行 MOVX,MOVC指令是 ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1 时, /EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在

17、FLASH编程期间,此引脚也用于施加 12V 编程电源( VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.7 5461AS 液晶的简介5461AS共阴四位数码管主要技术参数如表2-1 所示:显示容量:16*2 个字符芯片工作电压:工作电流:模块最佳工作电压:字符尺寸:* ( W*H) mm表 2-1 5461AS 共阴四位数码管主要技术参数接口信号说明如图 2-6 所示:-11-图 2-5 5461AS 共阴四位数码管接口信号说明控制器接口说明( HD44780及兼容芯片)1、 基本操作时序a读状态:输入: Rs=L, Rw=H, E=

18、H输出: D0 D7=状态字b写指令:输入: Rs=L, Rw=L, D0 D7=指令码输出:无E=高脉冲C读数据:输入: Rs=H, Rw=L, E=H输出: D0 D7=数据d写数据:输入: Rs=H, Rw=L, D0D7=数据输出:无E=高脉冲状态字说明如表 2-2所示:STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0表 2-2 状态字说明( a)STA0-6当前数据地址指针的数值STA7读写操作使能1:禁止0:允许表 2-3 状态字说明( b)注:对控制器进行读写操作之前,都必须进行读写检测,确保STA7为 0RAM地址映射图控制器内部

19、带有 80*8 位的 RAM缓冲区,对应关系如下图2-5 所示:表 2-4 RAM 地址映射图 LCD16字 *2 行0000000000000000120123456789ABCDEF 07444444444444444456-12-0123456789ABCDEF07显示模式设置如表2-5 所示:指令码功能00111000设置 16*2 显示,5*7 点阵,8 位数据接口表 2-5 显示模式设置显示开关及光标设置如表 2-6 所示:指令码功能00001DCBD=1 开显示; D=0 关显示C=1 显示光标; C=0 不显示光标B=1 光标闪烁; B=0 光标不显示000001NSN=1 当

20、读或写一个字符后地址指针加一,且光标加一N=0 当读或写一个字后地址指针减一,且光标减一S=1 当写一个字符后,整屏显示左移(N=1) 或右移( N=0), 以得到光标不移动而屏幕移动的效果S=0 当写一个字符,整屏显示不移动表 2-4显示开关及光标设置数据控制控制器内部没有一个数据地址指针,用户可通过它们来访问内部的全部80 字节RAM。-13-第三章出租车计价系统的软件设计3.1 单片机资源使用在本次设计中像电路键盘用到了P1 口,其中到口作为键盘的输入,直流电机电路的控制线用了 P2 口线,、分别为 led 信号控制脚。显示电路用到了 P0 和 P2 口, P0 口为液晶的数据口。3.2

21、 中断子函数对于中断程序,只要定时器计数满就会产生中断 50ms中断一次,共计 20 次,秒钟加 1,秒钟计满再分钟加,当分钟加到 99 时全部清零。以下是中断子函数的流程图如图 3-1 所示:开始否是否产生中断?是Count+否Count=20?是Second+count=0否Second=60?是Minite+second=0否Minite=99 ?是Minite=0结束图 3-1 中断子程序流程图-14-3.3 判键子函数对于独立式键盘判键, 首先看有键按下不, 如果有键按下则延时一会儿, 在判断是否真的有键按下, 如果确实有键按下, 在判键释放,最后执行键功能程序。判键子函数的流程框图

22、如图 3-2 所示:图 3-2 判键子程序流程图3.4 显示子程序1602 液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写 40 个字符,在写显示程序的时候,我们先写命令,再设定字符显示,最后写数据, 在每写一次命令或数据都需要判断液晶是否忙。液晶显示程序流程图如图 3-3 所示:-15-开始开始定时器初始化LCD化液初晶初始始判断按键函数1否LCD写命令是V=?V=1LCD判忙V=2V=3Value1+10Value2+5否Value3+5P0.7=0?数据处理是否写完成了?显示函数是否设置字符Jump_in=1?位置是液晶清屏否写数据判断按键函数判忙是图 3-3V

23、1=?显示子程序流程图V1=1V1=2V1=3否运行P0.7=0?停止暂停数据处理是否写完成了?显示函数是否结束清零函数图 3-3Jump out=1?液晶显示程序流程图是液晶清屏结束3.5 总程序流程框图-16-图 3-4 整体程序流程图-17-第四章 proteus的简介4.1 Proteus 介绍Proteus 软件是来自英国Labcenterelectronics公司的 EDA工具软件,它组合了高级原理布图、混合模式SPICE仿真 ,PCB设计以及自动布线来实现一个完整的电子设计系统。 此系统受益于 15 年来的持续开发 , 被电子世界 在其对PCB设计系统的比较文章中评为最好产品“T

24、he Route to PCBCAD”。 Proteus产品系列也包含了我们革命性的VSM技术 , 用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块 : 个易用而又功能强大的ISIS 原理布图工具; PROSPICE混合模型 SPICE仿真; ARESPCB设计。 PROSPICE仿真器的一个扩展PROTEUSVSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至 LCD显示 CPU模型。支持许多通用的微

25、控制器 , 如 PIC,AVR,HC11以及 8051。最新支持 ARM。交互的装置模型包括: LED和 LCD显示, RS232终端,通用键盘, I2C,SPI 器件。强大的调试工具,包括寄存器和存储器,断点和单步模式。IAR C-SPY 和 Keil uVision2等开发工具的源层调试。 应用特殊模型的DLL界面 - 提供有关元件库的全部文件。第五章设计体会与小结出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能并能够通过LCD显示车费数目。 本款出租车计价器包括单-18-价输出、单价调整、显示当前的系统时间等功能。另外,多功能出租车计价器还具有性能可靠

26、、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。一个月来,经过自己努力, 基本上完成了设计要求的内容, 在系统可行性分析、原理图设计等方面都作了许多实际工作, 取得了一些成绩, 同时也遇到了一些问题,存在一些不足。 经过这一个月的学习, 我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步, 自己从中受益匪浅。 这次设计很好的把以前学到的理论知识应用于实践, 使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中, 也只有通过不断的实践才能对理论知识的理解。通过这次设计不仅学会了如何去查找相关资料,

27、更重要的是通过查找资料和翻阅书籍学到了不少知识, 扩大了知识面, 提高了知识水平。 经过单元设计和系统设计巩固了以前所学的专业知识, 自己真正认识到理论联系实际的重要性, 为以后的学习和工作提供了很多有价值的经验。 通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以前的学习过程中是不曾学到的。这次设计是我认真认识到完整、 严谨、科学分析问题、 解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺, 需要在以后的学习中进一步提高

28、。参考文献1. 李广弟 , 朱月秀 , 冷祖祁 . 单片机基础 M. 第 3 版. 北京航空航天大学出版社,20072. 李华 .MCS-51 系列单片机实用接口技术 M. 北京航空航天大学出版社 ,19963. 李群芳,肖看 . 单片机原理接口与应用 . 北京:清华大学出版社, 20054. 朱承高 . 电工及电子技术手册 M. 北京:高等教育出版社, 1990-19-5. 高峰 . 单片微型应用系统设计及实用技术 . 北京:机械工业出版社, 20046. 胡辉,单片机原理及应用设计 21 世纪高等院校规划教材 M, 水利水电出版社,7. 刘守义,单片机应用技术 M ,西安:西安电子科技大学

29、出版社, 1996附录一源程序#include<>#define uchar unsigned char#define uintunsigned intuchar qianwei,baiwei,shiwei,gewei;/ 显示数据各个位置数字的临时变量-20-charled_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 段码表示 0-9uint tt,aa,round,distance,cost,price,wait; / 定义路程、价钱、等待时间及一些全局的变量等;uchar dengdai,s

30、econd,minute;unsigned long wait_ten_ms;/ 记录等待时间多少个10ms/ 按键的定义,所有按键按下去为低电平sbit key0=P10;/ 清零sbit key1=P11;/ 切换路程与等待时间sbit key2=P12;/ 单程还是往返设置sbit key3=P13;/ 暂停按钮sbit led1=P16;/双程sbit led2=P17;/暂停sbit led3=P14;/堵车sbit led4=P15;/ 切换bitkey1_flag;/ 由于按键会自动复位,这个为标志位bitkey2_flag;bitkey3_flag;bitflag;/ 初始化函

31、数void initial_data(void)distance=0;cost=0;second=0;minute=0;wait_ten_ms=0;key1_flag=1;/key2_flag=0;/ 单程 or 往返 ,接指示灯;key3_flag=1;/ 暂停,接指示灯;flag=0;round=0;dengdai=0;led1=1;/ 双程指示led2=1;/ 暂停指示led3=1;/ 堵车指示led4=1;/等待时间切换标志/ 暂停程序voidzanting(void)-21-if(key3_flag)EX0=0;/ 关闭中断和定时器TR0=0;elseEX0=1;TR0=1;key3

32、_flag=!key3_flag;/ 计算数据处理 void jisuan()distance=round/60+wait_ten_ms/3000;/ 车轮转 60 圈为 100m,等待时间 30s 为 100mif(distance<=30)cost=50;price=20;/ 单程价格if(key2_flag) price=15;/ 往返价格if(distance>30)cost=price*(distance-30)/10+50;wait=minute*100+second;/ 显示的辅助程序,分离一个数的各个数字void fenli(uint temp)/ 数据的分离处理if(temp>9999) temp=9999;qianwei=temp/1000;baiwei=temp/100%10;shiwei=temp%100/10;gewei=temp%10;/ 延时约 1ms,数码管显示时使用 void diplay_delay(void)uint i; for(i=0;i<290;i+);-22-/ 显示程序; void led_show()/- 显示路程或者等待时间 -if(key1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论