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

上传人:仙人指路1688 文档编号:3041708 上传时间:2023-03-09 格式:DOC 页数:20 大小:380.50KB
返回 下载 相关 举报
出租车计价器设计实习报告.doc_第1页
第1页 / 共20页
出租车计价器设计实习报告.doc_第2页
第2页 / 共20页
出租车计价器设计实习报告.doc_第3页
第3页 / 共20页
出租车计价器设计实习报告.doc_第4页
第4页 / 共20页
出租车计价器设计实习报告.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

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

1、电子装置设计实习报告题 目:出租车计价器设计专业班级:电气工程及其自动化0906班姓 名:高阳学 号:090301175目 录第一章 设计要求11.1 基本功能11. 2 性能11.3 扩展功能1第二章 系统的组成及工作原理12.1 系统的硬件构成及功能22.2 AT89S51单片机及其引脚说明2第三章 硬件电路方案设计53.1方案比较与确定53.2 里程计算、计价单元的设计63.3 显示单元电路设计83.4 键盘显示模块设计9第四章 系统的软件设计114.1 系统主程序设计114.2 定时中断服务程序134.3 显示服务程序134.4 键盘服务程序14第五章 系统调试与测试结果分析155.1

2、 使用的仪器仪表和工具155.2 调试的方法15第六章 结论16第一章 设计要求1.1 基本功能(1)显示:可以显示里程、金额、等待时间、速度。(2)计费功能:起步公里数为3公里,价格为8元;若实际运行大于3公里,按单程价格为2元/公里,往返则价格为1.5元/公里。(3)按键功能:单程/往返分别由“单程” 按键和“往返” 按键设定;按“暂停” 键,计价器可暂停计价;按“清除” 键,计价器能将记录数据(里程、等待时间与金额等)自动清0;按“查询”键,能自动显示总等待时间;按“返回”键,仍然显示里程和金额。1.2 性能:公里数检测误差不超过10。1.3 扩展功能停车计费功能:用单片机控制电机转动,

3、并用光电传感器检测转盘转动模拟车速,车速与转盘转速成正比。车速5公里/小时的时间累积为总等待时间,每5分钟等待时间相当于里程数增加1公里。第二章 系统的组成及工作原理本系统的硬件设计主要包括单片机AT89S51、数据显示部件、模拟行驶路程单元、及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。2.1 系统的硬件构成及功能利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格选择、时间显示控制等功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。如图2.1 单片机控制方案图。图2.1 单片机控制方案图2

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

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

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

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

8、3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-2 P3口特殊功能所示。P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。表2-2 P3口特殊功能P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)PSEN/ 程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次

9、PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/信号。EA/VPP 外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程电压VPP。第三章 硬件电路方案设计3.1方案比较与确定出租车计价系统在模拟车轮转动方面上可以采用两种方案:一种是用555芯片产生固定频率的脉冲模拟。这种方案产生脉冲频率很高,但是调节比较麻烦。第二种是采用槽型光耦的通与断来模拟转动,使用电机转盘对光耦的切割来产生脉冲。这种方案产生脉冲频率不高,但是转速可以轻松调节。经过

10、仔细考虑和权衡,由于两种方案均有其优点,决定同时使用两种方案,两个模拟源可以根据需要任意使用。在显示问题上,可以使用7279芯片控制显示,也可以通过动态扫描实现显示功能。考虑到动态扫描使用的硬件较少,本着简捷易行的原则,采用了动态扫描的方案。3.2 里程计算、计价单元的设计里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,在该系统中用两种脉冲发生器进行模拟,送到单片机,经处理计算,送给显示单元的。其原理如图3.1 所示。图3.1 模拟测距示意图555电路来产生一个脉冲来模拟霍尔传感器输出的里程脉冲,选择P1.0口作为信号的输入端,内部采用外部中断0,555脉冲产生电路输出一个脉冲信号

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

12、0,光偶电路输出一个脉冲信号直接加到外部中断0上,引起单片机的中断,对脉冲计数,通过计算将脉冲增加体现在金额和里程上。具体电路如图3.3所示。图3.3 H92B4光偶电路3.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个

13、数码管,这样就可以进行3-8译码控制8个数码管的显示。显示模块电路图见图3.4各个数码管显示内容示意图见图3.5图3.4显示单元电路图3.5 数码管显示内容示意图(上下复用)3.4 键盘显示模块设计键盘采用4*4矩阵按键,接在AT89S51的P3口,当有键按下时,相对应的接口被置0。矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。如图3.6所示,行线接P3.0P3.3,列线接P3.4P3.7。图3.6 矩阵键盘电路按键S1:单程按键。按下该键,里程随脉冲数成正比累加,在里程大于3公里后,金额数按单程价格为2元/公

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

15、程序设计在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。主程序流程图如图4.1 所示。当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送

16、来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。开始初始化键盘扫描程序是否有键按扫描键值返回键6?显示里程、金额单程键1?单程函数调用往返键2?往返函数调用暂停键3?清除键4?查询键5?T0暂停计时显示全部清零显示等待时间、速度图4.1 程序流程图4.2 定时中断服务程序在定时中断服务程序中,每1/40s 产生一次中断,当产生40 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。其程序流程如图4.2 所示。中断开始中断初始化是否到40次脉冲计数测量速度返回图4.2 定时中断服务程序4.3

17、显示服务程序数码管在一般情况下显示里程数,价格两项数据,当按下键时则跳转显示等待时间和车速两项数据。当按下键时则返回显示里程数,价格两项数据。程序流程图如图4.3:开始接收里程数,价格显示数据Dispflag是否为真转为为字型码输出显示接收等待时间车速显示数据短延时返回图4.3 显示服务程序4.4 键盘服务程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。如果按键S1被按下,则调用第一个子程序:begin_signal标志置1,将s_or_d标志置0;表示单程开始。 如果按键S2被按下,则调用第一个子程序:be

18、gin_signal标志置1,将s_or_d标志置1; 表示往返开始。若按键S3被按下,则调用第一个子程序:begin_signal标志置0; 表示暂停。如果按键S4被按下,则调用第一个子程序:pulse_counter标志置0,将t置0; 表示将显示数据清空。如果按下S5,则调用第一个子程序:dispflag标志置1; 表示进入查询界面。如果按下S6,则调用第一个子程序:dispflag标志置0; 表示退出查询界面。第五章 系统调试与测试结果分析根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。测试包括里程计价测试、掉电存储测试测试。5.1 使用的仪器仪表和工具

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

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

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

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

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号