出租车计价器设计实习报告.pdf

上传人:啊飒飒 文档编号:11691745 上传时间:2021-08-31 格式:PDF 页数:19 大小:784.89KB
返回 下载 相关 举报
出租车计价器设计实习报告.pdf_第1页
第1页 / 共19页
出租车计价器设计实习报告.pdf_第2页
第2页 / 共19页
出租车计价器设计实习报告.pdf_第3页
第3页 / 共19页
出租车计价器设计实习报告.pdf_第4页
第4页 / 共19页
出租车计价器设计实习报告.pdf_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《出租车计价器设计实习报告.pdf》由会员分享,可在线阅读,更多相关《出租车计价器设计实习报告.pdf(19页珍藏版)》请在三一文库上搜索。

1、电子装置设计实习报告电子装置设计实习报告 题题目:出租车计价器设计目:出租车计价器设计 目目 录录 第一章第一章设计要求设计要求. . .1 1 1.1基本功能 . 1 1. 2性能 . 1 1.3扩展功能 . 1 第二章第二章系统的组成及工作原理系统的组成及工作原理 . .1 1 2.1系统的硬件构成及功能 . 2 2.2 AT89S51 单片机及其引脚说明 . 2 第三章第三章硬件电路方案设计硬件电路方案设计. .5 5 3.1方案比较与确定. 5 3.2里程计算、计价单元的设计 . 6 3.3显示单元电路设计 . 8 3.4键盘显示模块设计 . 9 第四章第四章系统的软件设计系统的软件设

2、计 . 11 . 11 4.1系统主程序设计 . 11 4.2定时中断服务程序 . 13 4.3显示服务程序 . 13 4.4键盘服务程序 . 14 第五章第五章系统调试与测试结果分析系统调试与测试结果分析. 15. 15 5.1使用的仪器仪表和工具 . 15 5.2调试的方法 . 15 第六章第六章结论结论 . 16 . 16 第一章第一章设计要求设计要求 1.11.1 基本功能基本功能 (1)显示:可以显示里程、金额、等待时间、速度。 (2)计费功能:起步公里数为 3 公里,价格为 8 元;若实际运行大于 3 公里,按 单程价格为 2 元/公里,往返则价格为 1.5 元/公里。 (3)按键

3、功能:单程/往返分别由“单程” 按键和“往返” 按键设定;按“暂 停” 键,计价器可暂停计价;按“清除” 键,计价器能将记录数据(里程、等 待时间与金额等)自动清 0;按“查询”键,能自动显示总等待时间;按“返回” 键,仍然显示里程和金额。 1.21.2 性能:性能:公里数检测误差不超过10。 1.31.3 扩展功能扩展功能 停车计费功能:用单片机控制电机转动,并用光电传感器检测转盘转动模拟 车速,车速与转盘转速成正比。车速5 公里/小时的时间累积为总等待时间,每 5 分钟等待时间相当于里程数增加 1 公里。 第二章第二章系统的组成及工作原理系统的组成及工作原理 本系统的硬件设计主要包括单片机

4、AT89S51、数据显示部件、模拟行驶路程单 元、及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功 能的出租车计价器设计。 1 2.12.1系统的硬件构成及功能系统的硬件构成及功能 利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和 价格选择、时间显示控制等功能。不但能实现所要求的功能而且能在很大的程度 上扩展功能,而且还可以方便的对系统进行升级。如图2.1 单片机控制方案图。 图 2.1单片机控制方案图 2.2 AT89S512.2 AT89S51 单片机及其引脚说明单片机及其引脚说明 AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单

5、片机,片内含4KB 的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性 存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编 程(ISP)也可用传统方法进行编程及通用 8位微处理器于单片芯片中,具有高性 价比。 2 AT89S51 是一个有 40 个引脚的芯片,引脚配置如图 2.2 AT89S51 引脚配置所 示。 图 2.2 AT89S51 引脚配置 AT89S51 芯片的 40 个引脚功能为: VCC电源电压。 GND接地。 RST复位输入。 当 RST 变为高电平并保持 2 个机器周期时,将使单片机复位。WDT 溢出将使该 引脚输

6、出高电平,设置 SFR AUXR 的 DISRTO 位(地址 8EH)可打开或关闭该功能。 DISKRTO 位缺省为 RESET 输出高电平打开状态。 XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2来自反向振荡放大器的输出。 3 P0 口一组 8 位漏极开路型双向 I/O 口。也即地址/数据总线复用口。作为输 出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端 用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位) 和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收指 令字节,而在程序校验时

7、,输出指令字节,校验时,要求外接上拉电阻。 P1 口一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口 拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个 引脚被外部信号拉低时会输出一个电流( IIL) 。Flash 编程和程序校验期间,P1 接收低 8 位地址。P1 口部分端口引脚及功能如表 2-1 P1 口特殊功能所示。 表 2-1 P1 口特殊功能 P1 口引脚 P1.5 P1.6 P1.7 特殊功能 MOSI(用于 ISP 编程) MOSI(用于 ISP 编

8、程) SCK(用于 ISP 编程) P2 口一个带内部上拉电阻的 8 位双向 I/O 口。P1 的输出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口 拉到高电平,此时可作输入口。作输入口使用时,某个引脚被外部信号拉低时会 输出一个电流(IIL) 。在访问外部程序存储器或 16 位地址的外部数据存储器时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器时,P2 口线上的内 容在整个访问期间不改变。Flash 编程和程序校验期间,P2 亦接收低 8 位地址。 P3 口一个带内部上拉电阻的 8 位双向 I/O 口。P3 的输

9、出缓冲级可驱动(吸 收或输出电流)4 个 TTL 逻辑门电路。对P3 口写“1”时,它们被内部的上拉电阻 4 把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的P3 口将用上拉电 阻输出电流(IIL) 。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二 功能,如表 2-2 P3 口特殊功能所示。P3 口还接收一些用于 Flash 闪速存储器编 程和程序校验期间的控制信号。 表 2-2 P3 口特殊功能 P3 口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 特殊功能 RXD(串行输入口) TXD(串行输出口) (外部中断 0) (外部中

10、断 1) T0(定时器 0 外部输入) T1(定时器 1 外部输入) (外部数据存储器写选通) (外部数据存储器读选通) PSEN/程序储存允许输出是外部程序存储器的读先通信号,当AT89S51 由外 部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉 冲。当访问外部数据存储器,没有两次有效的 PSEN/信号。 EA/VPP外部访问允许。欲使 CPU 仅访问外部程序存储器,EA 端必须保持低 电平,需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。Flash 存储器编程时,该引脚加上+12V 的编程电压 VPP。 第三章第三章硬件电路方案设计硬件

11、电路方案设计 3.13.1方案比较与确定方案比较与确定 出租车计价系统在模拟车轮转动方面上可以采用两种方案: 一种是用 555 芯片 5 产生固定频率的脉冲模拟。这种方案产生脉冲频率很高,但是调节比较麻烦。第 二种是采用槽型光耦的通与断来模拟转动,使用电机转盘对光耦的切割来产生脉 冲。这种方案产生脉冲频率不高,但是转速可以轻松调节。经过仔细考虑和权衡, 由于两种方案均有其优点,决定同时使用两种方案,两个模拟源可以根据需要任 意使用。 在显示问题上,可以使用 7279 芯片控制显示,也可以通过动态扫描实现显示 功能。考虑到动态扫描使用的硬件较少,本着简捷易行的原则,采用了动态扫描 的方案。 3.

12、23.2里程计算、计价单元的设计里程计算、计价单元的设计 里程计算是通过安装在车轮上的霍尔传感器 A44E检测到的信号,在该系统中 用两种脉冲发生器进行模拟,送到单片机,经处理计算,送给显示单元的。其原理 如图3.1 所示。 图3.1模拟测距示意图 555电路来产生一个脉冲来模拟霍尔传感器输出的里程脉冲,选择P1.0口作为 6 信号的输入端,内部采用外部中断0,555脉冲产生电路输出一个脉冲信号直接加 到IO口P1.0上(产生的频率F=1/T=1.414/(R1+2R2)C1),由单片机的内部算法对 脉冲计数,通过计算将脉冲增加体现在金额和里程上。具体电路如图3.2所示。 图 3.2 555

13、脉冲产生电路图 光偶电路是以光为媒介传输电信号的一种光一电转换器件,是另一种模拟将 出租车行驶时车轮所转的圈数转换成脉冲信号送入数据处理电路。 H92B4 是光偶电 路的基本元件,它由发光源和受光器两部分组成,发光源为发光二极管,受光器 为光敏三极管。当发光源与受光器之间存在光线阻挡时,输出端由高电平变为低 电平,恢复光通路又变为高电平,就这样形成一个个的高低电平脉冲。选择P3.4. 口作为信号的输入端,内部采用外部中断 0,光偶电路输出一个脉冲信号直接加到 外部中断 0 上,引起单片机的中断,对脉冲计数,通过计算将脉冲增加体现在金 额和里程上。具体电路如图 3.3 所示。 7 图 3.3 H

14、92B4 光偶电路 3.33.3 显示单元电路设计显示单元电路设计 由于设计要求有里程、金额、等待时间、速度显示输出,所以采用 8 位 LED 数码管的分屏显示。 显示电路由 8 数据锁存器 74HC573、译码器 74LS138、8 位 LED 数码管组成。 74HC573 用于连接 51 单片机和 LED 数码管,51 单片机的 P0.0P0.7 分别顺序对应 数码管的 AG 和 dp,当位 P0.0 为 1 时,对应 A 段点亮,以次类推。而 51 单片机 的 P2.0P2.2 接 74LS138 的 ABC 输入口,其 8 个输出口分别接到 8 个数码管,这 样就可以进行 3-8 译码

15、控制 8 个数码管的显示。 显示模块电路图见图 3.4 各个数码管显示内容示意图见图 3.5 8 图 3.4 显示单元电路 图 3.5 数码管显示内容示意图(上下复用) 3.43.4 键盘显示模块设计键盘显示模块设计 键盘采用 4*4 矩阵按键,接在 AT89S51 的 P3 口,当有键按下时,相对应的接 口被置 0。矩阵键盘又称为行列式键盘,它是用 4 条 I/O 线作为行线,4 条 I/O 线 9 作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。如图3.6 所示,行线接 P3.0P3.3,列线接 P3.4P3.7。 图 3.6 矩阵键盘电路 按键 S1:单程按键。按下该键,

16、里程随脉冲数成正比累加,在里程大于3 公里后, 金额数按单程价格为 2 元/公里进行累加。 按键 S2:往返按键。按下该键,里程随脉冲数成正比累加,在里程大于3 公里后, 金额数按单程价格为 1.5 元/公里进行累加。 按键 S3:暂停按键。到达目的地后,按“暂停” 键,计价器可暂停计价。 按键 S4:清除按键。按“清除” 键,计价器能将记录数据(里程、等待时间与价 格等)自动清 0。 按键 S5:查询按键。按“查询”键,能自动显示总等待时间。 按键 S6:返回按键。按下该键,回到显示里程数、金额状态。 10 第四章第四章系统的软件设计系统的软件设计 本系统的软件设计主要可分为主程序模块、定时

17、计数中断程序、里程计数中 断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大 模块。下面对各部分模块作介绍。 4.14.1系统主程序设计系统主程序设计 在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初 始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还 需要设置启动/清除标志寄存器、 里程寄存器和价格寄存器, 并对它们进行初始化。 然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等 不同的操作。主程序流程图如图4.1 所示。当按下S1时,就启动计价,将根据里 程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。

18、若已超过,则 根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于 价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地 的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金 额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化 过程。 11 开始 初始化 键盘扫描程序 是否有键按 扫描键值 单程键 1? 单程函数调用 往返键 2? 往返函数调用 暂停键 3? T0 暂停计时 清除键 4? 显示全部清零 查询键 5? 显示等待时间、速度 返回键 6? 显示里程、金额 图 4.1 程序流程图 12 4.24.2定时中断服务程

19、序定时中断服务程序 在定时中断服务程序中,每1/40s 产生一次中断,当产生40 次中断的时候, 也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。其 程序流程如图4.2 所示。 中断开始 中断初始化 脉冲计数 是否到 40 次 测量速度 返回 图4.2定时中断服务程序 4.34.3显示服务程序显示服务程序 数码管在一般情况下显示里程数,价格两项数据,当按下键时则跳转显示等 待时间和车速两项数据。当按下键时则返回显示里程数,价格两项数据。程序流 程图如图4.3: 13 开始 Dispflag 是否为真 接收等待时间 车速显示数据 接收里程数, 价格显示数据 转为为字型 码输出

20、显示 短延时 返回 图 4.3 显示服务程序 4.44.4键盘服务程序键盘服务程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环 主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。 如果按键 S1 被按下, 则调用第一个子程序: begin_signal 标志置 1, 将 s_or_d 标志置 0;表示单程开始。 14 如果按键S2被按下, 则调用第一个子程序: begin_signal标志置1, 将s_or_d 标志置 1; 表示往返开始。 若按键 S3 被按下, 则调用第一个子程序: begin_signal 标志置 0; 表示暂停。 如果按键 S4 被

21、按下,则调用第一个子程序:pulse_counter 标志置 0,将 t 置 0; 表示将显示数据清空。 如果按下 S5, 则调用第一个子程序: dispflag 标志置 1; 表示进入查询界面。 如果按下 S6, 则调用第一个子程序: dispflag 标志置 0; 表示退出查询界面。 第五章第五章系统调试与测试结果分析系统调试与测试结果分析 根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和 软硬件联调。测试包括里程计价测试、掉电存储测试测试。 5.15.1使用的仪器仪表和工具使用的仪器仪表和工具 数字万用表DT9203电烙铁 单片机仿真器STC_ISP单片机实验板 双踪稳

22、压稳流电源DH1718E-5 数字示波器 TDS1002 5.25.2调试的方法调试的方法 根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和 软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进 行逐级测试。 15 确定方案后的焊接过程很顺利,3 天后就完成了大部分电路的焊接工作,进行 简单的程序测试后发现一个问题:由于要用到 555 芯片产生脉冲,预先设计的电 路中没有提供 5V 电源给 555 供电。我们想到外接一个 5V 的直流电源,发现这样 会使整个系统显示累赘而难以操作。 后来我们想到与单片机最小系统的 Vcc 和 555 芯片共用 5V 电源。于

23、是将 555 的电源和地接到了最小系统的 Vcc 和地。这样,只 要单片机一上电,555 便可以正常工作,操作起来非常方便和快捷。 在软件设计过程中遇到一个严重的问题就是系统的时序设计。我们发现程序 的键盘扫描程序和中断程序发生冲突。导致按键功能和显示功能不能同时出现。 后来经过排查发现,中断子程序设计的不合理,导致发生了中断嵌套。将中断子 程序的部分内容调整到主程序中调用子程序则这解决了这一问题。 第六章第六章结论结论 经过这些天有关于出租车计价器的课程设计, 使我对单片机的应用有了更深的 了解。在课程设计的过程中,还是碰到了许多的问题。比如,对于数码管动态扫 描显示和键盘的延时防抖的综合编

24、程不能较好地解决;对于代码的前后顺序及调 用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。通过几天的苦想和 反复调试,以及参考网上的程序,最终还是把问题解决了。 通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能 力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对 别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其 中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都 要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。在动手的过程中, 16 不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的 鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的 知识。通过本次课程设计,又使我学到了许多书本上无法学到的知识,也使也深该 体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩 固,同时也对单片机这一门课程产生了更大的兴趣。 在本次课程设计过程中, 我学会了在网络上查找有关本设计的各硬件的资源, 其中包括:AT89S51 单片机及其引脚说明、555 引脚图及其引脚功能等,为本次课 程设计提供了一定的资料。也为以后的进一步学习打下了坚实的基础。 17

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1