版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.摘要本设计的是一个基于c51单片机的出租车自动计费设计,附有复位电路,时钟电路,键盘电路和显示电路等。复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。在上电时字符型数码显示器显示最初的起步价,但超过3km时计价器会在起步价的基础上再按每里程收费,通过按键可以启动,清除显示器的显示价钱。通过计算可以得出总共的费用和总的路程。在这里主要是以AT89S51单片机为核心控制器,P0口和P2口接七段显示器模块,P1口接按键的,通过按键输入启动和清除总价格。关键词:单片机AT89C51;七段数码显示
2、器7SEG-MPX4-CA;出租车计费器。AbstractThis design is a based on c51 taxi automatic bill design, with reset circuit, clocking circuit, the keyboard circuit and show circuit, etc. Reset circuit are the initialization of single chip, in addition to the normal operation of the initial barbarian, difficulty, thro
3、ugh to reset circuit can start again. The 12 MHz clock circuit of crystals, as the system clock source, has enough precision. When power in character type digital display shows the first started value, but more than 3 km the meter will start in price when on the basis of every mileage charge, then p
4、ress the button can be activated by the display of the display, clear price. Can be obtained by the putation of the total cost, and general journey. Here are based on AT89S51 as the core controller, mouth and P2 P0 mouth pick seven segment display module, pick buttons, the P1 mouth by keystroke star
5、t and remove the total price. 目录摘要1目录2第一章出租车计价器的设计题目要求311设计题目31.2设计要求3第二章出租车的总体设计方案32.1方法论证与比较32.2 工作原理52.21工作原理框图如下:52.22 工作原理:62.3 所需设备及软硬件6第三章出租车硬件电路设计63.1 AT89S51介绍73.11主要的功能特性73.12 管脚功能83.2 LED数码管介绍93.3单片机最小系统113.4振荡电路123.5 复位电路123.6 按钮接口电路133.7 显示电路13第四章系统软件设计144.1 proteus软件介绍144.2 keil软件介绍154
6、.3利用proteus与keil进行调试154.4 主程序流程图164.5子程序流程图164.51 键盘扫描子程序164.52 处理总价子程序174.53 显示总价子程序18第五章设计调试结果和设计心得以及参考资料205.1 设计调试结果205.2 设计中的问题及解决方法205.3 设计心得205.4参考资料21附录:21附录一:程序清单21附录二、系统总体电路图26附录二、仿真图27第一章 出租车计价器的设计题目要求11设计题目出租车计价器1.2设计要求利用单片机设计一个出租车自动计费器,计费包括起步价、行车里程计费、用4个七段数字显示器显示总金额,最大值为999.9元,起步价为5.0元,3
7、Km之内按起步价计费,超过3Km之后1.6元/公里,每200米计价跳表(即1KM增加1.6元,200m增加0,32元)。用信号源模拟里程,转换关系:3072个脉冲/千米。通过“计价”键和“清0”键开始计价和清0,清0后显示“000.0”。、计费功能费用的计算是按行驶里程收费。设起步价为5.00元。1、当里程<3km时,按起价计算费用2、当里程>3km时,在起步价的基础上每公里按1.6元计费、显示功能显示总费用:用四位数字显示,显示方式为“XXX.X”,单位为元。计价X围0-999.9元,采用4舍5入精确到角。第二章 出租车的总体设计方案2.1方法论证与比较方案一:采用数字电子技术,
8、利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,以下是该方案的流程框图,方案一如图2-1所示时钟脉冲公里脉冲计费脉冲计费译码数码管显示方案二:采用EDA技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块 计量模块、译码和动态扫描显示模块,其系统框图如图2-2所示方案三:采用MCU技术,通过C51单片机作为主控器,利用七段显示管作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案三的系统流程图,本方案主要是必须对于数字电路比较熟悉,
9、成本又不高。方案图如图2-3所示电源电路复位电路按钮电路脉冲电路 AT89S51显示电路7SEG-MPX4-CA方案总结:通过各个方案的比较,本次采用方案三,本电路以C51单片机为中心,实现对出租车路程的统计,输出采用8段数码显示管。不但控制简单,而且成本低廉,设计电路简单。2.2 工作原理2.21工作原理框图如下: AT89S51单片机(软硬件结合)系 统开 始系 统复 位显示计价器总价2.22 工作原理:以51单片机为中心,外加晶振电路,按钮电路,复位电路,和显示电路,以及模拟路程的脉冲电路。以软硬件结合的方式工作,当按下开关启动按钮时,计价器以起步价显示,直到3km过后,每经过2oom时
10、,计价器以加0.32元跳转,并且用软件实行四舍五入,精确到0.1元。当到达目的地时,按下清零按钮时,计价器显示电路显示000.02.3 所需设备及软硬件所需设备:一台电脑软件:proteus仿真软件,protel绘图软件,keil编程软件第三章 出租车硬件电路设计出租车硬件电路的设计以AT89S51单片机为核心控制元件。3.1 AT89S51介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字
11、节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-1示。图3.1 AT89C513.11主要的功能特性(1)·与MCS-51 兼容(2)·4K字节可编程闪烁存储器(3)·寿命:1000写/擦循环(4)·
12、;数据保留时间:10年(5)·全静态工作:0Hz-24MHz(6)·三级程序存储器锁定(7)·128×8位内部RAM(8)·32可编程I/O线(9)·两个16位定时器/计数器(10)·5个中断源(11)·可编程串行通道(12)·低功耗的闲置和掉电模式(13)·片内振荡器和时钟电路3.12 管脚功能(1)VCC:供电电压。(2)GND:接地。(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它
13、可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉
14、低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:口管脚备选功能P3.0 RXD
15、(串行输入口)P3.1 TXD(串行输出口)3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此
16、它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(8)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(9)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA
17、将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(10)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(11)XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.2 LED数码管介绍LED数码管(LED Segment Displ
18、ays)是由多个发光二极管封在在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,LED数码管根据LED的接法不同分为共阴和共阳两类,共阴和共阳极数码管,它们的发光原理是一样的,只是它们的电源极性不同而已。LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。 A、静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位解码器解码进行驱动。静
19、态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5×840根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。故实际应用时必须增加解码驱动器进行驱动,增加了硬体电路的复杂性。B、动态显示驱动:数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取
20、决于单片机对位元选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。 而本次设计我采用四位七段数码显示管四位七段数码管内部的四个数码管共用adp这8根数据线,为人们的使用提供了方便,因为
21、里面有四个数码管,所以它有四个公共端,加上adp,共有12个引脚。图3.2四位七段数码显示管3.3单片机最小系统单片机最小系统包括复位,晶振电路,电源电路图3.3 单片机最小系统3.4振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取33pF)。这样就构成一个稳定的自激振荡器。 振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。振荡电路如图3.4所示: 图3.4振荡电路3.5 复位电路复位操作有两种基本形式:一种是上电
22、复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位电路图如图3.5所示。 图3.5 复位电路3.6 按钮接口电路采用独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。I/O口通过按键与地相连,本次设计采用P1口接按钮,因为
23、只有两个按钮,我把它们接在P1.0,P1.1口,又P1口内部没有上拉电阻,我在外面接上拉电阻。如下图3.6所示图3.6 按钮接口电路3.7 显示电路对于现实显示电路我们可以采用七段显示数码管,也可以采用液晶显示,本次设计我采用四位七段显示数码管,如下图3.7图3.7 显示电路第四章 系统软件设计4.1 proteus软件介绍Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点:全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。具有模拟电路仿
24、真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。4.2 keil软件介绍Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可
25、看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。4.3利用proteus与keil进行调试使用步骤:1.打开keil,建立工程,输入程序。2.编译和生成hex文件。3.打开Proteus,设计硬件电路图4.导入hex文件,5.点击面板左下角的,开始调试4.4 主程序流程图开 始初 始 化开总中断和外部中断0,定义外部中断0的触发方式调用扫描键盘子程序调用处理总价子程序调用数码管显示子程序结 束4.5子程序流程图4.51 键盘扫描子程序开 始是否有启动键按下消抖(调用延时10ms子
26、程序)再次确认是否有启动键按下开始转入处理总价子程序是否有消零的键按下消抖(调用延时10ms子程序)再次确认是否有清零键按下把计价器清零YYNNNNYYN4.52 处理总价子程序开 始车程<=3km"总价=5.0元Count1=车程3km>=200m.总价=5.0+0.32,车程=3km总价四舍五入处理YNY4.53 显示总价子程序开 始取出最高位(百位)输出显示,延时1ms取出十位输出显示,延时1ms取出个位输出显示,延时1ms取出最后一位输出显示,延时1ms第五章设计调试结果和设计心得以及参考资料5.1 设计调试结果将程序输入到keil中进行编译,编译后得到hex文件
27、,然后将此文件放入AT89C51中在protues中进行仿真得到仿真结果。仿真结果见附录图15.2 设计中的问题及解决方法在设计好硬件后,本打算用汇编语言来编写程序,但后来在编程时,遇到了怎么样使四位数码管显示连续变化的数字的问题,由于汇编学的不是很精,所以就改变主意,用c语言来编程,做完编程后,觉得c语言真的是高级语言,既简单又容易使用。编程遇到一般的难题都能编出来。另外在设计的电路图中P1和P0口都没有接上拉电阻,进行仿真时数码管和指示灯都不亮,以为是程序问题,经过多次对程序的查看,发现无误后,再对硬件进行修改,P0口加上上拉电阻就成功了。5.3 设计心得课程设计是培养学生综合运用所学知识
28、,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。课程设计很快就过去了,回想一下,深深的认识到汇编的重要性。由于对微机原理还比较熟悉,所以拿到出租车计价器时不是很紧X,再加上梅英老师的介绍和网上资料的搜寻,再去图书馆查找了相关资料后开始理清了设计的思路。从程序设计到上机调试以及说明书的编写,都花费了不少的时间,我相信课题能够顺利通过。小小的胜利给了我自己很大的信心。这其中也出现了
29、不少的问题。比如调试过程中,使我花费了不少工夫重温系统软件的应用,真是有种“才下眉头,又上心头”的感觉。尽管在课程设计当中遇到了不少的问题,但在梅英老师及同学的帮助下迎刃而解了。查阅资料,仔细分析,终于定下了方案。通过对这些问题的分析讨论,我对出租车计价器的工作原理和工作方式有了更深的理解,更多的是使我初步形成了一种全局考虑,对问题各个击破的设计思路。做完设计我进一步认识到,任何事情,开始的时候,都感觉很难。但,只要有信心克服困难,坚持到底,永不气馁,就能达到胜利的彼岸。还有,在搞设计的时候,查阅资料也是很重要的,“他山之石,可以攻玉”,掌握足够的信息,就是掌握成功的关键。回顾这两周的课程设计
30、,我的收获很大,巩固了这学期所学的单片机这门课程,并且把以前所学的知识复习了,还自学了很多关于芯片的知识。认为和以前进行的课程设计一样,开始总是一片茫然,但在潘教授的指导下,逐步打开思路,万里长征终于走出了第一步,但走过第一步,成功就很快了。5.4参考资料1 林华兵.MCS-51单片机原理及应用.:华中科技大学,2003.62 余锡存曹国华.单片机原理及接口技术M.XX:XX电子科技大学,2000.73 勒达.单片机应用系统开发实例导航.:人民邮电,2003.104 X毅坤. 单片微型计算机原理及应用,XX电子科技大学 19985 曾屹. 单片机原理与应用. 中南大学 2009.2附录:附录一:程序清单*include <AT89X51.H>*define uchar unsigned char*define uint unsigned intuchar code seg7code=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石河子大学《语言程序设计》2021-2022学年期末试卷
- 石河子大学《双碳概论》2023-2024学年第一学期期末试卷
- 石河子大学《工程项目管理》2022-2023学年第一学期期末试卷
- 石河子大学《材料力学》2023-2024学年第一学期期末试卷
- 九年级数学专题总复习(含答案)
- 沈阳理工大学《力学》2021-2022学年第一学期期末试卷
- 沈阳理工大学《机电传动控制》2022-2023学年期末试卷
- 四史2023-2024-2学期学习通超星期末考试答案章节答案2024年
- 沈阳理工大学《动态网络广告》2022-2023学年期末试卷
- 关于合同法的专著
- Access数据库课程标准
- 幼儿园中班语言:《两只蚊子吹牛皮》 课件
- 临时用电漏电保护器运行检测记录表
- 头痛的国际分类(第三版)中文
- 音乐ppt课件《小小的船》
- 幼儿园教学课件语言教育《雪地里的小画家》
- 结构化面试经典100题及答案
- ESG引领下的西部城市再出发-新型城市竞争力策略研究白皮书
- 小学生班干部竞选自我介绍PPT模板公开课一等奖市赛课获奖课件
- 万科物业岗位说明书2
- 音乐教学说课
评论
0/150
提交评论