地铁计价系统说明书2.doc_第1页
地铁计价系统说明书2.doc_第2页
地铁计价系统说明书2.doc_第3页
地铁计价系统说明书2.doc_第4页
地铁计价系统说明书2.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术课程设计说明书 地铁计价系统 学 院: 电气与信息工程学院 学生姓名: 指导教师: 贾雅琼 职称/学位 副教授 专 业: 电子信息工程 班 级: 学 号: 完成时间: 2016年10月 湖南工学院单片机技术课程设计课题任务书学院:电气与信息工程学院 专业:电子信息工程指导教师贾雅琼学生姓名 课题名称地铁计价系统内容及任务一、设计任务设计一个单线地铁计价系统。二、设计内容1、地铁计价系统硬件部分(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块2、地铁计价系统软件部分(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块(4)、票价计算模块三、设计要求1、 上电或按键复位后显示器件自动显示0,进入准备阶段。2、 共计两条地铁线A与B,每条线上有9个站点,其中5号站点为两条地铁线公共站点,任何跨线乘坐必须经过5号站点换乘。3、 每3站计价2元,不足3站按2元计价。4、通过键盘选择乘坐起点和终点,确认及取消购买。5、在显示器件上显示起点及终点线路及编号,以及总价。主要参考资料1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6.4李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社,2003.01.5李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.教研室意见教研室主任:(签字)年 月 日摘 要伴随着城市交通道路的发展,城市人流量的不断增加造成的交通拥堵。地铁为人们出行提供了另一种便捷。然而时代的变化又给地铁提出了新的要求。从而产生了地铁计价仪器,地铁计价系统就是用于地铁运营收费的计价仪器,它能准确、公正的计算出乘客的费用。这次课程设计分模块进行,硬件主要分为六个模块:主控模块、键盘模块、显示模块、晶振电路、电源电路、复位电路。主控芯片为AT89S52 芯片,采用C语言设计程序,通过4个键盘按键分别达到确定、右移、增加、减少的目的,然后在8位共阳数码管上显示起点及终点线路及编号,以及总价。复位电路是单片机的初始化操作,除了正常的初始化外,当系统出现问题时,还可以通过复位电路重新开始。晶振电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。地铁计价系统是以单片机AT89S52为核心设计的一款地铁计价仪器,根据输入的地铁起点站点号码和终点站点号码计算出价格。使乘客上下班以及出行变得更加方便。关键词:计价仪器;地铁计价系统;AT89S52芯片目 录1 地铁计价系统任务、要求说明、总体方案及工作原理11.1 设计任务11.2 设计要求11.3 地铁计价系统总体方案介绍及工作原理说明1 1.3.1 设计思路1 1.3.2 工作原理12 地铁计价系统硬件系统的设计32.1 单片机AT89S5232.2 硬件系统电路4 2.2.1 数码管显示电路4 2.2.2 晶振电路5 2.2.3 键盘电路5 2.2.4 电源电路6 2.2.5 下载电路6 2.2.6 复位电路72.3 电路原理图72.4 实物图72.5 元器件清单73 地铁计价软件系统的设计93.1 单片机资源使用103.2 软件系统模块的程序流程框图113.3 程序清单134 地铁计价系统测试144.1 使用说明144.2 测试结果154.3 设计体会16结束语17参考文献19致谢19附录20附录A 电路原理图21附录B 实物图22附录C 元件清单23附录D 程序清单25IV1 地铁计价系统任务、要求说明、总体方案及工作原理1.1 设计任务设计一个单线地铁计价系统。1.2 设计要求(1)上电或按键复位后显示器件自动显示0,进入准备阶段。(2)共计两条地铁线A与B,每条线上有9个站点,其中5号站点为两条地铁线公共站点,任何跨线乘坐必须经过5号站点换乘。(3)每3站计价2元,不足3站按2元计价。(4)通过键盘选择乘坐起点和终点,确认及取消购买。(5)在显示器件上显示起点及终点线路及编号,以及总价。1.3 地铁计价系统总体方案介绍及工作原理说明1.3.1 设计思路 计价器主要由主控电路、复位电路、晶振电路、电源电路、独立键盘电路、数码管显示电路。地铁计价器的系统框图如图1所示: 图1 地铁计价系统的总体方案框图 这次课程设计采用C语言编写程序,用键盘输入线路及编号,从数码管上输出价格,实现地铁计价器的功能。1.3.2 工作原理地铁计价系统是根据乘客乘坐地铁的站点数的多少进行计价,并按照交叉站原理计算费用,结算一并从起点开始,终点结束显示费用。从起步价开始,当地铁行驶未满3站点时,均按起步价计算。共计4个键盘按键接到单片机P1.0-P1.3口线上,分别达到确定、右移、增加、减少的目的。其中1键是开始输入和确认,2键是输入的数码管右移,3键是当前指向的数码管数增加,4键是当前指向的数码管数减少,通过键盘输入乘坐起点和终点的站点号码后,按照要求计算出总价。并且在共阳数码管上显示起点及终点线路及编号,以及总价。 2 地体计价系统硬件系统的设计2.1 单片机AT89S52 AT89S52单片机是Atmel公司制造的,其片内ROM全部采用Flash 存储器,具有8KB ROM存储空间,可以工作在3V的超低电压环境中,并且与MCS-51系列单片机完全兼容,它具备ISP在线编程技术,可以实现在设计中对修改后程序擦除与烧入。设计采用的是双列直插式AT89S52单片机,并运用活扣锁紧座,方便对芯片进行拔插,以防止对芯片的机械损坏,方便设计使用。AT89S52单片机共40个引脚,4个I/O口线,每个口线都有8位,同时具有3个定时器/计数器,2个数据指针,串行通信线路形式是全双工形式。 除此之外,单片机还有两种节电模式。在空闲模式情况下,CPU是停止工作的,但是其内部模块仍然可以继续工作,如RAM、定时器/计数器、串口以及中断等都可以工作。在使用掉电保护情况下,单片机会把RAM的内容保存好,振荡器将会停止工作,这就意味着单片机会停止所有工作,要想重新开始工作就要等到下一个中断或者硬件复位信号到来。如图2为AT89S52单片机的引脚图。图2 AT89S52单片机的引脚图2.2 硬件系统电路2.2.1 数码管显示电路数码管显示模块主要由一个四位一体数码管、74HC573驱动芯片和8个470的电阻构成。本课设采用的数码管使用的是动态显示,所谓动态显示,就是依次向每位位数码管同时送出字形码和相应的位选,位与位之间利用延时程序进行延时,当延时程序非常短时,由于发光管的余辉和人眼视觉暂留作用,此时我们的人眼就分辨不出位与位之间有延时存在,此时就感觉各位数码管同时都在显示。动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。数码管显示电路如图3所示: 图3 数码管显示电路2.2.2 晶振电路晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。AT89S52单片机芯片内部设有一个由反向放大器构成的振荡器,XT1和XT2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在XT1和XT2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。时钟频率采用12MHZ,C3、C4的电容值取33pF,电容的大小起频率微测的作用。晶振电路如4图所示:图4 晶振电路图2.2.3 键盘电路 设计中使用一共用到四个按键,四个按键S4、S5、S6、S7分别接到单片机P1.0-P1.3口线上,各个按键之间互不干扰。第一个按键 S4是开始输入和确认,第二个按键S5是输入数码管光标右移,第三个按键S6是数码管显示的数增加,第四个按键S7是数码管显示的数减少。当没按键盘时,端口输入为高电平,当按下键盘时,端口输入为低电平。上拉电阻保证按键释放时,输入检测线上有稳定的高电平。键盘电路如图5所示: 图5 独立式键盘原理图2.2.4 电源电路 单片机的输入电压为直流+5V,必须接通+5V 的直流电源才能正常工作。为了获得+5V电源电压,采用12V变压器将220V电压降压成所需要的12V交流电压,通过整流、滤波、稳压、给系统提供稳定的直流电压+5V。整流桥选择2W10型号,承受电流的能力为2A,最大耐压能力为1000V。通过计算,滤波电容C3取标称值470F,C1取标称值2200F减少纹波系数电容C4取0.1F,稳压芯片选取LM7805,为了保护发光二极管不被烧坏,加上1K的保护电阻R1,才能输出稳定的+5V电压。电源电路如图6所示:图6 电源电路图2.2.5 下载电路这次万年历系统设计了一个下载口用于单片机系统的程序设计导入,也可作为补充电源使用,即与电脑USB接口相接或直接引入供电电源,因此可以实现程序的输入和供电。设计的下载电路由单片机下载器、下载电缆及接口电路组成。其中接口模块的1、4、5脚分别连接单片机的P1.5、P1.7、P1.6引脚,2脚悬空,3脚连接单片机的复位引脚,6、7、8、9脚接地,10脚接电源。下载接口电路如图7所示。图7 下载接口电路2.2.6 复位电路复位电路采用按键复位方式,当按下复位键时,单片机复位,恢复初始状态,各寄存器清零,各I/O端口为高阻态。当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。RST引脚是单片机复位信号的输入端,复位信号是低电平有效,其低电平持续时间大于最小脉冲宽度,使用其内部频率为12MHZ的晶振,则复位信号持续时间应超过2us才能完成复位操作。复位电路如图8所示。图8 复位电路2.3 电路原理图电路原理图见附录A。2.4 实物图实物图见附录B。2.5 元器件清单元器件清单见附录C。3 地铁计价软件系统的设计 使用C语言编写课题程序,软件系统包括监控模块,键盘模块和显示模块,同时给出各模块程序流程图。各模块行驶各自的功能,然而又紧密联系,共同组成了地铁计价系统的软件系统。3.1 单片机资源使用 P0处I/O端口:P0.0-P0.8的8个I/O端口用于连接6个数码管的段控端,起到点亮数码管上的LED灯的作用。 P1处I/O端口:P1.0-P1.3的4个I/0端口用于连接4个控制按键,起到输入信号的作用。 P2处I/O端口:P2.0-P2.8的8个I/O端口用于连接6个数码管的位控端,起到单位数码管的作用。3.2 软件系统模块的程序流程框图3.2.1监控模块程序流程图监控模块是软件系统的主体,实时监视按键的状态,判断按键是否被按下。程序的成功与它密切相关。如果监控模块出现错误的话,整个软件系统都进行不下去,不能实现需要实现的功能。设计中先初始化地铁计价系统,然后调用键扫描,通过键扫,判断是否有键按下。监控模块程序流程图如图9所示:开始系统初始化上电复位调键扫描程序 N有键按下? Y调键扫描程序返回图9 监控模块程序流程图3.2.2 键盘模块程序流程图在单片机应用中,人机交互对话最通用的方法就是通过键盘进行的。操作者通过键盘向系统发送各种指令或置入必要的数据信息。因此键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。键盘模块是程序的一个重要部分,判断有无按键按下,有则执行相应的键功能程序,没有的话就顺序执行主程序。当有键按下时,判断是哪个键被按下,然后再执行按键对应的功能。在显示过程中一直进行扫描,当有其它键按下,就执行相应按键的功能。键盘模块程序流程图如图10所示:图10 键盘模块程序流程图延时模块通过延时程序void delay_ms(unsigned char ms)进行延时,当需要延时时,就调用此函数。3.2.3 计算模块流程图当站点输入完成后,根据程序中通过设计要求编写的公式计算出总价。 计算模块流程图如图11所示:开始 起点和终点在同一线路? Y N总站点数为起点减5的绝对值与终点减5的绝对值之和总站点数为起点减终点的绝对值站点数是3的倍数? N总站点数除3取整加1再乘2 Y总站点数除3乘2总价格除十商送到第五位数码管,余数送到第六位返回图11 计算模块流程图3.2.4 数码管显示流程图 通过数码管显示程序能将程序的运行结果显示在数码管上。P2口为位控位,控制P2.0-P2.8的8个数码管的工作情况;P0口为段控位,控制被P2口选定的数码管的各段的工作情况。这次课程设计选用了数码管的动态显示。动态显示是利用人眼视觉暂留特性来实现显示的。事实上,数码管上任何时刻只有一个数码管有显示。由于各数码管轮流显示时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。为防止闪烁,延时的时间在0.5ms左右,不能太长,也不能太短。最后要进行消影处理,防止数码管显示不清。显示模块流程图如图12所示:开始数据采集和处理查询数码管显示表送段控码送位控码延时0.5ms消影处理返回图12 数码管显示流程框图3.3 程序清单程序清单见附录D。4 地铁计价系统测试4.1 使用说明 电路连接完毕无误后,接通电源。上电显示000000,按下复位键也显示0,进入准备阶段。按下第一次键 S4,数码管显示模块显示A1A100,并且第一个数码管闪烁,等待输入。按下键S5,闪烁的数码管右移,但右移至第四个数码管时,再次按下则会回到第一个数码管。按下键S6,显示站点的数码管的数增加1,或显示线路的数码管改变成显示另一条线路。按下键S7,显示站点的数码管的数减少1,或显示线路的数码管改变成显示另一条线路。当根据要求输入完乘坐的起点和终点的线路及编号后,再次按下键S4,数码管显示出总价。4.2 测试结果假设起点的线路及编号为A2,终点的线路及编号为b7,中间间隔5个站点,实际收费为4元。根据说明输入完乘坐的起点和终点的线路及编号后,再次按下键S4,数码管显示如图13所示:图13 地铁计价系统测量结果1假设起点的线路及编号为A3,终点的线路及编号为A8,中间间隔5个站点,实际收费为4元。根据说明输入完乘坐的起点和终点的线路及编号后,再次按下键 S4,数码管显示如图14所示:图14 地铁计价系统测量结果2假设起点的线路及编号为A3,终点的线路及编号为B8,中间间隔5个站点,实际收费为4元。根据说明输入完乘坐的起点和终点的线路及编号后,再次按下键S4,数码管显示如图15所示:图15 地铁计价系统测量结果3假设起点的线路及编号为A9,终点的线路及编号为b8,中间间隔7个站点,实际收费为6元。根据说明输入完乘坐的起点和终点的线路及编号后,再次按下键S4,数码管显示如图16所示:图16 地铁计价系统测量结果4观察多次的测量结果,可知显示的实验结果与设计的实际要求一致,可得出结论,地铁计价系统设计成功。4.3 设计体会通过对设计进行了研究背景及意义的分析,了解了研究的主要工作,论证了系统的基本方案并进行了方案选择,还给出了硬软件各模块的设计方案,得出了总体设计方案。这次的课程设计对我来说无疑是一次较好的动手锻炼机会,因此从一开始就抱着一种较认真的态度,无论是从了解万年历背景、意义及其实现原理,还是后来的程序设计,对我来说都是一种提高。在研究的过程中通过对硬件设计仿真,模块调试,最终设计出了系统硬件实物。对各模块编写了相应的程序软件并对其进行调试,分别得出各模块结果。把各模块软件组合成了地铁计价系统软件,下载到实物中,得出了最终结果。在设计过程中遇到了许多问题,比如说判断起点和终点是否在同一条线路上,又比如硬件电路的设计,但经过一次又一次的思考,一遍又一遍的查找资料,不断的向老师、同学学习请教,终于找到了解决的办法,这暴露出了知识的欠缺和经验的不足。总体来说,设计基本完成了设计任务结束语在这次设计中我学到了好多在课本上学习不到的东西,让我认识到理论知识的重要性觉得做课程设计的同时也是对课本知识的巩固和加强,平时看课本时,有些问题长弄不懂,在课程设计中有些问题就迎刃而解了。而且学到很多东西。掌握一些在课本上不能掌握的知识。在电路设计中,我觉得电路检查是非常重要的一步,从中我们可以学到很多东西,可以提高自己发现问题解决问题的能力,使自己的动手能力有一定的提高。在调试的过程中,产生的故障也很多。有的是一种原因引起的简单故障,有的是多种原因相互作用引起的复杂故障,很多的问题积累在一起,使得情况变得更为复杂。因此需要掌握故障的一般诊断方法,循序渐进,依次解开一个一个问题。故障诊断过程就是以故障现象出发,通过反复测试,做出分析判断,逐步找出故障的过程。对于一个复杂的系统来说,要在大量的元器件和线路中迅速、准确地找出故障是见很不容易的事。要通过对原理图的分析,把系统分成不同功能的电路模块,通过逐一测量找出故障模块,然后再对故障模块内部加以测量找出故障,查找故障,分析故障和排除故障,这样可以提高自己的分析问题和解决问题的能力。参考文献1 徐家喜.单片机原理与应用实验指导M.南京:南京大学出版社,20132 宋雪松.手把手教你学51单片机M.北京:清华大学出版社,20143 李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,20124 马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,20035 李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,20046 曹巧媛.单片机原理及应用M.北京:电子工业出版社,19977 张洪润,兰清华.单片机应用技术教程M.北京:清华大学出版社,1997 致 谢通过这次课程设计,我对单片机技术这门课有了更多的认识,本次课程设计让我有了很多的进步。对于本次课程设计的成功,首先我要感谢我的祖国,是祖国培养我、教育我,没有强大昌盛的而祖国,我们就没有这么好的学习环境和条件。希望祖国能够一天天日益强大。其次,我要感谢我的父母和老师,父母从小教育我,没有他们就没有我。老师花费很多时间跟我们讲解课程设计的要求和做法,让我们少走了许多歪路,十分感谢贾雅琼老师的帮助。最后我要感谢我的同学,没有他们在旁边帮助我,鼓励我,我也不可能坚持到最后。总而言之,感谢每一位关心、帮助我的人,他们今天对我的付出,就是我现在生活,将来工作的动力。附 录附录A 电路原理图附录B 实物图地铁计价系统直流稳压电源附录C 元件清单地铁计价系统元器件清单元件型号数量/个数码显像管HS410361K-322单片机AT89S521电阻1K1电阻4708电阻2001电阻10K1电容22pf1电容30pf2晶振器HC-49S1键盘6*6*4.3mm5锁存器74HC5731三极管90141直流稳压电源元器件清单元件型号数量/个12V变压器1电源芯片78051发光二极管1散热片16脚开关1电容0.01F2电解电容4700F1电解电容220F1桥式整荡器1K1电阻2K1插头 1排针4附录D 程序清单/*功 能:地铁AB线各有9站,2线在第5站换乘,通过按键选择起点和终点,然后 计算出票价,站点和价格显示在共阳数码管上日 期:2016-10-23程 序 名:地铁计价系统姓名: 班级:电子 指导老师:贾雅琼*/#include #include #include #define LEDPORT P0/LCD数据口 /共阳数字编码 unsigned char ca_table = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff;unsigned char disbuff6;/显示字符sbit K_S = P10;/设置键sbit K_M = P11;/位选键sbit K_Z = P12;/增加键sbit K_J = P13;/减小键sbit CC1 = P27;/数码管位选sbit CC2 = P26;sbit CC3 = P25;sbit CC4 = P24;sbit CC5 = P23;sbit CC6 = P22;sbit CC7 = P21;sbit CC8 = P20;/毫秒延时void delay_ms(unsigned char ms)unsigned char number,value;for(number=0;numberms;number+)value=148;while(value-);/显示函数void display(void)CC1 = 1;/显示第一位数码管LEDPORT = ca_tabledisbuff0;delay_ms(5);CC1 = 0;CC2 = 1;/第二位LEDPORT = ca_tabledisbuff1;delay_ms(5);CC2 = 0;CC3 = 1;/第三位LEDPORT = ca_tabledisbuff2;delay_ms(5);CC3 = 0;CC4 = 1;/第四位LEDPORT = ca_tabledisbuff3;delay_ms(5);CC4 = 0;CC7 = 1;/第七位LEDPORT = ca_tabledisbuff4;delay_ms(5);CC7 = 0;CC8 = 1; /第八位LEDPORT = ca_tabledisbuff5;delay_ms(5);CC8 = 0;void main(void)unsigned char wei = 0;/数码管位指针unsigned char cnt = 0;/计数值unsigned char num = 0;/起点和终点之间的站数unsigned char flag = 0;/运行标志unsigned char datbuff4;/选择结果P2 = 0X00;while(1)display();/显示if(K_S = 0)/设置键动作delay_ms(5);if(K_S = 0)/延时确认flag = 1;/设置标志,进入datbuff0 = 10;/Adatbuff1 = 1;/1datbuff2 = 10;/Adatbuff3 = 1;/1disbuff0 = datbuff0;/显示初始状态disbuff1 = datbuff1;disbuff2 = datbuff2;disbuff3 = datbuff3;disbuff4 = 0;disbuff5 = 0;while(K_S = 0)/等待按键释放display();while(flag = 1)/进入选择模式display();/显示cnt+;/计数值递增if(cnt = 20)/计数值达到20disbuffwei = 16;/当前选中的数码管消隐else if(cnt = 40)/计数值达到40disbuffwei = datbuffwei;/显示字符cnt = 0;/计数值清零if(K_S = 0)/设置键按下delay_ms(5);if(K_S = 0)/延时确认flag = 0;/清除标志,退出选择模式wei = 0;if(datbuff0 = datbuff2)/如果选择的是同一条线路num = (unsigned char)abs(datbuff1-datbuff3);/计算站数else/如果需要换乘num = (unsigned char)abs(datbuff1-5);/计算一条线路的站数num += (unsigned char)abs(datbuff3-5);/计算另一条线路的站数if(num%3)=0)/如果站数是3的倍数num = (num/3)*2;/计算票价else/如果不是3的倍数num = (num

温馨提示

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

评论

0/150

提交评论