--
--
黑龙江东方学院
毕业论文(设计)
题目:基于单片机的车速里程表的设计
学生姓名
学号
专业
班级
指导教师
学部
答辩日期2012年5月19日
--
--
黑龙江东方学院本科生毕业论文(设计)任务书
姓名学号专业班级电气工程及其自动化3班
毕业论文(设计)题目:基于单片机的车速里程表的设计
毕业论文(设计)的立题依据
主要内容及要求
进度安排
12月12日选题
12月13日~12月29日接受指导老师的指导
12月3日~关于奋斗的作文 1月17日拟定论文大纲
1月18日~2月26日搜集、查阅、整理相关资料
2月27日~3月27日初稿形成
3月28日~4月8日初稿审定
4月9日~4月17日第一次修改
4月18日~4月22日第一次审定
4月23日~5月3日第二次修改
5月4日~5月9日定稿
5月1日~5月18日论文评阅小组评审论文(设计)
5月19日毕业论文(设计)答辩
学生签字:
指导教师签字:
年月日
--
--
基于单片机的控制车速里程表的设计
摘要
里程表广泛应用于各类机车,传统的机械式里程表虽然稳定可靠,但功能单一、易
受磨损。随着电子技术的迅猛发展,电子式里程表得以广泛应用,现在很多轿车仪表
已经使用电子车速里程表,本设计介绍一种基于单片机的智能电子里程表。该电子式里
程表是一种数字式仪表,主要由车速表和里程表两部分组成,其传感器采用无接触测量
的光电传感器。它不仅可显示车辆行驶的总里程,也可显示一段时间的阶段里程,还可
显示车速,以及实现超速报警等功能,并具有较强的再开发能力。它的实现方式是,通
过安装在汽车转轴上的测量盘,用霍尔传感器检测使转速物理量变换成脉冲电量,通过
单片机测量产生脉冲的频率就可以得出圆盘的转速,再通过计算,从而得出里程、车速
的信息,并由LED显示器显示出来。并且该电子式里程表累积的里程数字存储在非易
失性的EEPROM存储器内,在无电状态下数据也能保存。
关键词:AT89C52,数码管显示器,霍尔传感器,存储器
--
--
Speedodometerdesignbadonsinglechip
microcomputercontrolAbstract
Permeateinthesocialrealmalongwiththecalculatorinrecent
years,singleslicetheapplicationofthemachinejustatconstantly
alig生活方面 nmentthorough,arouatraditionalcontrolanexaminationaday
anewmoonbenefitrenewalinthemeantime.Insolidlythehourthee
xaminationthesingleslicethatcontrolswithautothemachineth
eapplicationthesystem,singleslicemachineusuallyBea
corepartstou,onlysingleslicethemachineaspectknowledge
isnotenough,returnshouldaccordingtoconcretethehardwarestructure,
andaimatconcreteapplicationthesoftwareof[with]theobject
characteristicscombinetomakeperfingmanypassagepres
suresystemsesistomakeuseofpressuretospreadthefeeling
machinetocollectcurrentpressurecombinethereflectioniso
nthedisplay,itcananalyzethepressuresurfeitdistance,er
uptingtoreporttothepolice.Combinetheadoptionelectronicsst
eelyardprinciplecanaccordingtoinputtheamountofmoneythattheunitpric
ecomputesanobjectaccurately
Thisthesisdiscussthatpourthedesignandcreationofthe
timerinbrief,forpourfourLEDfiguresdisplaysinthetimertosay,I
amforthesakeofthesimplificationcircuit,declinelowcost,adoptto
takesoftwareastheconnectoflordapeople'smethod,donot
uspecializedhardwaretotranslatethecodemachinenamely,butado
ptthesoftwareproceduretocarryontranslatingcode
Keywords:AT89C52,digitaltubedisplay,countdowntimer,Holz
ersensor
--
--
目录
摘要...........................................................................................................错误!未定义书签。
Abstract....................................................................................................错误!未定义书签。
第1章绪论ﻩ错误!未定义书签。
1.1课题背景ﻩ错误!未定义书签。
1.2国内外研究现状...........................................................................错误!未定义书签。
1.3主要研究内容ﻩ错误!未定义书签。
第二章车速里程表总体设计...................................................................错误!未定义书签。
2.1总体设计思路ﻩ错误!未定义书签。
2.2子程序和主函数的设计..................................................................错误!未定义书签。
2.3车速里程表的简介组成及原理ﻩ错误!未定义书签。
第三章系统硬件设计ﻩ错误!未定义书签。
3.1AT89C52单片机的的介绍ﻩ错误!未定义书签。
3.2AT89C52单片机的硬件结构....................................................................................10
3.3主要性能参数ﻩ11
3.4霍尔传感器电路........................................................................................................11
3.5LED显示模块电路及74LS07驱动器.......................................错误!未定义书签。
第四章软件设计ﻩ错误!未定义书签。
4.1主程序设计流程图ﻩ错误!未定义书签。
4.1.1初始化模块ﻩ错误!未定义书签。
4.1.2主程序模块ﻩ错误!未定义书签。
4.1.3中断处理模块.......................................................................错误!未定义书签。
4.2车速测量子程序流程图ﻩ错误!未定义书签。
第五章软件调试.......................................................................................错误!未定义书签。
5.1程序的检测与调试ﻩ错误!未定义书签。
5.2PROTEUS仿真过程ﻩ错误!未定义书签。
结论...............................................................................................................错误!未定义书签。
参考文献ﻩ错误!未定义书签。
致谢.....................................................................................................错误!未定义书签。
--
--
--
--
基于单片机的控制车速里程表的设计
第1章绪论
1.1课题背景
本题目根据车速、里程的测量原理,以AT89C52系列单片机为核心器件,组成点
阵式的液晶显示屏,通过编程显示车速里程。按照设计要求熟悉系统硬件电路、接口电
路,完成硬件电路的电路板的设计,完成该系统的程序设计,提交程序设计框图及程序
设计清单。
1.2国内外研究现状
我国汽车工业走过了五十年的历程,与国际发达国家汽车工业相比,电子技术水平
相对比较落后,提高国产汽车的电子技术水平,增加汽车电子装备的数量,促进汽车电
子化是夺取未来汽车市场的关键,提高我国的汽车电子技术已势在必行。
随着中国的复关,国外汽车零部件厂商也大举进入中国参与竞争。电子式仪表及新
型传感器是各类车型汽车的首选配套产品,通用性好,市场前景广阔。目前国外汽车车
速里程表已广泛采用电子式机芯结构,而国内汽车仪表一直是机械式车速里程表的天
下,少数采用动圈式电子仪表,通过大量市场调研,我们清楚地看到进入20世纪以
来汽车工业迅速发展,而电子产品则是汽车提高技术含量的晴雨表。国外电子产品占整
车成本的30%,然而我国汽车行业起步较晚,技术十分落后,电子产品仅占整车成本的
5%。例如国外汽车早已装配电子式仪表,而我国汽车仍在应用传统的机械仪表,可靠性
很差。目前汽车仪表控制电子化是一种发展趋势,由先进的传感器与显示装置构成的
电子仪表已开始全面取代传统的机电式仪表,成为现代汽车的明显标志。
一般汽车的常规仪表有车速里程表、转速表、机油压力表、水温表、燃油表、充
电表等。仪表板中最常用的是车速里程表,目前很多轿车仪表已经使用电子车速表,它
通过变速器上的速度传感器获取信号,通过脉冲频率的变化使指针偏转或者显示数
字。随着汽车电子半导体技术的发展,多功能、高精度、高灵敏度、读数直观的电
子数字显示及图像显示的仪表已不断应用于汽车。汽车仪表的功能已不仅仅是单纯的
显示,而是通过对汽车各部件参数的监测和计算机处理相配套,从而达到控制汽车各种
运行工况的目的。因而电子式里程表的广泛应用将会很大的提高中国的汽车电子技术
水平。
1.3主要研究内容
--
--
单片机软件设计程序主要包括里程设计模块;存储历史里程数据设计模块;里程的
显示设计模块;里程公里数的累计设计模块;里程公里数的清0设计模块。里程计数时
有一盏指示灯闪烁;用AT89C52进行对历史里程数据存储;用共阴7段动态显示的数
码管进行显示公里数;用个开关实现对里程公里数的清0功能;用霍尔传感器实现对里
程车轮圈数的累计功能。
一、主要技术指标
1、计算速度和路程。
2、存贮历史里程数据。
3、量程记满时清除历史里程数据。
4、显示及时速度。
二、工作内容如下
本设计的硬件包括:
AT89C52芯片:程序的处理和控制中心。
74HC573驱动器:存储和所存段选、位选数据。
SignalGenerator脉冲发生器:模拟霍尔传感器,向芯片外部中断提供脉冲。
RESPACK8八位排阻:将P0口拉成高电平。
7SEG-MPX8-CC-BLUE八位共阴极数码管(蓝色):显示速度和路程数据
各部分介绍如下:
1、初始化:打开外部中断和定时器0中断,当有脉冲来的时候就进入中断程序。
2、外部中断:记录一个脉冲时间time;计算一个脉冲时间的速度,五个速度作
为一个数组,高低速判断;开启T0,记脉冲数为n。
3、定时器0中断:记50毫秒时间赋值给t.
4、处理函数:给出速度和路程的计算公式。
--
--
ﻩv=0.9*pi*r/time
ﻩﻩs=0.00025*pi*r*n
显示程序:用三位数显示速度,四位数显示路程。
--
--
第二章车速里程表总体设计
一个完整的单片机系统,包括软硬件两个方面。硬件是系统可靠运行的“载体”,
是基础,而软件则是使“载体”产生动力的发电机,二者相辅相成,缺一不可。从设计者
的角度出发,一个硬件电路的设计过程往往就是设计者的经验不断积累的过程。
总体设计流程:
在设计硬件电路时:
一般的流程是:
(1)器件选择(包括单片机和外围芯片的选择)
(2)电路图绘制
(3)PCB制板
(4)硬件检查和排错
(5)硬件电路调试完毕
只有在硬件平台建立之后才能更好进入软件系统的调试。
在进行软件系统的设计时,设计者首先要建立完整,总体的概念,一个完整的软件
系统是由各个功能模块组成的。程序设计者要时刻牢记如何将那些独立,分散的子程
序模块通过主程序连接起来,并最终实现系统的目标功能。
2.1总体设计思路
第一步程序初始化,当没有产生中断时,程序进入处理程序,接着进入显示程序;
当产生中断时,先进入外部中断服务程序和定时器0中断服务程序,后面的和没有产生
中断时相同。在整个程序中中,不停地扫描有没有产生中断。
流程图如下图3.1。
--
--
图2.1程序流程图
2.2子程序和主函数的设计
一、子程序的设计
设汽车轮子半径为r,脉冲数为n,t=50毫秒,一个脉冲的时间为time,速度为v
(km/h),路程为s(km),pi=3.14。
初始化
处理程序
定时器0中断
外部中断
显示程序
是否产生中断
Yes
no
开始
结束
--
--
子程序按模块化的思路编写。各子程序如下:
1.初始化:设置T0计时器工作方式1,输入口为p3.2
开总中断。ﻩ
打开外中断0中断控制位.
设置外部中断0优先级控制位。
设置外部中断0触发方式为边沿触发方式。
打开T0中断允许。
2.外部中断:当P3.2口有脉冲时进入外部中断0。
time=sec+t*0.05,记一个脉冲的时间。
tab_v[5]=0.9*pi*r/time,计算速度并放入数组中。
高低速的判断,当V>=5时为高速,并用flag=0,记高速标志位,
flag=1,记低速标志位;
for(i=0;i<6;i++)
tab_v[i]=tab_v[i+1];ﻩ//数组移数据
关闭T0,给T0赋50毫秒初值。
开启T0,当来一个脉冲n++;
当n==50000时,n清零n=0;
3.定时器0中断:当来一个脉冲进入定时器0中断,给T0定时器赋50毫秒初值,
当记满50毫秒t++。
4.处理函数:计算速度分高速和低速。
速度计算公式:tab_v[5]=0.9*pi*r/time;(单位km/h)
低速时:v=tab_v[5],即显示第五个速度值。
--
--
高速时:ﻩv+=tab_v[i];计算五个速度之和。
v=v/5;求得平均速度。
路程公式:s=0.00025*pi*r*n,随着脉冲n的增加s不断累加。
5.显示程序:用三位数显示速度,四位数显示路程。
ﻩvoidshow(ucharj,uchark),j设为断码数,k设为位码数
打开段选,赋P0=tab_duan[j]送断码,然后关闭段选。
打开位选,赋P0=tab_we[k];送位选码,然后关闭位选
二、主函数的设计
ﻩ主函数在初始化程序之后采用循环设计。
当不断发送脉冲时,程序从外部中断到显示程序一直循环。
其中main函数中调用show函数如下:
show(v1/100,0);ﻩ显示速度百位
show(v1/10%10,1);显示速度十位
show(v1%10,2);ﻩ显示速度个位
show(s1/1000%10,4);ﻩ显示路程千位
show(s1/100%10,5);ﻩ显示路程百位
show(s1/10%10,6);显示路程十位
show(s1%10,7);显示路程个位
2.3车速里程表的简介组成及原理
并汽车车速里程表分为滚轮计数器和点距液晶屏式两种,由指示汽车行驶速度的
车速表和记录汽车所行驶过距离的里程计组成的,二者装在共同的壳体中,并由同一根轴
--
--
驱动。普通车速表一般为磁感应式。
滚轮计数器是过去常用的纯机械式仪表,通过一根软轴,一头连到变速箱输出
轴,另一头连到里程表;而现在更常用的电子式仪表,它一般是在变速箱输出轴或车
轮上装一个转速传感器,用读出的转速通过控制模块内嵌的计算公式来换算成车
速以及历程。不管是哪种方式,归根结底,数据都是来自于传动系统输出端的转
速(变速箱输出轴或车轮),知道了车轮的转速,比如每分钟转多少圈,再将车
轮的周长。
车速里程表实际上由两个表组成,一个是车速表,另一个是里程表。
传统的车速表是机械式的,典型的机械式里程表连接一根软轴,软轴内有一根
钢丝缆,软轴另一端连接到变速器某一个齿轮上,齿轮旋转带动钢丝缆旋转,钢
丝缆带动里程表罩圈内一块磁铁旋转,罩圈与指针联接并通过游丝将指针置于零
位,磁铁旋转速度的快慢引起磁力线大小的变化,平衡被打破指针因此被带动。
这种车速里程表简单实用,被广泛用于大小型汽车上。不过,随着电子技术的发
展,现在很多轿车仪表已经使用电子车速表,常见的一种是从变速器上的速度传
感器获取信号,通过脉冲频率的变化使指针偏转或者显示数字里程计是由若干
个计数转鼓及其转动装置组成的。为了使用方便,有的车速里程表同时设有累计
里程计和区间里程计,累计里程计用来记录汽车累计行驶里程,区间里程计用来
记录汽车单程行驶里程。区间里程计有一个归零按钮,可以随时复位至零,重新
累计。
车速里程表是用来指示汽车行驶速度和累计行驶里程的仪表,由车速表和里程表
两部分组成,普通车速表一般为磁感应式,其结构如下路所示。
车速表主要由永久磁铁、铝罩、护罩、刻度盘和表针等组成,永久磁铁与主动轴
紧固在一起,主动轴由来自变速器输出轴的挠性软轴驱动,指针、铝罩固接在中心轴
上,刻度盘固定在表外壳上。不工作时,铝罩在游丝的作用下,使指针位于“0”
位。当汽车行驶时,软轴驱动主动轴带动“U”形永久磁铁旋转,在铝罩上感应出电涡流
而产生磁场,这个磁场与永久磁铁的旋转磁场相互作用产生钮矩,使铝罩向永久磁铁旋
转方向转过一定角度,直到由游丝的弹力所产生的反方向扭矩与之平衡。车速越高,产
生的扭矩越大,指针在刻度盘上摆动的角度就越大,即指示的车速就越高。里程表主
要由蜗轮蜗杆和数字轮组成,当汽车行驶时,主动轴经三对蜗轮蜗杆驱动数字轮上的
最右侧的第一个数字轮(一般为1/10Km),任一个数字轮与左侧相邻的数字轮传动比
都为10:1,这样显示的数字呈十进位递增,便自动累积了汽车总的行驶里程。图1.
1
--
--
图1.1汽车速度里程表
--
--
第三章系统硬件设计
3.1AT89C52单片机的的介绍
在众多的单片机系列中,AT89C52是一种低功耗、高性能CMOS8位微控制器,具
有8K在系列可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制
造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可
编程,也适用于常规编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flas
h,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超高效的解决方案。
AT89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口
线,3个16位定时器/计数器,一个响亮2级中断结构,全双工串行口,片内晶振及时钟
电路。另外,AT89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空
闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保
护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或
硬件复位为止。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的
方案。故此选用AT89C52单片机。
3.2AT89C52单片机的硬件结构
如图3-1所示,为AT89C52的硬件结构图。AT89C52单片机的内部结构与MCS-
51系列单片机的构成基本相同。CPU是由运算器和控制器所构成的。运算器主要用来
对操作数进行算术、逻辑运算和位操作的。控制器是单片机的指挥控制部件,主要关于龙的成语 任
务的识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动
而协调地工作。它的程序存储器为8K字节可重擦写Flash闪速存储器,闪烁存储器允
许在线+5V电擦除、电写入或使用编程器对其重复编程。数据存储器比51系列的单
片机相比大了许多为256字节RAM。AT89C52单片机的指令系统和引脚功能与
MCS-51的完全兼容。
图3-1单片机89C52结构框图
3.3主要性能参数
CPU
串行通讯
口
RAM
输入输出
接口
计数器定时器
时钟
FLASH
--
--
•8K字节可重擦写Flash闪速存储器
•1000次可擦写周期
•全静态操作:0Hz-24MHz
•三级加密程序存储器
•2568字节内部RAM
•32个可编程I/O口线
•3个16位定时/计数器
•8个中断源
•可编程串行UART通道
•低功耗空闲和掉电模式
图3-2AT89C52外部引脚图
3.4霍尔传感器电路
1.霍尔传感器工作原理
霍尔传感器是根据霍尔效应制作的一种磁场传感器霍尔效应是磁电效应的一种,这
一现象是霍尔(A.,1855—1938)于1879年在研究金属的导电机构时发现
的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,
利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理
等方面。霍尔效应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔
系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。
--
--
图3.3霍尔效应示意图
2.霍尔效应
如图2.3在半导体薄片两端通以控制电流I,并在薄片的垂直方向施加磁感应强度
为B的匀强磁场,则在垂直于电流和磁场的方向上,将产生电势差为UH的霍尔电压。
3.霍尔元件
根据霍尔效应,人们用半导体材料制成的元件叫霍尔元件。它具有对磁场敏感、
结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测
量、自动化、计算机和信息技术等领域得到广泛的应用,原理图如图2.4。ﻫ4特点
1内置斩波放大器ﻫ2可选范围广,支持各种应用:检测两极、检测S极、检测
N极(*1)、动态“L”、动态“H”(*1)、Nch开路漏极输出、CMOS输出。
3宽电源电压范围:2.4V~5.5Vﻫ4低消耗电流:5.0A典型值、8.0
A最大值。ﻫ5工作温度范围:-40℃~+85℃,磁性的温度依赖性较小。ﻫ6
采用小型封装:SNT-4A,SOT-23-3ﻫ7无铅产品
标准电路
ﻫ
图3.4霍尔效应原理图
--
--
3.5LED显示模块电路及74LS07驱动器
LED显示器采用动态显示,用74LS07驱动共阴极LED数码管。LED显示模块电
路图,
如图3.4.5-1所示。LED数码管结构图,如图3.4.5-2(a),(b)为共阴极型,(c)为共阳
极型。
--
--
图3.4.5-1
图3.4.5-2
OC门驱动器用7407,7407即TTL集电极开路六正相高压驱动器.当7407输
出低电平时,没有电流流过LED,当7407输出为开路状态时,电流经100
限流电阻
流入LED显示器,每个七段LED的公共端都接一个7407驱动器。
7407模型如图3.4.5-3:
图3.4.5-3
--
--
7407引脚如图3.4.5-4:
图3.4.5-4
--
--
第四章软件设计
4.1主程序设计流程图
4.1.1初始化模块
初始化模块的主要任务是在单片机复位后主要程序设置的正确的变量,中断及
定时器的设置方式和控制字,将部分内存单位清零,开中断及定时器,将EEPROM中
的数据调入内存。包括初始化指针和里程数等。
4.1.2主程序模块
系统的软件是由一个主程序和若干子程序构成,主程序的主要功能是对所有的
参数进行初始化,设置程序执行过程中用到的
--
--
图4-1主程序流程图
开始
关中断
初始化
电源没开
关中断
步进电机初始化
LED刷新
延时
电源开
LED显示
开中断
--
--
相关变量,分配寄存器,然后在由各中断的要求调用相应的处理模块和子程序的
主要作用如下:
1.定义系统运行过程中所需要的变量。
2.分配硬件系统的自检。确定程序的执行无误。
3.完成系统的自检,确保程序的执行无误。
4.在程序的运行过程中,按要求依次完成对系统各个模块的调用,并将程序的运行
结果提供给用户。
5.在各模块的调用过程中,现实对调用过程的现场保护,避免程序跑飞,确保正确执
行,保存系统运行过程中的必要参数。
4.1.3中断处理模块
中断处理模块用于获取程序所需的各种参数。在主程序运行当中,如果有中断
请求即跳转到其他所要处理的子程序模块进行程序运行。一般情况下,中断程序中对数
据一般只做简单的读取和赋值工作,不对数据进行处理与计算,缩短中断程序的运行时
间,提高系统响应中断的实时性。
4.2车速测量子程序流程图
图4-2测量车速程序流程图
入口
测量周期脉冲数
保存车速计数器的值
表头指针角度
大于满度值
测量周期脉冲数
返回
步进电
机驱动
--
--
因为车速传感器输出的脉冲信号的频率是与车速成正比的,所以测得输出脉冲信
号的频率后就可计算出车速的大小。计算公式如下:
里程数X=(总接受到的脉冲数)/(速比*传感器半边脸疼 极对数),单位为千米
其中:速比=637,传感器极对数=8;
车速V=(3600*单位时间内的脉冲数)/(速比*传感器极对数),单位为千米/小时
本设计中选择的车速测量周期为1/4秒,及车速表的刷新周期为250微秒,而电
机的最小驱动间隔为0.125微秒,即电机的执行周期为0.125微秒,设置采样滤波周期,
每个周期中设置俩个监测点,时间间隔差为0.5微秒。根据指针偏角度公式‘指针偏角
=(角度/脉冲比)*频率/4计算出指针实际偏转角度。
4.3I/O口的控制方式
在单片机中,为了实现数据的输入输出传送,通常使用三种控制方式。即:无条件
传送方式,查询方式和中断方式]9[。
无条件传送方式适用于以下器件或设备的输入输出:
例如,机械或电子开关,指示灯,发光二极管,数码管等。它们随时处于“准备
好”
状态方便数据的传输。
查询方式:
为了实现查询方式的数据输入输出传送,需要由接口电路提供部,器件或设备的
状态,并以软件方法进行状态测试。因此,这是一种软,硬件方法结合的数据传送方
式。程序查询流程如图4.4-1所示。
图4.4-1
读入状态信
准备好了
数据传送
Y
N
--
--
中断方式:
中断方式与查询方式的主要区别在于如何知道,器件或外设是否为数据传输作好
了准备。查询方式是主机主动查询。而中断方式则为部,器件或外设主动请求。
采用中断方式进行数据传输时,当部,器件或外设为数据传输已作好准备之后,
就向主机发出中断请求(相当于通知主机),主机在接收到中断请求之后,在允许中断的
情况下,响应中断请求,暂停正在执行的原程序,转而去为部,器件或外设的数据提供
传输服务。待服务完成之后,程序返回,主机再从断点处继续执行原程序。
--
--
第五章软件调试
5.1程序的检测与调试
.程序的查错手段
单片机的应用系统均需借助对应的开发系统(或装置)进行在线仿真,对应用系统
的软,硬件进行全面地检测与调试。各种开发系统或装置均提供以下查错手段。
(1)单步执行
采用单步执行操作可对应用程序每步执行一条指令,可逐条检查这一段程序的执
行过程是否符合原设计要求。可直接查出错误所在。宏单步可执行一段程序,如一步
就可执行完整个循环程序段。
(2)断点设置全速运行
可在程序有疑虑的地方设置断点,从设置的起始地址开始,以全速或非全速方式向
设定的断点处运行。如果这段程序无语法或逻辑上的错误,则连续运行到设置的断点处
停止运行,返回监控状态。如果有错误,则在错误处停止运行,如果进入死循环或者程
序跑飞,就会永不停止运行。全速断点运行为检查实时性及中断响应处理等提供了方
便。
(3)显示器窗口检查
(4)实时跟踪记录
除上述之外,还有以下功能:
符号化调试。
在原程序中一般均以符号地址,标号等出现,通过汇编自动进行变换和调整,偏移
量等均可自动换算和填入。
程序的运行。
自动生成目标代码和固化]4[。
2.源程序的检测
--
--
在源程序进行调试之前,硬件系统必须基本正确,重点对源程序进行检测。
(1)对照程序流程图,先对相对独立的功能模块,子程序,中断服务程序等进行
仔细地检查,然后对整个主程序按其功能划分成若干程序段进行分段检查,逐步扩大到
整个程序系统。
检查时重点检查程序的逻辑功能,结构和算法,有关参量和初始值是否完善,正
确,关键性指令的选择是否合理,特别是借助开发系统也较难调试正确的隐患,只有通
过细心的检查加以排除。
(2)硬件系统检查。
硬件系统必须排除电源短路和碰线故障,然后空板(没有插上芯片等器件)进行上
电检查各电源点是否正确,有关逻辑电平及信号是否正确。确认无误之后逐次插上芯
片等器件,借助开发系统可检查出是否有硬件故障。一旦有故障时,开发系统的监控程
序将出现不能正常工作的现象。故可采用此法排除硬件系统的一般性故障。
有些故障只有通过软件调试才能排除,有时还需通过软件调试修改硬件设计。
3.源程序的调试
源程序的调试一般可分为分调,联调和考机3步进行。
(1)分调
首先将基本独立的子程序调试正确,符合原设计要求,用模拟的方法将中断服务程
序初调,然后将主程序按相对独立的功能程序段,遵照应用系统运行的逻辑顺序逐段
进行调试。
A)设置并输入一组符合要求的参量,启动程序段运行,观察运行情况或故障的影
响及现象。
B)对出现的问题进行仔细地分析,合理推测,借助开发系统的调试手段,逐步缩小
疑点范围,直至找出问题所在进行修改。
C)分析故障原因。
(2)联调
在分调基本完成的基础上进行联调,它将与整个系统的硬件,软件,环境密切相
--
--
关,必须联合在线调试。调试的重点在于主程与各功能模块程序段之间的连接处,整
个软件系统的执行顺序,逐个相连进行调试。
(3)考机
5.2PROTEUS仿真过程
一、电路原理图如下图4.1:
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
7
D
0
2
D
1
3
D
2
4
D
3
5
D
4
6
D
5
7
D
6
8
D
7
9
Q
0
1
9
Q
1
1
8
Q
2
1
7
Q
3
1
6
Q
4
1
5
Q
5
1
4
Q
6
1
3
Q
7
1
2
L
E
1
1
O
E
1
U2
74HC573
D
0
2
D
1
3
D
2
4
D
3
5
D
4
6
D
5
7
D
6
8
D
7
9
Q
0
1
9
Q
1
1
8
Q
2
1
7
Q
3
1
6
Q
4
1
5
Q
5
1
4
Q
6
1
3
Q
7
1
2警察手势
L
E
1
1
O
E
1
U3
74HC573
234567891
RP1
RESPACK-8
X
T
A
L
2
1
8
X
T
A
L
1
1
9
A
L
E
3
0
E
A
3
1
P
S
E
N
2
9
R
S
T
9
P
0
.
0
/
A
D
0
3
9
P
0
.
1
/
A
D
1
3
8
P
0
.
2
/
A
D
2
3
7
P
0
.
3
/
A
D
3
3
6
P
0
.
4
/
A
D
4
3
5
P
0
.
5
/
A
D
5
3
4
P
0
.
6
/
A
D
6
3
3
P
0
.
7
/
A
D
7
3
2
P
1
.
0
/
T
2
1
P
1
.
1
/
T
2
E
X
2
P
1
.
2
3
P
1
.
3
4
P
1
.
4
5
P
1
.
5
6
P
1
.
6
7
P
1
.
7
8
P
3
.
0
/
R
X
D
1
0
P
3
.
1
/
T
X
D
1
1
P
3
.
2
/
I
N
T
0
1
2
P
3
.
3
/
I
N
T
1
1
3
P
3
.
4
/
T
0
1
4
P
3
.
7
/
R
D
1
7
P
3
.
6/
W
R
1
6
P
3
.
5
/
T
1
1
5
P
2
.
7
/
A
1
5
2
8
P
2
.
0
/
A
8
2
1
P
2
.
1
/
A
9
2
2
P
2
.
2
/
A
1
0
2
3
P
2
.
3
/
A
1
1
2
4
P
2
.
4
/
A
1
2
2
5
P
2
.
5
/
A
1
3
2
6
P
2
.
6
/
A
1
4
2
7
U1
AT89C52
net=D9
图5.1车速里程表原理图
二、生成HEX文件如下图5.2。
--
--
图5.2生成文件
三、编译结果如下图5.3。
图5.3编译结果
仿真结果没有错误和警告,编译通过。
四、仿真结果如下图5.4和5.5。
仿真结果一表示:速度为0,路程也为0。
仿真结果二表示:速度为46km/h,行驶里程为3公里。
--
--
图5.4仿真结果一
图5.5仿真结果二
--
--
结论
本文设计的智能车速里程表是以单片机AT89C52为核心的智能化仪器,主要工作
包括软件和硬件的设计。总结可得以下结论。
1)该仪表的原理简单,系统设计和PCB设计中充分考虑了电磁兼容问题。
2)该仪表的显示采用液晶显示器,人的视觉不容易引起疲劳。
3)采用了AT89C52集成芯片,使仪表的结构简单,缩小了体积,降低了系统的
成本,并增加了系统的可靠性。
4)具有一定范围内的查询功能,可以查询上次的最大速值和里程。
5)系统软件全部采用C51编写,提高了程序的可读性和可移植性,整个单片机系
统简单、稳定、可靠,具有广阔的应用前景,有待于进步将其应用推广。
--
--
参考文献
[1]万福君,潘松峰,刘芳,吴贺荣,王秀梅.MCS-51单片机原理、系统应用[M].
清华大学出版社,2008.
[2]张迎新.单片机原理及应用(第二版)[M].电子工业出版社,2009.
[3]宋文绪,杨帆.自动检测技术(第三版)[M].高等教育出版社,2008.
[4]郭天祥.新概念51单片机C语言教程[M].电子工业出版社,2009.
[5]陈忠平,曹巧媛曹琳琳,刘琼,申晓龙.单片机原理及接口[M].清华大学出版
社,2007.
[6]李广弟等编著,单片机基础[M].北京航空航天大学出版社,2001年7月.
[7]马长芳等编著,新型集成电路及其应用实例[M].科学出版社,2002年11月.
[8]鲍宏亚等编著,MCS-51系列单片机应用系统[M].中国宇航出版社,2005年
月.
[9]吴金戌等编著,8051单片机实践与应用[M].清华大学出版社,2005年8月.
[10]陈炜钟实,洪明,隋元主编,精选家用电子制作电路300例[M].民邮电出版
社,1998年9月.
[11]李全利,迟荣强,单片机原理及接口技术[M].北京高等教育出版社,2004年
1月.
[12]李光才,楼然笛,单片机课程设计实例指[M].北京航空航天大学出版
社,2004年.
[13]谷树忠,闫胜利主编Protel2004实用教程[M].电子工业出版社,2005年
2月.
[14]李勋,刘源,李静东.单片机实用教程[M].北京航空航天大学出版社,2006.
[15]刁文兴.自行车电子里程表的初步设计[M].南京工业职业技术学院学报,20
04,6:25-28.
[16]许德章等.摩托车电子转速表智能校验仪[M].自动气球简笔画 化仪表,2000,4:23-
24.
[17]安宗权.电动电子车速里程表分频电路设计[M].自动化与仪器仪表,200
1,5:39-44.
[18]阎焕忠,王长涛,马斌.单片机控制里程转速表的设计[M].沈阳建筑工程学院
学报(自然科学版),2002,4:145-148.
--
--
致谢
在经过许久的时间,我在不断努力下完成了大学毕业设计的课题要求。在设计与调
试过程中,我得到王燕老师的亲切关怀和悉心的指导,在此表示深深地感谢。王老师严肃
的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励了我。面对课题
所需的要求来说。这对我来说是很大的挑战。在王老师的指导和帮助下,我查找了相关
的资料,拟订了设计思路和方案,经过不断修改和调试完成了设计内容。同时我要感谢帮
助我的同学,在程序编写和仿真调试的时候曾出现了不少问题,通过与同学共同的研究讨
论,让我有很大收获。
在完成毕业设计的同时让我学到了很多也懂的了很多发现现在的我还需要不断的
努力学习,最后请让我在一次的感谢在这次毕业设计中对我指导和帮助的王燕老师和我
的同学们。
本文发布于:2023-03-19 12:31:01,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679200263310550.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:车速里程表.doc
本文 PDF 下载地址:车速里程表.pdf
留言与评论(共有 0 条评论) |