单片机课设 出租车计价器的设计.doc

上传人:精*** 文档编号:847946 上传时间:2023-09-09 格式:DOC 页数:18 大小:319.89KB
下载 相关 举报
单片机课设 出租车计价器的设计.doc_第1页
第1页 / 共18页
单片机课设 出租车计价器的设计.doc_第2页
第2页 / 共18页
单片机课设 出租车计价器的设计.doc_第3页
第3页 / 共18页
单片机课设 出租车计价器的设计.doc_第4页
第4页 / 共18页
单片机课设 出租车计价器的设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、 单片机原理与应用课程设计(论文)摘要本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。在上电时四位共阴极5461AS数码管显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。通过按键模拟出租车的运行,暂停,停止。在5461AS液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。在这里主要是以AT89S52单片机为核心控制

2、器,P0口接5461AS液晶显示模块,P1口接按键的,通过按键输入。关键词:单片机AT89S52;5461AS液晶;出租车计费器目录第1章 设计方案论证11.1 出租车计价器设计要求11.2 课题设计要求、系统方案介绍1第2章 硬件电路设计32.1振荡电路32.2复位电路设计32.3 键盘接口电路42.4 显示电路42.5 路程测量部分52.6 单片机各引脚功能说明5第3章 程序设计83.1总流程图8第4章 设计总结5参考文献12附录1:整体电路原理图13附录2:器件清单1412第1章 设计方案论证1.1 出租车计价器设计要求设计一个出租车自动计费器,计费包括起步价、行车里程计费、二部分,用5

3、461AS液晶 显示总金额,运行时间,暂停时间,最大值为99.9元,起步价为5.0元,3Km之内起步价计费,超过3Km,增加2.0元(即1KM增加2.0元),用液晶显示总里程,同时用液晶显示等待时间和运行花费时间。、计费功能费用的计算是按行驶里程收费。设起步价为5.00元。1、当里程3km时,每公里按2.0元计费、显示功能1、显示行驶里程:用四位数字显示,显示方式为“XXXX”,单位为km。计程范围0-99km,精确到1km。2、显示等候时间:用两位数字显示,显示方式为“XX”,单位为min。计时范围0-59min,精确到1min。3、显示总费用:用四位数字显示,显示方式为“XXX.X”,单位

4、为元。计价范围0-999.9元,精确到0.1元。1.2 课题设计要求、系统方案介绍方案一:采用数字电子技术,利用555定时芯片构成多谐振荡器,或采用外围的晶振电路作为时钟脉冲信号,采用计数芯片对脉冲尽心脉冲的计数和分频,最后通过译码电路对数据进行译码,将译码所得的数据送给数码管显示,一下是该方案的流程框图,方案一如图1-1所示:图1-1 方案一框图方案二:采用MCU技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,以下是方案三的系统流程图,本方案主要是必须对于数字电路比较熟悉,成本又不高。方案图如图1-3所示:图1-2 方案二框图方案

5、总结:通过各个方案的比较,本次采用方案二,不但控制简单,而且成本低廉,设计电路简单。第2章 硬件电路设计2.1振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取33pF)。这样就构成一个稳定的自激振荡器。 振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。振荡电路如图2-1所示:图2-1振荡电路2.2复位电路设计复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的

6、RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位电路图如图2-2所示。图2-2 AT89C52引脚配置2.3 键盘接口电路独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。I/O口内部有上拉电

7、阻时,外部可不接上拉电阻。键盘接口电路如图2-3所示:图2-3键盘接口电路2.4 显示电路对于现实电路我们可以采用数码管,也可以采用液晶显示,液晶又分字符型和点阵型,我们使用的液晶是字符型液晶,并且带字符库的,不需要查找代码。英文字符就可。液晶电路使用时,如果发现液晶不亮可以调节连接液晶的点位器,改变液晶的亮度。显示电路如图2-4所示:图2-4 数码管封装图及数据线与数码管管脚关系2.5 路程测量部分出租车中需要一个能准确获得车轮转动即路量信号的装置,以得到标准的脉冲信号送入单片机的定时/ 计数器T1 即P3. 5 引脚,利用单片机的T1 的计数功能完成100 次的计数后产生一中断来完成路程的

8、测量。(设车轮周长为1 m ,则霍尔传感器每产生100 个脉冲便表示车已行程0. 1 km ,根据际情况在程序中进行设置)。汽车联轴器按圆周间隔嵌入磁钢,用霍传感器集成芯片A44E 测并输出脉冲,其工作原理如图4 所示,霍尔传感器集成芯片A44E 有信号转换、电压放大、等功能,为增加其抗干扰的能力,经过74L S14 对信号整形后再通过光偶送入P3. 5引脚。 图2-5路程测量电路2.6 单片机各引脚功能说明AT89S52电路图如图2-6所示: VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P

9、0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 图2-6 AT89S52 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。 P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高

10、,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的

11、一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处

12、理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第3章 程序设计3.1总流程图图3-

13、1整体程序流程图程序代码:#include#define uchar unsigned char#define uint unsigned intuchar qianwei,baiwei,shiwei,gewei;/显示数据各个位置数字的临时变量char led_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/段码表示0-9uint tt,aa,pulse,distance,cost,danjia,wait,way;/定义路程、价钱、等待时间及一些全局的变量等;uchar dengdai,second,minute

14、;/按键的定义,所有按键按下去为低电平sbit key0=P10; /清零sbit key1=P11; /切换路程与等待时间sbit key2=P12; /单程还是往返设置sbit key3=P13; /暂停按钮sbit led1=P14; / 指示 sbit led2=P15;sbit led3=P16;sbit led4=P17; bitkey1_flag;/由于按键会自动复位,这个为标志位bitkey2_flag;bitkey3_flag;bitflag/初始化函数void initial_data(void)distance=0;cost=0;second=0;minute=0;way

15、=0;key1_flag=1; /key2_flag=0; /单程or往返,接指示灯;key3_flag=1; /暂停,接指示灯;flag=0;pulse=0;dengdai=0;led1=1;/双程指示led2=1;/暂停指示led3=1;/堵车指示led4=1;/ 等待时间切换标志/暂停程序Voidzanting(void)if(key3_flag) EX0=0;/关闭中断 定时器TR0=0;ElseEX0=1;TR0=1;key3_flag=!key3_flag;/计算数据处理 void jisuan()if(pulse180) distance=pulse/6+way/3000;cos

16、t=danjia*(distance-30)/10+50;wait=minute*100+second;/显示的辅助程序,分离一个数的各个数字void fenli(uint temp)/数据的分离处理 if(temp9999) temp=9999;qianwei=temp/1000;baiwei=temp/100%10;shiwei=temp%100/10;gewei=temp%10; /延时约1ms,数码管显示时使用void diplay_delay(void) uchar i;for(i=0;i0;i-)for(j=340;j0;j-);/键盘的扫描void keyscan() if(ke

17、y1=0) / 按键消抖并判断按下去的次数为基数还是偶数 delay(5);if(key1=0)key1_flag=!key1_flag;if(key0=0) / 清零 delay(5);if(key0=0)initial_data();if(key3=0) / 暂停 delay(5);if(key3=0)zanting();if(key2=0) / 单程还是往返 delay(5);if(key2=0) key2_flag=!key2_flag;/指示等扫描led1=!key2_flag; / 指示,单程还是往返,灯低电平点亮; led2=key3_flag; / 指示,暂停时亮;led3=f

18、lag; / 指示是否等待;led4=key1_flag; /切换指示,显示路程还是等待时间;diplay_delay(); /定时器初始化 void initial_time()TMOD=0x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;IE=0x83;IT0=1;/外部边沿触发方式 TR0=1;/ 中断记录脉冲数Void zd() interrupt 0/中断0aa+;if(flag)pulse+;/进入中途等待计价 /* 定时器 *void time0() interrupt 1/定时0TH0=(65536-10000)/256; /10m

19、sTL0=(65536-10000)%256;tt+;if(tt=100) /1s采样tt=0;aa=aa/5; /速度(n*圈/s)if(aa=5) flag=0;else flag=1;aa=0;if(!flag)way+;dengdai+;if(dengdai=100)dengdai=0;second+;if(second=60)minute+;second=0; /主程序 void main(void) initial_data(); /初始化数据initial_time();/初始化定时器while(1)keyscan();jisuan();led_show(); 单片机接口技术课程

20、设计(论文)6第4章 设计总结出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能并能够通过LCD显示车费数目。本款出租车计价器包括单价输出、单价调整、显示当前的系统时间等功能。另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己

21、的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以前的学习过程中是不曾学到的。这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。由于能力和水平有限,实验经验尚浅,错误之处在所难免,恳请老师加以纠正,以后不断学习改进!参考文献1 张毅刚.彭喜元 单片机原理与应用设计 北京.电子工业出版社,2012.2 何立民.单片机应用技术选篇(5)M.北京:北京航空航天大学出版社,199

22、7.3 杨光友.单片机微型计算机原理及接口技术M.北京:中国水利水电出版社,2002.4 肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8 5 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001 6 赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社,2001.3 7 李广第 单片机基础 第1版北京:北京航空航天大学出版社,1999 8 徐惠民、安德宁单片微型计算机原理接口与应用第1版北京:北京邮电大学出版社,1996 9 何立民从Cygnal 80C51F看8位单片机发展之路 单片机与嵌入式系统应用,2002年,第5期:P58 附录1:整体电路原理图附录2:器件清单序号名称数量1AT89C51单片机12LED显示灯43晶振14电阻25按键46Respack116

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922