单片机计价器课程设计报告_第1页
单片机计价器课程设计报告_第2页
单片机计价器课程设计报告_第3页
单片机计价器课程设计报告_第4页
单片机计价器课程设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、河南理工大学本科课程设计报告概 述1.1 课题的背景与意义步入21世纪,出租车已经广泛地出现在我们周围。随着人们生活水平的不断提高,出租车的使用频率也越来越高,出租车行业也以高质量的服务给人们带来了出行的享受。但是由于行业的特殊性,出租车行业总存在着买纠纷,困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。 30年前,我国出现了出租车,但是由于当时的经济水平,出租车并没有普遍在我们生活中出现。随着改革开放的深入,出租车行业的发展势头已十分突出。如今出租车在我国的交通运输中承担着重要的角色,出租车计价器是出租车上必不可少的重

2、要仪器,它是负责出租车营运收费的专用智能化仪表。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。我们都知道,只要出租车开动,随着行驶里程的增加,就会看到汽车前面的计价器里程数字显示的读数从零逐渐增大,而当行驶到某一值时(如5km)计费数字显示开始从起步价(如8元)增加。当出租车到达某地需要在那里等候时,司机只要按一下“计时”键,每等候一定时间,计费显示就增加一个该收的等候费用。汽车继续行驶时,停止计算等候费,继续增加里程计费。到达目的地,便可按显示的数字收费。 采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试,对于模式的切换需

3、要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。1.2 方案设计 1.2.1功能要求利用单片机的软件编写功能,实现以5.0元为起步价,根据所行驶的距离进行计价,长时间时可等待启用等待计价,区分单程和往返不同计价,以及采用数码管显示所计的价钱。1.2.2 方案论证方案一:采用数字电路控制。其原理方框图如图1-1所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,

4、故障率高,难调试,而且电路不够实用。移位寄存器电路金额显示单价显示里程传感器电源电路及保护电路图1-1 数字电路方案图方案二:采用单片机控制。利用单片机丰富的io端口,及其控制的灵活性,实现基本的里程计价功能,途中等待等不同功能。通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。第2章 系统硬件设计2.1 系统整体硬件电路整个硬件由6部分构成: at89s52单片机、霍尔传感器信号输入电路、led显示器,按键输入电路,发光二极管,led显示电路图如图21所示。时钟与复位电路按键输入电路信

5、号输入led显示器驱动电器发光二极管led显示器单 片 机 图21 电路组成框图2.2 系统工作原理汽车电瓶电压+12伏,经过滤波后进入稳压器cw7805,得到+5伏的直流电压,给单片机供电。速度传感器6848安装在轮子上,设轮子周长约1米,轮子每转一圈产生一个脉冲,此脉冲作为车辆行驶信号,称为轮脉冲。把该轮脉冲信号由单片机p3.4口输入通过其内部计数器进行累计,当累计到100次后就产生0.1公里的脉冲,从8155timer out口输出,通过单片机int1口送入单片机里产生中断。系统电路的核心部件是at89s52,利用at89s52的运算与控制功能来实现时间与费用的显示。由timerout输

6、出方波,timerin输入路程信号脉冲,计数器计满溢出的输出信号由timerout接at89s52的p3.4。当外界脉冲累计100次输入时,调中断程序。设以100次作为一个中断,一个中断代表前进0.1公里。该电路用i/o端口直接控制led。使用p1.0p1.7控制led的段选位,用p2.0p2.7分别控制八个led的位选。p3.0p3.2接暂停,清除,查询三个键,按键按下时即可产生一个低电平,单片机会做出相应的处理。p3.6,p3.7接单程和往返键,可实现不同计价方式。2.3 系统各部分电路介绍 2.3.1 单片机最小系统1.at89s52at89s52是由美国atmel 公司生产的至今为止世

7、界上最新型的高性能八位单片机,片内含4k bytes的可系统编程的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集flash程序存储器既可在线编程(isp)也可用传统方法进行编程及通用8位微处理器于单片芯片中,atmel公司的功能强大,低价位at89s52单片机可为您提供许多高性价比的应用场介,可灵活应用于各种控制领域。(1)at89s52的特点at89s52与mcs-51系列的单片机在指令系统和引脚上完全兼容; at89s52具有以下几个特点:片内有4k字节在线可重复编程快擦写程序存储器;全静态工作,工作范围:0hz24mh

8、z;三级程序存储器加密;1288位内部ram;32位双向输入输出线;两个十六位定时器/计数器;五个中断源,两级中断优先级;一个全双工的异步串行口;间歇和掉电两种工作方式。(2)at89s52的功能描述at89s52是一种低损耗、高性能、cmos八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。它与mca-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替mcs-51系列单片机,而且能使系统具有许多mcs-51系列产品没有的功能。at89s52可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的

9、成本。只要程序长度小于4k,四个i/o口全部提供给用户。可用5v电压编程,而且擦写时间仅需10毫秒,仅为8751/87c51的擦除时间的百分之一,与8751/87c51的12v电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7v6v),全静态工作,工作频率宽在0hz24mhz之间,比8751/87c51等51系列的6mhz12mhz更具有灵活性,系统能快能慢。at89s52芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。p0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器

10、的读/写操作。(3) at89s52引脚功能at89s52单片机为40引脚芯片,其实物图与引脚图如图2-2所示图2-2 at89s52实物与引脚图.口线:p0、p1、p2、p3共四个八位口。l p0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。p0口也用以输出外部存储器的低8位地址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ale。l p1口是专门供用户使用的i/o口,是准双向口。l p2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,p2口也可以作为用户i/o口线使用,p2口也是准双向口。l p3口是双功能口,该口的每一位均可独

11、立地定义为第一i/o功能或第二i/o功能。作为第一功能使用时操作同p1口。p3口的第二功能如表2-1所示。表2-1 p3口功能表端口引脚各个功能p3.0rxd(串行口输入端)p3.2int0(外部中断0请求输入端,低电平有效)p3.3int1(外部中断1请求输入端,低电平有效)p3.4t0(定时器/数器0计数脉冲输入端)p3.5t1(定时器/数器1计数脉冲输入端)p3.6wr(外部数据存储器写选通信输出端,低电平有效)p3.7rd(外部数据存储器读选通信号输出端,低电平有效)控制口线:psen(片外选取控制)、ale(地址锁存控制)、ea(片外存储器选择)、reset(复位控制);电源:vcc

12、:供电电压。gnd:接地2.复位电路单片机在开机时都需要复位,以便中央处理器cpu以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51的rst引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有24个时钟周期以上。按下开关时,电源通过电阻对外接电容进行充电,使res端为高电平,复位按钮松开后,电容通过下拉电阻放电,逐渐使ret端恢复低电平。3.时钟电路 在mcs-51内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1(19)、xtal2(18)分别是此放大器的输入端和输出端。方案一:内部方式与作为反馈元件的片外晶体或陶瓷谐振器一起组成一个自激振荡器。方案二:外部方

13、式外部振荡器信号的接法与芯片类型有关。cmos工艺的mcu其xtal1端接外部时钟信号,xtal2端可悬空。hmos工艺的mcu则xtal2端接外部时钟信号,xtal1端须接地。2.3.2 显示电路p0口的8条数据线p0.0 至p0.7与led数码管的a、b、c、d、e、f、g、dp字段相接,p2口的p2.0至p2.7与led数码管的8个位相接。这样通过单片机端口送出显示代码,通过p1口和p2口送出扫描选通代码点亮led1至led8,就会将要显示的费用在数码管中显示出来。从p0口输出的代码就是段选码,从p2口输出的就是位选码。1.led的结构每只led由7个发光二极管按“日”字形排列,所有发光

14、二极管的阳极连在一起称共阳极接法,阴极连在一起称共阴极接法。一般共阴极可以不需要接电阻,但共阳极接法中发光二极管必须外接电阻。图2-4所示 :a-g七段及十进制小数点dp均为发光二极管。 (a)led的结构与引脚图 (b)共阴极接法 (c)共阳极接法 2led的工作原理若采用共阳极结构,则它们的阳极为一公共点,接电源正极。八只发光二极管的阴极上相独立,哪一个阴极接地,哪一段即发光,阴极也接高电平者便呈暗淡。如果共阴极结构,那么阴极公共点接地,各阳极独立,接高电平者发光,阳极接地者呈暗淡。此次设计采用共阳极。3led显示器接口led显示器与单片机的接口一般有静态显示和动态显示两种方式。led采用

15、静态显示与单片机接口时,共阴极或共阳极点连接在一起接地或高电平。静态显示器接口电路,在位数较多时,电路比较复杂,需要的接口芯片较多,成本也较高。动态led显示接口由于各个数码管共用同一个段码输出口,分时轮流通电的,从而大大简化了硬件线路,降低了成本。此次设计采用动态显示,目的就是为了节省硬件资源。led显示器中每个发光二极管要通过5毫安-20毫安的电流才能达到正常亮度。在本设计中,led的主要功能就是可以把北京时间和乘客坐出租车所用的费用轮流显示出来,给乘客带来方便,在做本设计时,由于数码管较多,并且是共阳极的,要仔细观察每一组数码管的各个引脚时段选还是位选,这是非常重要的。本设计采用arks

16、r410561k 1103共阳极数码管,管脚图如下:1 a f 2 3 b. . . . . . . . . . . e d dp c g 42.3.3 驱动芯片74ls244简介双4路三态缓冲器,通常把这两个缓冲器并在一起用,形成一个单8路三态缓冲器。在单片机系统的应用中,8位的系统总线经常会用到,本设计采用该芯片一端驱动led位选,另一端与at89s52的p2口相连接。74ls244引脚图如下所示: 74ls244引脚图 第3章 系统软件设计本系统程序采用单片机c语言编写,其执行效率高,通俗易懂,采用模块化的自上而下的设计方法,尽量写出相对通用的子程序。本系统中的程序包括主程序和中断子程序

17、、计价服务子程序,其详细设计如下:3.1初始化系统上电时,初始化程序将r1r5储存单元清0。如图31所示:开 始计数器、i/o、中断初始化、开计数器有无乘客有无脉冲显示起步价5元显示0 n y y n y =3公里? n y仍显示起步价5元每增加0.1公里按不同情况清 零图31 程序初始化图3.2主程序的设计主程序中通过循环判断是否开始计价和等待计价。在等计价中,一直显示0。在车轮计数中,车轮每转过1周调用计数子程序对计数器加1。通过计数器中的累加值,判断数值是否达到20。当计数值达到20时,产生一个中断,对应调用相应子程序,里程加0.1公里。数码管显示子程序通过动态扫描实现。系统初始化后,判

18、断是否开始计价.若是则进入计价处理,若否,则等待。p0.2按下进入下一步,进行车轮计数,则由计数器加1,然后判断计数器里程是否加到30,若不到50,则由数码管显示50,若到了30则按超过30方式处理,计算价钱。最后由数码管显示计算的价钱。如图323开始初始化是否开始计价进行车轮计数计数器加1里程是否计数到30到30处理不到30处理数码管显示等待计价处理是是否否是否图32 主程序流程图3.3中断、键扫描子程序的设计中断是通过对外部计数来实现的,每次当外部计数计满时,产生一个中断。每中断一次进行一次处理,对相应的脉冲做出处理。当脉冲计到20时,里程加1。键扫描子程序的主要任务是完成按键的键值的读取

19、,根据键值的不同作出按键判定,并根据当时所处的状态使相应的指示灯点亮,同时转向不同的处理程序。第4章 系统调试及性能分析采用keilc51编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作。硬件电路制作完毕,用万用表检测有无短路开路等现象,确定硬件电路没有问题后,用仿真头与硬件电路相连,运行程序进行调试。若调试不成功,则可再单独调试程序和硬件电路。程序用软件仿真运行,硬件电路再次检查有无焊错,或者元件与插座接触不良等方面问题;确认均无问题后,再次把软件和硬件联机调试,直至功能正常。把程序烧录进单片机at89s52结束调试。4.1 proteus 仿真proteus软件是一种低投资的电

20、子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。proteus软件提供多种现实存在的虚拟仪器仪表。此外,proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供schematic drawing、spice仿真与pcb设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、avr、pic等常用的mcu,并提供周边设备的仿真,例如37

21、3、led、示波器等。proteus提供了大量的元件库,有ram、rom、键盘、马达、led、lcd、ad/da、部分spi器件、部分iic器件,编译方面支持keil和mplab等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。1、打开proteus 操作界面。2 选择“p”,从元件库中提取需要的元器件:at89s52、12mhz晶振、20pf电容、10uf电解电容、47uf电解电容、0.1uf电解电容、0

22、.0047uf电容、10k电阻、47电阻、lm386、按键开关、led数码显示器,(选中双击),选择完点ok。如图4-1所示:3在编辑区画电路图,修改元件参数。4.加载程序双击at89s52芯片,将事先用汇编语言写好的计价源程序导入芯片中。5、电路仿真点击运行开关,按下查看开关按键即可查看行驶价钱,如果是单程以单程价钱计费,在路途中也可以实现暂停计费。4.2 硬件调试将焊接好的计价器电路板插上usb数据线和,此时电路板上的电源指示灯亮。将事先编好的汇编语言源程序输入到keil软件中,编译无误后保存;然后打开伟煌isp电缆,首先进行检测通讯、检测器件,然后檫除芯片,最后将编译好的hex文件写入f

23、lash ro按下电路板上的五个不同的开关即可进行设置。仿真软件电路见附录1。第5章 总结与体会通过这次对at89s52设计出租车计价器课程设计的编写以及电路的设计,让我们更加深刻的认识到理论和实践相合的重要性。经过这两个星期来不懈的努力与奋斗,我们终于在老师的指导下完成了课程设计,虽然它还有诸多需要完善的地方,但是拿着这件设计,我们仍然有止不住的兴奋。高兴之余,我仍需深思:这次设计,我们最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高。从方案形成到准备电路图,到焊接,到调试每一个小小的步骤,我们都得到了很好的锻炼。我们学会了怎样有效的收集整合资料;我们学会了怎样耐心地焊接电路

24、;我们学会了怎样细心地检查电路;我们学会了怎样虚心地寻求帮助;我们学会了我们也明白了,光靠趴在书本上学是学不到其中的精髓的,我们必须亲自去试着实践了,亲自去经历失败了才能对它们真正的掌握。理论必须联系实际,而实践试检验真理的唯一标准,我真正的懂得了这句话的真谛。在以后的工作和生活中,我们从此可以汲取很多经验,凡事都要自己去动下手,去实践一下,遇到困难,永远不要丧失信心,有耐心,有细心,有恒心,有虚心,只有这样,我们才会在逆境中不断前进。在论文的编写过程中,查阅了不少的相关资料,使我们对at89s52单片机有了更进一步的了解和掌握,同时也体现了自己专业知识学得不扎实,特别是在电路制作过程中,由于

25、缺少实际经验,对单片机的很多功能还不能熟练的掌握。在进行软件和硬件联合调试时,我们遇到了很多问题。比如说数码管显示的亮度不够,我们经过反复检查发现单片机输出的高电平太低,因此我们又加了一个驱动芯片74ls244。后来由于显示字形有误,经检查发现一根段选线断了。这些问题一一解决后方才调试成功。这些经历给了我们很大的感触,所以在今后的工作和学习过程中,我们应加强专业知识的学习,不段以理论和实践相结合,锻炼出突出的专业技能,不段完善自己,拓宽知识面,最终成为复合型人才,适应社会的挑战,实现人生的自我价值,最后,再一次感谢高如新老师对我们的耐心指导与帮助,使我们的课程设计能够顺利完成。参考文献1 康年

26、光.电子技术基础(数字部分).高等教育出版社.2005.072 刘乐喜.微机计算机接口技术及应用.华中科技大学出版社.2005.083 谢嘉奎.电子线路(线性部分).高等教育出版社.2004.044 潭浩强.c语言程序设计.清华大学出版社.2005.075 李群芳,肖看.单片机原理、接口及应用嵌入式系统技术基础.清华大学出版社.2005.036 冯博琴.微型计算机原理与接口技术.清华大学出版社.20047 长德,李华,李东.mcs51/98系列单片机原理与应用.机械工业出版社.19978 李群芳,张士军,黄建.单片微型计算机原理与接口技术.电子工业出版社.20029 石东海.单片机数据通信技术

27、从入门到精通.西安电子科技大学出版社.200210 谢自美.电子线路设计、实验、测试(第二版).华中科技大学出版社.2000附录1系统仿真电路图附录2 源程序代码#include#define uchar unsigned char#define uint unsigned intuchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;sbit p17=p17;sbit zt=p30;sbit cx=p32;sbit dc=p36;sbit wf=p37;sbit p18=p01;sbit qc=p02;sbit p

28、03=p03;sbit p04=p04;sbit p05=p05;sbit p06=p06;uchar num1,t0,miao,num2,num3,num4,miao1,flag1,flag2,flag3,flag4,flag5,flag6,flag=1;float jg;int num,cs,lc,csh,s,jq,ddsj,xs;void delay(uchar z) uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);void display()p1=tablexs/1000;p2=0x01;delay(2);p1=0xff;p1=tablexs/100%

29、10;p2=0x02;delay(2);p1=0xff;p1=tablexs%100/10;p2=0x04;p17=0;delay(2);p1=0xff;p1=tablexs%10;p2=0x08;delay(2);p1=0xff;p1=tablejq/1000;p2=0x10;delay(2);p1=0xff;p1=tablejq/100%10;p2=0x20;delay(2);p1=0xff;p1=tablejq%100/10;p2=0x40;p17=0;delay(2);p1=0xff;p1=tablejq%10;p2=0x80;delay(2);p1=0xff;void init()tmod=0x26;th1=6;tl1=6;th0=255;tl0=255;ea=1;et0=1;et1=1;tr0=1;tr1=1

温馨提示

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

评论

0/150

提交评论