基于单片机的出租车计费器

上传人:第*** 文档编号:55660003 上传时间:2018-10-03 格式:PDF 页数:28 大小:686.36KB
返回 下载 相关 举报
基于单片机的出租车计费器_第1页
第1页 / 共28页
基于单片机的出租车计费器_第2页
第2页 / 共28页
基于单片机的出租车计费器_第3页
第3页 / 共28页
基于单片机的出租车计费器_第4页
第4页 / 共28页
基于单片机的出租车计费器_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《基于单片机的出租车计费器》由会员分享,可在线阅读,更多相关《基于单片机的出租车计费器(28页珍藏版)》请在金锄头文库上搜索。

1、微型计算机接口实验(单片机)课程设计报告基于单片机出租车计费器的设计学号:1315211032姓名:万林沂班级:13 级电子一班1摘 要.2 1课程设计任务书.3 1.1课程设计任务.3 1.2课程设计方案.3 2 硬件电路设计4 2.1振荡电路.4 2.2复位电路设计.5 2.3键盘接口电路.5 2.4显示电路.6 2.4.11602LCD 的基本参数及引脚功能. 6 2.4.2显示模块采用 1602 液晶显示接口电路7 2.5单片机各引脚功能说明8 3软件设计.10 3.1单片机资源使用.10 3.2单片机软件模块设计.10 3.2.1中断子函数.10 3.2.2判键子函数.11 3.2.

2、3显示子程序.11 3.3总程序流程框图.12 4测试结果.14 4.1开机界面.14 4.2切换界面.14 4.3路程清零.16 总结.17 参考文献.18 附录 1元件件清单18 附录 2原理图182摘 要本设计的是一个基于单片机 STC89C52 的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。时钟电路采用 12MHz 的晶振,作为系统的时钟源,具有较高的准确性。在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。通过按

3、键模拟出租车的运行, 暂停, 停止。 在1602液晶上可以显示运行的时间, 运行时暂停的时间,通过计算可以得出总共的费用和总的路程。在这里主要是以 STC89C52单片机为核心控制器,P1口接1602液晶显示模块。关键字STC89C52;1602液晶;出租车计费器31课程设计任务书1.1课程设计任务基于单片机出租车模拟计价器,采用 at24c02 存储芯片+LCD1602 液晶显示等设计而成。用 24c02 来存储单价,通过按键来模拟增加里程,模拟出租车向前开。通过液晶显示器显示当前的行驶状态、行驶公里、行驶时间时间(时、分、秒) 、费用、单价、等信息。可以设置每公里单价,以及夜间单价和白天单

4、价的不同模式,设置后掉电无需重新设置,设置有等待/继续计时模式。计费分行走的里程*单价+等待的时间*价格。1.2课程设计方案方案一:采用数字电子技术,利用 555 定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图 1.1 所示:图 1.1 方案一方案二:采用 EDA 技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块, 控制模块 计量模块、 译码和动态扫描显示模块, 其系统框图如图 1.2所示:时 钟 脉 冲等待信号公里脉冲计费脉冲计时

5、 计费 译码数 码 管 显 示时钟信号等待信号公里脉冲计费/复位分频器控制器计费计时计程译码显示4图 1.2 方案二方案三:采用 MCU 技术,通过单片机作为主控器,利用 1602 字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,一下是方案三的系统流程图,本方案主要是必须对于数字电路比较熟悉,成本又高。方案图如图 1.3 所示:图 1.3 方案三方案总结:通过各个方案的比较本次采用方案三,不但控制简单,而且成本低廉,设计电路简单。2 硬件电路设计2.1振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚 XTAL1,其输出端为引脚 XTAL2。通过这两个引脚在芯

6、片外并接石英晶体振荡器和两只电容( 电 容 和 一 般 取 20pF )。 这 样 就 构 成 一 个 稳 定 的 自 激 振 荡 器 。振荡电路脉冲经过二分频后作为系统的时钟信号, 再在二分频的基础上三分频产生 ALE 信号,此时得到的信号时机器周期信号。振荡电路如图 2.1 所示:STC89C521602 液晶LED 灯电源电路按键电路复位电路5图 2.1 振荡电路2.2复位电路设计复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的 RESET 键,电源 VCC 经电阻 R1、R2 分压,在 RESET 端产生一个复位高电平。上电复

7、位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间 RESET 引脚获得高电平,随着电容的充电,RERST 引脚的高电平将逐渐下降。RERST 引脚的高电平只要能保持足够的时间(2 个机器周期) ,单片机就可以进行复位操作。按键复位电路图如图 2.2 所示。图 2.2 复位电路2.3键盘接口电路(1)独立式键盘:独立式键盘中,每个按键占用一根 I/O 口线,每个按键电路相对独立。I/O 口通过按键与地相连,I/O 口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。I/O 口内部有上拉电阻时,外部可不接上拉电阻。键盘接口电路如图 2.3 所示:6图 2.

8、3 键盘接口电路2.4显示电路 2.4.11602LCD 的基本参数及引脚功能 1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图 10 所示。图 10 LM016L 结构图LCD1602 主要技术参数:容量:162 个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明:1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表 1 所示:表 1 引脚接口说明表编号符号引脚说明编

9、号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据73VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第 1 脚:VSS 为地电源。第 2 脚:VDD 接 5V 正电源。第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W 为读写信号线,高电平时进行读

10、操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。第 15 脚:背光源正极。第 16 脚:背光源负极。2.4.2显示模块采用 1602 液晶显示接口电路8图 2.4 显示电路2.2.5 5单片机各引脚功能说明单片机各引脚功能说明下面对 STC89C52 各引脚的功能进行较为详细的介绍:1)电源引脚 Vcc 和 VssVcc(40

11、脚):电源端为+5VVss(20 脚):接地端。2)时钟电路引脚 XTAL1 和 XTAL2XTAL2(18 脚):接外部晶体和微调电容的一端。在单片机内部它是振荡电路反向放大器的输出端, 振荡电路的频率就是晶体固有频率。 若需采用外部时针电路时,该引脚输入外时钟脉冲。要检查 89C52 的振荡电路是否正常工作,可用示波器查看 XTAL2 端是否有脉冲信号输出。XTAL1(19 脚):接外部晶体和微调电容的另一端。在片内,它是振荡电路反向放大器的输入端。在采用外部时钟时,该引脚必须接地。3)控制信号脚 RSTALEPSEN 和 EA。RST(9 脚):RST 是复位信号输入端,高电平有效。在此

12、输入端保持两个机器周期(24 个时钟振荡周期)的高电平时,就可以完成复位操作。ALE/PROG(30 引脚) :地址锁存允许信号端。当 STC89C52 上电正常工作后,ALE引脚不断向外输出正脉冲信号。此频率为振荡器频率 fosc 的 1/6,当 CPU 访问片外存储器时,ALE 输出信号作为锁存低 8 位地址的控制信号。在 CPU 访问片外数据存储时,每取值一次(一个机器周期)会丢失一个脉冲。平时不访问片外存储时,ALE 端也以 1/6 的振荡频率固定输出正脉冲,因而 ALE 信号可以用作对外输出时钟或定时信号。如果你想看一下 STC89C52 芯片的好坏,可用示波器查看9ALE 端是否有

13、脉冲信号输出,如有脉冲信号输出,则 STC89C52 基本上是好的。ALE 的负载驱动能力为 8 个 LS 型 TTL(低功耗高速 TTL) 。PSEN(29 脚) ;程序存储允许输出信号引脚,在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接 ERROM 的 OE 端。PSEN端有效,即允许读出 ERROM/ROM 中的指令码。CPU 在从外部 ERROM/ROM 取指令期间,每个周期 PSEN 两次有效。不过,在访问片外 RAM 时,要少产生两次 PSEN负脉冲信号。要检查一个 STC89C52 小系统上电后 CPU 能否正常到 ERROM/ROM 中读取指令码

14、,也可用于示波器看 PSEN 端有无脉冲输出。如有,说明基本上工作正常。EA/VPP(31 脚) :外部程序存储器地址允许输入端/固化编程电压输入端。当 EA引脚接高电平时,CPU 只访问片内 ERROM/ROM 并执行内部程序存储器中的指令。但在 PC(程序计数器)的值超过 OFFFH(对 8751/8051 为 4k)时,将自动转向执行片外存储器的程序。当出入信号 EA 引脚接低电平(接地)时,CPU 只访问外部 ERROM/ROM 并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无芯片内的 ROM 的 8031 或 8032,须外扩 ERROM,此时必须将 EA 引脚接地。

15、如果使用有片内 ROM 的 STC89C52,外扩 ERROM 也是可以的,但也要使 EA 接地。4)I/O(输入/输出端口,P0,P1,P2,P3)P0 口:P0 口是一个漏极开路的 8 位准双向 I/O 端口。P1 口:8 位准双向 I/O 端口。P2 口:即可以做地址总线输出地址高 8 位,也可以做普通 I/O 用, (此时为准双向口) 。P3 口:双功能口,即可以做普通 I/O 口用(此时为准向口,也可以按每位定义实现第二功能操作) 。见表 1。表 1P3 口的第二功能表引脚第二功能P3.0RXD (串行输入口) P3.1TXD (串行输出口) P3.2INT0(外部中断 0) P3.

16、3INT1(外部中断 1)P3.4T0(定时器 0 外部中断) P3.5T1(定时器 1 外部中断) P3.6WR(外部存储器写选通) P3.7RD(外部存储器读写通)103软件设计3.1单片机资源使用在本次设计中像电路键盘用到了 P2 口,其中 P2.0 到 P2.5 口作为键盘的输入,显示电路用到了 P1 和 P3 口,P1 口为液晶的数据口。3.2单片机软件模块设计3.2.1中断子函数对于中断程序,只要定时器计数满就会产生中断 50ms 中断一次,共计 20次,秒钟加 1,秒钟计满再分钟加,当分钟加到 99 时全部清零。以下是中断子函数的流程图如图 3.1 所示:图 3.1 中断子程序流程图Count+开 始Second+ count=0是 否 产 生 中 断 ?Count=20?Second=60?Minite+ second=0Minite=99?Minite=0结 束否否否否是是是是113.2.2判键子函数对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,在判键释放,最后执行键功能程序。判键子函数的流

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号