ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:80.92KB ,
资源ID:14981864      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14981864.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的出租车计费器Word文档格式.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的出租车计费器Word文档格式.docx

1、七、参考文献 9一、设计目的将理论与实践相结合的教学环节,通过综合运用教材及其他资料,使所学知识得到进一步加深和扩展.同时还培养设计能力和解决实际问题能力,进行基本技能的训练, 进一步熟练proteus,keilC等软件的操作.本设计的目的是在学习51系列单片机的基础上,设计出符合要求的电路,从而实现设计产品的计价功能.二、设计思路1、硬件电路设计.2、连接仿真电路图.3、代码编写. 4、程序调试验证.三、设计过程3.1硬件设计AT89C51单片机显示电路按键电路复位电路时钟电路按下计价按键时,显示起步价和起步里程范围,这些在程序中设置;当等于或超过两公里后,按计算总价的公式为:总价=起步价+

2、单价*(总里程-起步里程)+1进行计价.本设计中,起步价为4元,起步里程为2公里,当然这些数据可以在程序中改写,以满足不同时期价格调整的需要.下图是通过在Keil C中编译通过,并生成Hex文件,在PROTEUS中仿真通过的整体硬件原理图: 硬件设计原理图3.1.1 驱动电路74LS245是我们常用的芯片,用来驱动led或者其他的设备.总线驱动器74LS244和74LS245经常用作三态数据缓冲器,74LS244为单向三态数据缓冲器,而74LS245为双向三态数据缓冲器.本设计用74LS245作为驱动芯片,双向总线发送器/接收器(3S).图1驱动芯片管脚图74LS245主要电器特性的典型值如下

3、:引出端符号:A A总线端 B B总线端 /G 三态允许端(低电平有效) DIR 方向控制端 功能表:利用74LS245来驱动数码管显示,单片机的P2.0到P2.5分别接A0到A5管脚,进行数据的传送,其中AB/BA接高电平,控制数据从A到B进行传送,B0到B5分别接数码管的位选端,驱动数码管依次显示.P2.0到P2.5的数据通过A传送到B中的数据送到数码管,以达到显示数据信息的目的.3.1.2 显示电路 多数的应用系统,都要配输入和输出外设,LED显示器和LCD显示器,虽然LCD显示效果比较好,已经成为了一种发展趋势,但为了节约成本,我们选用了LED显示器.在显示方面,我们选用了动态显示.静

4、态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连.占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式.利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示.为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符.图2 LED数码管LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用

5、时这个脚就分别的接VCC和GND.再把多个这样的8字装在一起就成了多位的数码管了.在本设计仿真中使用的是6个一组的共阴8段数码管. 找公共共阴和公共共阳的方法:首先我们找个电源|稳压器(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了.共阴极数码管,阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,对应的段就显示.3.1.3 复位电路单片机的复位是由外部的复位电路实现的, 复位电路通常采用上电自

6、动复位和按钮复位两种方式.上电自动复位是通过外部复位电路的电容充电来实现的.除了上电复位外还需要按键手动复位.按键手动复位有电平方式和脉冲方式两种.其中电平复位是通过RST端经电阻与电源VCC接通而实现的.单片机的复位速度比外围I/O接口电路快为能够保证系统可靠的复位,在初始化程序中应安排一定的复位延迟时间.图3复位电路3.1.4 掉电保护电路掉电保护电路中采用了存储芯片AT24C02.AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA11

7、0uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一.图4 AT24C02引脚图上图是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节.引脚功能介绍如下:A0(引脚1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3A2 A1 A0 R/W.A1(引脚2):器件地址的A1位.A2(引脚3):器件地址的A2位.GND(引脚4):地线.SDA(引脚5):数据总线引脚.SCL(引脚6):时钟总线引脚.TEST(引脚7):测试引脚.Vcc(引脚8):电源线引脚.本设计采用掉电存储电路图如下:图5掉电存储电路3.1.5 时钟电路MCS-51单片

8、机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作.其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器.为更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近.本设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体,电容的大小不会影响振荡频率的高低.在整个系统中为系统各个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作

9、频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号.图6时钟电路3.1.6 按键电路按键控制电路中,单片机的P1.0管脚接启动/停止按键,通过软件编程,当按下按键计数器开始工作,开始计价;当弹起按键时,计数器停止工作,停止计价,启动/停止按键带自锁功能.按下启动按键,开关处于导通状态,这时给P1.0送低电平信号,这时TR0=1,计数器开始工作,调用计价子程序开始计价.清零按键接单片机的P1.3管脚,按下清零按键,P1.3为低电平,调用清零子程序,用于将显示数据清零,在程序中给各位赋0代码(0x3f),以达到清零的目的,方便下次计价.另外为功能键,控制价格调整,这个按键是在没有按下启动/停止

10、按键时有作用,计价过程中无效.图7 按键电路3.2 系统程序设计本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图.在main函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态.通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系.这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的.四、软件

11、调试4.1 编程工具C51语言8051单片机的应用程序设计,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计.近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一.4.2程序调试工具KEIL本设计的软件都是在 Keil Vision 7.5上进行编写,编译,调试以及运行操作.4.3 单片机仿真软件在线调试PROTEUS1.打开Proteus软件.2.

12、选择file菜单下的 open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存.3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定. 4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果. 下图为软件的仿真窗口:五、实验设备和软件1、Protues 2、Keil uVision4六、课程设计体会与建议6.1、设计体会在本次设计中,我们采用AT89S51芯片为核心器件,设计出了简单的出租车计价器,能够实现

13、显示总金额和总里程,按键控制清零,调价.这次课程设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的.通过自身的努力以及相关图书资料的帮助,逐渐熟悉了KEIL、PROTEUS和C语言等软件的使用以及硬件焊接与检测过程中的一些小技巧.6.2、设计建议在动手设计之前,希望老师能给我们多讲解一些更深层次的专业知识,并且提供相关的学习资料,为我们展示一些相关视频,这样会有助于我们进一步进入状态,更加完善地完成设计. 七、参考文献1谭浩强.C程序设计(第二版).清华大学出版社,2003 2胡泉、谢芳.C语言程序设计.华中科技大学出版社,20093 戴 佳.51单片

14、机C语言应用程序设计实例精讲.电子工业出版社,20074张毅刚.单片机原理及应用.高等教育出版社,20045马忠梅.单片机的C语言应用程序设计(第三版).北京航空航天大学出版社,20046胡汉才.单片机原理及其接口技术.北京:清华大学出版社,1995附录: 出租车计费器设计代码:#include /#include intrins.h#define uchar unsigned char#define uint unsigned intint xscode6=0x3f,0x06,0x5b,0x4f,0x66,0x6d;/显示存储区int zxscode6=0x1f,0x2f,0x37,0x3b,0x3d,0x3e;/共阴显示片选码int codetab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴极数码int i,j,flag;uchar sec;int kk=0;/路程标志位int jkk=0;/费用int jflag=0;/费用标志位int kflag=0;int zdflag=0;/中断标志位int kilo=0;/路程int dj=1;/路程单价 int djflag=0;/路程单价biaozhiweisbit ke

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1