首页 基于MCS单片机出租车计价器的设计

基于MCS单片机出租车计价器的设计

举报
开通vip

基于MCS单片机出租车计价器的设计PAGE\*MERGEFORMAT3微型计算机技术专业方向课程设计任务书题目名称:基于MCS-51单片机的出租车计价器的设计专业自动化班级122班姓名张欣学号201228102学校:青岛理工大学自动化学院指导教师:史贺男2014年12月9日课程设计任务书课程名称:微型计算机技术设计题目:基于MCS-51单片机的出租车计价器的设计系统硬件要求:出租车计价按4公里起步费为7元,每公里2元计费,无等待计费功能。要求每1s采样一次,假设轮胎周长1米,使用中断完成,费用精度要求1元。显示部分为LED动态显示设计;并有键...

基于MCS单片机出租车计价器的设计
PAGE\*MERGEFORMAT3微型计算机技术专业方向课程设计任务书题目名称:基于MCS-51单片机的出租车计价器的设计专业自动化班级122班姓名张欣学号201228102学校:青岛理工大学自动化学院指导教师:史贺男2014年12月9日课程设计任务书课程名称:微型计算机技术设计题目:基于MCS-51单片机的出租车计价器的设计系统硬件要求:出租车计价按4公里起步费为7元,每公里2元计费,无等待计费功能。要求每1s采样一次,假设轮胎周长1米,使用中断完成,费用精度要求1元。显示部分为LED动态显示设计;并有键盘设计;硬件设计:1)最小系统设计:AT89C51单片机为本设计的控制器,包括外扩ROM,RAM各32M(其大小由设计者自己设计),系统时钟电路、复位电路等构成的最小系统;2)接口电路的设计:设计者扩展一个并行接口〔8155或8255〕,键盘设计由设计者根据需要设计键盘的数量,显示采用LED显示,显示电路也根据显示的内容设计;3)有开机显示状态(如显示000000);4)在完成基本设计功能同时可以增加功能。软件设计:1)主程序设计(包括初始化芯片,定时器,中断以及SP指针等);2)各功能子程序设计,温度采集计算子程序、键盘子程序\显示子程序设计,定时,中断程序等;)其他要求:1、每位同学独立完成本设计。2、依据题目要求,提出系统设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。3、设计系统电路原理图。调试系统硬件电路、功能程序。编制课程设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 书并装订成册,报告书内容(按顺序)(1)报告书封面(2)课程设计任务书(3)系统设计方案的提出、分析(4)系统中典型电路的分析(5)系统软件结构框图(6)系统电路原理图(7)源程序(8)课设字数不少于2000字成绩评语摘要本文是以MCS-51单片机系统为基础的,通过霍尔传感器检测车轮转动,生成计数脉冲,由MCS-51单片机内部计数器进行计数,从而计算出行驶距离,以及随行驶距离变化而变化的收费金额,通过多位数码管显示出来。由于51单片机内部ROM容量小,采用2764扩展外部ROM来存储程序。本系统最大化地利用了单片机的内部资源,结构简单,性能稳定,操作方便。关键词:计价器,MCS-51,霍尔传感器,2764TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc406622300"第一章系统总体设计PAGEREF_Toc406622300\h6HYPERLINK\l"_Toc406622301"1.1系统概述PAGEREF_Toc406622301\h6HYPERLINK\l"_Toc406622302"1.2系统原理分析PAGEREF_Toc406622302\h6HYPERLINK\l"_Toc406622303"第二章软件部分PAGEREF_Toc406622303\h6HYPERLINK\l"_Toc406622304"2.1主程序的设计PAGEREF_Toc406622304\h6HYPERLINK\l"_Toc406622305"2.2定时器中断程序的设计PAGEREF_Toc406622305\h8HYPERLINK\l"_Toc406622306"2.3外部中断0的程序设计PAGEREF_Toc406622306\h9HYPERLINK\l"_Toc406622307"2.4外部中断1的程序设计PAGEREF_Toc406622307\h10HYPERLINK\l"_Toc406622308"2.5数码管显示的程序设计PAGEREF_Toc406622308\h10HYPERLINK\l"_Toc406622309"第三章硬件部分PAGEREF_Toc406622309\h12HYPERLINK\l"_Toc406622310"3.1单片机最小系统及键盘模块PAGEREF_Toc406622310\h12HYPERLINK\l"_Toc406622313"3.2数码管显示模块PAGEREF_Toc406622313\h13HYPERLINK\l"_Toc406622314"3.3霍尔传感器模块PAGEREF_Toc406622314\h13HYPERLINK\l"_Toc406622315"3.4外部存储器模块PAGEREF_Toc406622315\h14HYPERLINK\l"_Toc406622318"第四章辅助调试工具PAGEREF_Toc406622318\h15HYPERLINK\l"_Toc406622319" 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf PAGEREF_Toc406622319\h16HYPERLINK\l"_Toc406622320"参考文献PAGEREF_Toc406622320\h17HYPERLINK\l"_Toc406622321"附录一程序代码PAGEREF_Toc406622321\h18HYPERLINK\l"_Toc406622322"附录二硬件电路图PAGEREF_Toc406622322\h23HYPERLINK\l"_Toc406622323"附录三PCB图PAGEREF_Toc406622323\h24第一章系统总体设计1.1系统概述根据课程设计要求的性能指标,本系统要满足一定精度的价格计算的基本功能,同时系统还具有动态显示当前的计费值的功能和键盘操作的功能。1.2系统原理分析本文以MCS-51单片机系统为基础,通过霍尔传感器对车轮转动进行检测。车轮轴上有一个小磁钢,车轮每转动一圈,磁钢靠近一次霍尔传感器,传感器输出一个脉冲。单片机通过T1计数器对该脉冲进行计数,并根据轮胎周长计算行程,再根据计价规则算出计费值,通过数码管显示,计费精度达到1元。本系统设计简单,性能稳定,能够通过单片机灵活编程进行各种功能的设定和修改。根据本课题的设计目标以及硬件的特点,本系统的总体设计框图如图所示。HYPERLINK\l"_Toc263671927"第二章软件部分HYPERLINK\l"_Toc292606224"2.1主程序的设计设计思路:主程序主要执行定时器、计数器、中断的初始化,以及对数码管进行扫描显示。首先开中断,包括定时器0中断、外部中断0和1;然后配置外部中断触发模式,以及定时器初值;最后扫描显示数码管。其中,由于计数器每次返回计数值不确定,为了准确地工作,定时器与计数器均工作在方式一模式,外部中断触发方式为下降沿触发。晶振频率为12MHz,定时器0每次重装值为65536-5000,即每次定时器中断计时为5000*12/(12MHz)=5ms.流程图:程序代码:IE=0X8F;//开中断TMOD=0X51;TH0=(65536-5000)/256;//定时器初值为60536,即5msTL0=(65536-5000)%256;IT0=1;IT1=1;//中断定时器初始化while(1){while(z==1)//未检测到开始按键之前显示0{JG(0);}while(z==0)//开始之后数码管显示当前计费值q{JG(q);}}HYPERLINK\l"_Toc292606224"2.2定时器中断程序的设计T0作为定时器开中断,进入中断首先执行定时器初值的重装,然后判断计费器是否处于计费状态,从而决定是否向TH1和TL1取回计数值,计算总行程以及当前计费值并存入单片机。总行程与当前计费值分别记为zong和q.计算方法根据设计要求得到,起步价为4km7元,以后2元/km,要求精度为1元,所以程序为每500m计费1元。流程图:T0中断程序否清空计数器并返回主函数计算总行程与计费金额是是否到采样时间是否是否暂停重装定时器初值程序代码:staticnum=0;TH0=(65536-5000)/256;TL0=(65536-5000)%256;//定时器初值重装为60536num++;if(flag==0)//若flag为0,则按下了暂停键,此时每次定时器时间到计数器清零{TH1=0;TL1=0;}if((num>=2)&&flag)//若flag为1,且定时器时间到采样时间,为了更灵敏地显{//示计费,扫描周期设定为2个中断周期num=0;shu=TH1*256+TL1;zong=zong+shu;//定时器数值存入zongTH1=0;TL1=0;//计数器清零if(zong>=4000){q=(zong-4000)/500+7;//若果zong大于起步公里数(4km)进行此步计算价格}}HYPERLINK\l"_Toc292606224"2.3外部中断0的程序设计外部中断0用于检测按键“开始/暂停”。“开始”被按下 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示计价器从非计费状态转为计费状态或暂停,此时计数器与定时器均为开通状态。程序代码:flag=!flag;//按下一次开始,再次按下取反z=0;TR0=1;//定时器开通TR1=1;//计数器开通HYPERLINK\l"_Toc292606224"2.4外部中断1的程序设计外部中断0用于检测按键“复位”。“复位”被按下表示计价器从计费状态转为非计费状态或保持非计费状态,总行程(zong)与计费值(q)回到初值,关闭定时器与计数器,清空计数值。程序代码:z=1;//非计费状态flag=0;q=7;zong=0;TR0=0;//关闭定时器TR1=0;//关闭计数器TL1=0;TH1=0;HYPERLINK\l"_Toc292606224"2.5数码管显示的程序设计此系统采用数码管显示,因此需要计算每一位的显示值。这里采用多位数码管,每次只能显示一位,为了让多位数码管看起来都亮,程序必须高速扫描显示,由于人的视觉暂留效应,会看起来多位数码管都亮了。值得注意的是,随着程序运行,同一位的显示值会变,这体现在数码管段的亮灭上,为了不使显示不清晰,下次点亮之前必须先关闭该位,即不显示。程序代码:sbitL1=P3^6;//千位sbitL2=P3^4;//百位sbitL3=P3^1;//十位sbitL4=P3^0;//个位#definecom1L1=1;L2=0;L3=0;L4=0#definecom2L1=0;L2=1;L3=0;L4=0#definecom3L1=0;L2=0;L3=1;L4=0#definecom4L1=0;L2=0;L3=0;L4=1#definecom0L1=0;L2=0;L3=0;L4=0//单个数码管点亮定义P1=tab[a%10];//最低位(个位)com4;//点亮个位delay(10);//延时com0;//关闭显示P1=tab[(a/10)%10];//十位com3;delay(10);com0;P1=tab[(a/100)%10];//百位com2;delay(10);com0;P1=tab[a/1000];//千位com1;delay(10);com0;voiddelay(uintb)//延时函数{uintx=110;for(x;x>0;x--)for(b;b>0;b--);}第三章硬件部分3.1单片机最小系统及键盘模块80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有HYPERLINK"http://baike.baidu.com/view/2246970.htm"\t"_blank"时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统HYPERLINK"http://baike.baidu.com/view/709701.htm"\t"_blank"数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。80C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本系统包括晶振电路,复位电路,扩展外部ROM电路,键盘电路等,为了不使电路看起来过于混乱,这里采用网络标号的方法代替连线。电路图如下:图13.2数码管显示模块用数码管显示价格低廉且亮度高,很适合用于计价器显示。图中P1口(网络编号B)用于显示数码管,接数码管段选端。P3.0、P3.1、P3.4、P3.6(网络编号C)接数码管位选端。图23.3霍尔传感器模块霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。图3使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在车轮转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。所以霍尔传感器测速实际上是测转轴转动频率。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。这种传感器不怕灰尘、油污,在工业现场应用广泛。霍尔传感器测速电路原理图如下:图4在仿真电路中,为了更清晰明了地展示计价器的工作,霍尔传感器采样的部分用一个模拟脉冲发生器代替了(见图1),接P3.5/T1计数器计数通道。3.4外部存储器模块本系统扩展8KROM,用了一片2764以及一片地址锁存器74LS373,其中使用地址线P0.0~P0.7及P2.0~P2.4,P0.0~P0.7复用为数据线。单片机EA脚接地,程序存储地址均为外部ROM.地址范围为:0000H~1FFFH扩展原理图如下:图5第四章辅助调试工具使用proteus辅助调试,可以直观地看到程序及硬件电路的实现效果,设计者可以很方便地根据效果分析系统存在的问题,并找出解决方法,而且可以通过模拟测量仪器对电路进行实时监控。如图所示:图6图7总结出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。所以,我们小组进行了出租车计价器的设计。经过一段时间的学习设计,出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能并能够通过数码管显示车费数目。即使这样,在设计调试仍然存在一些问题,可能无法做到真正的实践使用,还需要一些调整改正。这一段时间,经过小组成员的努力,我们基本完成了初始设计目的,但在这个过程中我发现自己存在一些问题,那就是我平时学习积累远远不够,在参与设计的过程中,有许多力不能及的地方,都是在上网学习后者组员帮助下才能完成。这说明了一点,书本上的东西真要实践起来是完全不一样的,在这方面我有很大的不足,实践方面的能力远远不够。虽然在这次设计中我有很多的不足,但正是在这次设计中我学到了很多东西,通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以前的学习过程中是不曾学到的。并且这次设计还使我认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。参考文献:《单片机原理及其接口技术》(第三版)胡汉才主编《数字电子技术基础》(第五版)清华大学电子学教研室组编阎石主编《自动检测技术及仪表控制系统》(第三版)张毅张宝芬曹丽彭黎辉编附录一程序代码#includetypedefunsignedintuint;typedefunsignedcharuchar;voiddelay(uintb);//延时函数声明voidJG(uinta);//价格数值拆分及显示函数sbitL1=P3^6;sbitL2=P3^4;sbitL3=P3^1;sbitL4=P3^0;#definecom1L1=1;L2=0;L3=0;L4=0#definecom2L1=0;L2=1;L3=0;L4=0#definecom3L1=0;L2=0;L3=1;L4=0#definecom4L1=0;L2=0;L3=0;L4=1#definecom0L1=0;L2=0;L3=0;L4=0//单个数码管点亮定义ucharcodetab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0x0F8,0x80,0x90};ucharz=1,flag=0;uintq=7,zong=0,shu=0;voidmain(){IE=0X8F;TMOD=0X51;TL0=(65536-5000)%256;TH0=(65536-5000)/256;IT0=1;IT1=1;//中断定时器初始化while(z==1)//未检测到开始按键之前显示0{JG(0);}while(z==0)//开始之后数码管显示{JG(q);}}voidTT0(void)interrupt1//定时器中断{staticnum=0;TH0=(65536-5000)/256;TL0=(65536-5000)%256;num++;if(flag==0)//若flag为0,则按下了暂停键,此时每次定时器时间到计数器清零{TH1=0;TL0=0;}if((num>=2)&&flag)//若flag为1,且定时器时间到扫描时间{num=0;shu=TH1*256+TL1;zong=zong+shu;//定时器数值存入zongTH1=0;TL1=0;//计数器清零if(zong>=1000){q=(zong-500)/500+7;//若果zong大于起步公里数进行此步计算价格}}}voidTT1(void)interrupt3{}voidkaishi0(void)interrupt0//开始暂停按键检测{flag=!flag;//按下一次开始,再次按下取反z=0;TR0=1;TR1=1;}voidfuwei(void)interrupt2//复位按键检测{z=1;flag=0;q=7;zong=0;TR0=0;TR1=0;TL1=0;TH1=0;}voidJG(uinta)//价格数值拆分及显示函数{P1=tab[a%10];com4;delay(10);com0;P1=tab[(a/10)%10];com3;delay(10);com0;P1=tab[(a/100)%10];com2;delay(10);com0;P1=tab[a/1000];com1;delay(10);com0;}voiddelay(uintb)//延时函数{uintx=110;for(x;x>0;x--)for(b;b>0;b--);}附录二硬件电路图附录三PCB图
本文档为【基于MCS单片机出租车计价器的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:doc
大小:901KB
软件:Word
页数:25
分类:
上传时间:2022-05-10
浏览量:2