摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于AT89C51单片机的速度里程系统,详细描述了利用霍尔传感器开发测速系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现速度、里程的采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,有利于我们日常生活和汽车生产业的发展,也可以当作测速处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
霍尔传感器与AT89C51结合实现最简测速系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行速度里程测量,有广泛的应用前景。
关键词:单片机AT89C51;速度检测;霍尔传感器;速度里程表目录1 绪论 (1)1.1技术概述 (1)1.2本课题的背景和意义 (1)2 系统设计简介 (3)2.1 速度里程表简介 (3)2.2 设计目的及要求 (3)2.3 设计方案论证 (4)2.4 硬件设计电路 (4)3 设计语言及软件介绍 (6)3.1 C语言介绍 (6)3.2 软件介绍 (6)3.2.1Proteus软件 (6)3.2.2Keil C51 (7)3.2.3单片机最小系统及复位电路 (7)4 系统软件设计 (9)4.1 概述 (9)4.2 系统程序设计模块及流程图 (9)4.2.1主程序 (10)4.2.2延时子程序 (12)4.2.3显示程序 (13)4.3 调试及仿真 (13)5 设计总结和体会 (15)6 参考文献 (16)1 绪论1.1技术概述传统的车速表是机械式的,典型的机械式里程表连接一根软轴,软轴内有一根钢丝缆,软轴另一端连接到变速器某一个齿轮上,齿轮旋转带动钢丝缆旋转,钢丝缆带动里程表罩圈内一块磁铁旋转,罩圈与指针联接并通过游丝将指针置于零位,磁铁旋转速度的快慢引起磁力线大小的变化,平衡被打破指针因此被带动。
这种车速里程表简单实用,被广泛用于大小型汽车上。
不过,随着电子技术的发展,现在很多轿车仪表已经使用电子车速表,常见的一种是从变速器上的速度传感器获取信号,通过脉冲频率的变化使指针偏转或者显示数字里程计是由若干个计数转鼓及其转动装置组成的。
为了使用方便,有的车速里程表同时设有累计里程计和区间里程计,累计里程计用来记录汽车累计行驶里程,区间里程计用来记录汽车单程行驶里程。
区间里程计有一个归零按钮,可以随时复位至零,重新累计。
1.2本课题的背景和意义数字温度计采用进口芯片组装精度高、高稳定性,误差≤0.5%,内电源、微功耗、不锈钢外壳,防护坚固,美观精致。
数字温度计采用进口高精度、低温漂、超低功耗集成电路和宽温型液晶显示器,内置高能量电池连续工作≥5年无需敷设供电电缆,是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。
是传统现场指针双金属温度计的理想替代产品,广泛应用于各类工矿企业,大专院校,科研院所。
温度数我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。
数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED、LCD或者电脑屏幕等显示出来给人观察。
这样就完成了数字温度计的基本测温功能。
数字温度计根据使用的传感器的不同,AD转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。
数字温度计有手持式,盘装式,及医用的小体积的等等。
2 系统设计简介2.1 速度里程表简介汽车车速里程表分为滚轮计数器和点距液晶屏式两种,由指示汽车行驶速度的车速表和记录汽车所行驶过距离的里程计组成的,二者装在共同的壳体中,并由同一根轴驱动。
普通车速表一般为磁感应式。
滚轮计数器是过去常用的纯机械式仪表,通过一根软轴,一头连到变速箱输出轴,另一头连到里程表;而现在更常用的电子式仪表,它一般是在变速箱输出轴或车轮上装一个转速传感器,用读出的转速通过控制模块内嵌的计算公式来换算成车速以及历程。
不管是哪种方式,归根结底,数据都是来自于传动系统输出端的转速(变速箱输出轴或车轮),知道了车轮的转速,比如每分钟转多少圈,再将车轮的周长(也就是车轮转动一圈走过的距离)算上,车速就出来了,里程也是同样的道理。
图2.1速度里程表2.2 设计目的及要求1、了解并掌握 Proteus软件、KEIL软件,并能熟练的使用其进行仿真;2、培养学生综合运用前修课程所学的知识进行系统性的训练;3、养实际动手能力培以及合作的能力;4、利用温霍尔度传感器测量车轮的速度。
5、测量速度里程由LED数码管直读显示。
2.3 设计方案论证根据系统的设计要求,利用矩形波触发脉冲代替霍尔传感器,从而对车轮转速进行模拟。
选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示等功能。
该系统的总体设计思路如下:矩形波发生器产生矩形波脉冲发送到AT89C51单片机上,经过51单片机处理,将速度和里程在显示电路上显示,本系统显示器用6位共阴LED数码管以动态扫描法实现。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、检测电路和显示电路。
本课题以是89C51单片机为核心设计的一种数字速度里程检测系统,系统整体硬件电路包括,传感器数据采集电路,速度里程显示电路,单片机主板电路等组成。
系统框图主要由控制模块、外部信号及其检测装置、外部存储器、LED显示组成。
速度里程表总体电路结构框图如图2.1所示。
图2.1速度里程表的原理框图2.4 硬件设计电路速度里程表设计电路图如图2.2所示,控制器使用单片机AT89C51,矩形波触发器作为发生装置,用LED实现速度和里程的显示。
图2.2速度里程表计设计电路图3 设计语言及软件介绍3.1 C语言介绍C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
3.2 软件介绍3.2.1Proteus软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
3.2.2Keil C51Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil 的优势。
KeilC51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及C51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
3.2.3单片机最小系统及复位电路单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.下面给出一个51单片机的最小系统电路图。
图3.1复位电路图3.2 51单片机最小系统复位电路:由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。
典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。
至于如何具体定量计算,可以参考电路分析相关书籍。
晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)。
4 系统软件设计4.1 概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。
从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。