基于单片机控制的车速里程表设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。

并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

关键词单片机,AT89S51, LED数码管显示器, keil C51,倒计时器
ABSTRACT
Permeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in the meantime.In solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually Be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structure, and aim at concrete application the software of[with] the object characteristics combine to make perfect. Imitating many passage pressure systemses is to make use of pressure to spread the feeling machine to collect current pressure combine the reflection is on the display, it can analyze the pressure surfeit distance, erupting to report to the bine the adoption electronics steelyard principle can according to input the amount of money that the unit price computes an object accurately
This thesis discuss that pour the design and creation of the timer in brief, for pour four LED figures displays in the timer to say, I am for the sake of the simplification circuit,decline low cost, adopt to take software as the connect of lord a people's method, do not use specialized hardware to translate the code machine namely, but adopt the software procedure to carry on translating code.
Keyword:single slice machine,AT89 S51,The LED figures tube display,Keil C51,Pour timer
目录
第 1 章绪论 (1)
1.1课题背景 (1)
1.2车速里程表的简介组成及原理 (1)
1.3设计的整体思路 (3)
第 2 章硬件的设计 (6)
2.1单片机简介 (6)
2.2 AT89C52系列单片机的介绍 (7)
2.3里程表各部分电路介绍 (9)
2.3.1霍尔传感器电路 (9)
2.3.2定时计数器电路 (11)
2.3.3外部中断 (12)
2.3.4 74HC573驱动器 (13)
2.3.5LED显示模块电路 (15)
第 3 章软件的设计................................................................................................ .. (17)
3.1普遍系统的总体设计 (17)
3.2单片机应用软件的一般设计 (17)
3.3车速里程表的软件设计 (19)
3.3.1总体设计思路 (19)
3.3.2子程序和主函数的设计 (20)
第 4 章软件调试 (23)
4.1程序的检测与调试 (23)
4.2PROTEUS仿真过程............................................................. 错误!未定义书签。

结束语.......................................................................................... 错误!未定义书签。

参考文献..................................................................................... 错误!未定义书签。

致谢.......................................................................................... 错误!未定义书签。

附录一硬件设计原理图....................................................... 错误!未定义书签。

附录二程序清单..................................................................... 错误!未定义书签。

附录三元器件清单................................................................ 错误!未定义书签。

毕业设计诚信声明 .................................................................. 错误!未定义书签。

序言
本文介绍以单片机和霍尔传感器为核心的车速里程表设计。

霍尔传感器采集脉冲信号,单片机进行控制与计算,LED模块进行显示,最终汽车的速度里程数据直观的显示给用户。

速度里程表是用于远距离连续测量汽车行驶速度和距离的仪表。

它分为电源、霍尔传感器、驱动器和显示器3部分。

目前,车速里程表普遍使用在汽车和摩扦车上,一般采用指针显示,是一种机械测量装置,测试精度相对。

本文介绍的车速里程表是由电源稳压系统供电,AT89C52单片机为中央处理器,结合高精度的控制电路,方便地实现了智能化、高精度、高可靠性、高效率的车速里程表设计,方便而实用。

车速里程表广泛应用于各类机车,包括厂矿企业所使用的电机车和汽车、摩托车等。

传统的机械式里程表虽然稳定可靠,但功能单一,体积较大。

随着电子技术的迅猛发展,电子式里程表得以广泛应用。

一种以单片机为核心的里程表,它不仅可以显示车辆行驶的及时速度和总里程,也可显示一段时间的阶段里程,并且具有较强的再开发能力,比如添加时钟、音乐等其他功能。

这一切都是因为利用了单片机系统强大的数据存储和处理控制功能。

第 1 章绪论
单片机现在渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。

1.1课题背景
本题目根据车速、里程的测量原理,以MCS-51系列单片机为核心器件,组成点阵式的液晶显示屏,通过编程显示车速、里程与油位。

按照设计要求熟悉系统硬件电路、接口电路,完成硬件电路的电路板的设计,完成该系统的程序设计,提交程序设计框图及程序设计清单。

1.2车速里程表的简介组成及原理
汽车车速里程表分为滚轮计数器和点距液晶屏式两种,由指示汽车行驶速度的车速表和记录汽车所行驶过距离的里程计组成的,二者装在共同的壳体中,并由同一根轴驱动。

普通车速表一般为磁感应式。

滚轮计数器是过去常用的纯机械式仪表,通过一根软轴,一头连到变速箱输出轴,另一头连到里程表;而现在更常用的电子式仪表,它一般是在变速箱输出轴或车轮上装一个转速传感器,用读出的转速通过控制模块内嵌的计算公式来换算成车速以及历程。

不管是哪种方式,归根结底,数据都是来自于传动系统输出端的转速(变速箱输出轴或车轮),知道了车轮的转速,比如每分钟转多少圈,再将车轮的周长。

车速里程表实际上由两个表组成,一个是车速表,另一个是里程表。

传统的车速表是机械式的,典型的机械式里程表连接一根软轴,软轴内有一根钢丝缆,软轴另一端连接到变速器某一个齿轮上,齿轮旋转带动钢丝缆旋转,钢丝缆带动里程表罩圈内一块磁铁旋转,罩圈与指针联接并通过游丝将指针置于
零位,磁铁旋转速度的快慢引起磁力线大小的变化,平衡被打破指针因此被带动。

这种车速里程表简单实用,被广泛用于大小型汽车上。

不过,随着电子技术的发展,现在很多轿车仪表已经使用电子车速表,常见的一种是从变速器上的速度传感器获取信号,通过脉冲频率的变化使指针偏转或者显示数字里程计是由若干个计数转鼓及其转动装置组成的。

为了使用方便,有的车速里程表同时设有累计里程计和区间里程计,累计里程计用来记录汽车累计行驶里程,区间里程计用来记录汽车单程行驶里程。

区间里程计有一个归零按钮,可以随时复位至零,重新累计。

车速里程表是用来指示汽车行驶速度和累计行驶里程的仪表,由车速表和里程表两部分组成,普通车速表一般为磁感应式,其结构如下路所示。

车速表主要由永久磁铁、铝罩、护罩、刻度盘和表针等组成,永久磁铁与主动轴紧固在一起,主动轴由来自变速器输出轴的挠性软轴驱动,指针、铝罩固接在中心轴上,刻度盘固定在表外壳上。

不工作时,铝罩在游丝的作用下,使指针位于“0”位。

当汽车行驶时,软轴驱动主动轴带动“U”形永久磁铁旋转,在铝罩上感应出电涡流而产生磁场,这个磁场与永久磁铁的旋转磁场相互作用产生钮矩,使铝罩向永久磁铁旋转方向转过一定角度,直到由游丝的弹力所产生的反方向扭矩与之平衡。

车速越高,产生的扭矩越大,指针在刻度盘上摆动的角度就越大,即指示的车速就越高。

里程表主要由蜗轮蜗杆和数字轮组成,当汽车行驶时,主动轴经三对蜗轮蜗杆驱动数字轮上的最右侧的第一个数字轮(一般为1/10Km),任一个数字轮与左侧相邻的数字轮传动比都为10:1,这样显示的数字呈十进位递增,便自动累积了汽车总的行驶里程。

图1.1
图1.1汽车速度里程表
1.3设计的整体思路
设计包括硬件设计和软件设计,其中硬件是基础软件是核心,软件的数据通过硬件进行处理和控制,最终实现用户的功能。

一、硬件介绍
本设计的硬件包括:
AT89C52芯片:程序的处理和控制中心。

74HC573驱动器:存储和所存段选、位选数据。

Signal Generator脉冲发生器:模拟霍尔传感器,向芯片外部中断提供脉冲。

RESPACK8八位排阻:将P0口拉成高电平。

7SEG-MPX8-CC-BLUE八位共阴极数码管(蓝色):显示速度和路程数据。

二、主要技术指标
1、计算速度和路程。

2、存贮历史里程数据。

3、量程记满时清除历史里程数据。

4、显示及时速度。

三、实现上述功能的软件设计流程图1.2如下:
图1.2软件设计流程图
各部分介绍如下:
1、初始化:打开外部中断和定时器0中断,当有脉冲来的时候就进入中断程序。

2、外部中断:记录一个脉冲时间time;计算一个脉冲时间的速度,五个速度作为一个数组,高低速判断;开启T0,记脉冲数为n。

3、定时器0中断:记50毫秒时间赋值给t.
4、处理函数:给出速度和路程的计算公式。

v=0.9*pi*r/time
s=0.00025*pi*r*n
显示程序:用三位数显示速度,四位数显示路程。

第 2 章硬件的设计
2.1单片机简介
单片机是指一个集成在一块芯片上的完整计算机系统.尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存.同时集成诸如通讯接口、定时器,实时时钟等外围设备.而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上.
单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域.单片机由芯片内仅有CPU的专用处理器发展而来.最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中.INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳. 早期的单片机都是8位或4位的.其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评.此后在8031上发展出了MCS51系列单片机系统.
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量.采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大.例如精密的测量设备(功率计,示波器,各种分析仪)。

2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统.例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等.
3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在.
4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等.
5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等.此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途.单片机学习: 目前,很多人对汇编语言并不认可.可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。

2.2 AT89C52系列单片机的介绍
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes 的可反复擦写的只读程序存储器(PEROM)和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合]13[。

主要性能参数:
1. 与MCS-51产品指令和引脚完全兼容
2. 18K 字节可重擦写Flash闪速存储器
3. 1000次擦写周期
4. 全静态操作:0Hz-24MHz
5. 三级加密程序存储器
6. 256*8字节内部RAM
7. 32个可编程I/O口线
8. 3个16位定时/计数器
9. 8个中断源
10.可编程串行UART通道
11.低功耗空闲和掉电模式
功能特性概述:
AT89C52提供以下标准功能:8K 字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

引脚如图2.1所示。

振荡器反相放大器如图2.2所示。

图2.1 AT89C52引脚图
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

图2.2振荡器反相放大器原理图
中断:
AT89C52共有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0,1,2)和串行口中断。

所有这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。

IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。

AT89C52编程方法:
1.在地址线上加上要编程单元的地址信号。

2.在数据线上加上要写入的数据字节。

3.激活相应的控制信号。

4.在高电压编程方式时,将EA/Vpp端加上+12V编程电压。

5.每对Flash存储阵列写入一个字节或每写入一个程序加密位,加入一个ALE/PROG编程脉冲。

每个字节写入周期是自身定时的,通常约为 1.5ms。

重复1-5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。

AT89C52的极限参数:
工作温度:-55℃ to +125℃
储藏温度:-65℃ to +150℃
任一引脚对地电压:-1.0V to +7.0V
最高工作电压:6.6V
直流输出电流:15.0mA
2.3里程表各部分电路介绍
本次里程表的设计,硬件电路主要由霍尔传感器电路,里程指示电路,里程数据存储电路,时钟电路,LED显示模块及74LS07驱动器构成。

2.3.1霍尔传感器电路
1.霍尔传感器工作原理
霍尔传感器是根据霍尔效应制作的一种磁场传感器霍尔效应是磁电效应的一种,这一现象是霍尔(A.H.Hall,1855—1938)于1879年在研究金属的导电机构时发现的。

后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。

霍尔效应是研究半导体材料性能的基本方法。

通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。

图2.3霍尔效应示意图
2.霍尔效应
如图2.3在半导体薄片两端通以控制电流I,并在薄片的垂直方向施加磁感应强度为B的匀强磁场,则在垂直于电流和磁场的方向上,将产生电势差为UH的霍尔电压。

3.霍尔元件
根据霍尔效应,人们用半导体材料制成的元件叫霍尔元件。

它具有对磁场敏感、结构简单、体积小、频率响应宽、输出电压变化大和使用寿命长等优点,因此,在测量、自动化、计算机和信息技术等领域得到广泛的应用,原理图如图2.4。

4特点
1 内置斩波放大器
2 可选范围广,支持各种应用:检测两极、检测S极、检测N极(*1)、动态“L”、动态“H”(*1)、Nch开路漏极输出、CMOS输出。

3 宽电源电压范围: 2.
4 V ~ 5.
5 V
4 低消耗电流:5.0 μA 典型值、8.0 μA 最大值。

5 工作温度范围:-40℃ ~ +85℃,磁性的温度依赖性较小。

6 采用小型封装: SNT-4A, SOT-23-3
7 无铅产品
标准电路
图2.4霍尔效应原理图
本设计中轮子转一圈霍尔传感器发送八个脉冲。

2.3.2定时计数器电路
图2.5定时计数器的结构图
从定时计数器的结构图2.5可以看出于定时器有关的8位寄存器一共有6个。

其中16位的定时计数器分别由两个8位专用寄存器组成,即T0由TH0和TL0构成;T1由TH1和TL1构成。

出了这两个16位的计数器外,在定时器中还有两个特殊功能寄存器,一个是八位定时器方式寄存器TMOD,另一个是八位定时器控制寄存器TCON。

TMOD确定T0、T1的工作方式,其格式如下
D7 D6 D5 D4 D3 D2 D1 D0
GATE C/T M1 M0 GATE C/T MI M0 本设计中TMOD=0x01,定时器0为定时、方式一(16为计数器)。

TCON控制定时器的启、停标志定时器的溢出和中断。

格式如下。

D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
本设计中:IT0 = 1,表示外部中断0触发方式控制为边沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1。

IE1=1,表示外部中断1正在向CPU申请中断。

2.3.3外部中断
原理图如下图2.6
图2.6外部中断原理图
于中断有关的特殊功能寄存器有4个,分别为中断源寄存器(即专用寄存器TCON、SCON的相关位)、中断源允许控制寄存器IE和中断优先级控制寄存器IP。

中断源允许控制寄存器IE格式如下:
EA -- ET2 ES ET1 EX1 ET0 EX0
本设计中:EA = 1,开总中断;EX0 = 1,允许外中断0中断。

ET0 = 1,允许T0中断。

中断请求标志寄存器
TCON中的中断标志
TCON为定时器T0和T1的控制寄存器,同时也锁存T0、T1的溢出中断标志位及外部中断INT0、INT1的中断标志等
TF1 TF0 IE1 IT1 IE0 IT0
本设计中:IT0 = 1, 外部中断0触发方式为边缘触发方式。

-- -- PT2 PS PT1 PX1 PT0 PX0
本设计中:PX0 = 1, 外部中断0为高优先级中断。

2.3.4 74HC573驱动器
SL74HC573 跟LS/AL573 的管脚一样。

如下图2.7器件的输入是和标准CMOS 输出兼容的;加上拉电阻,他们能和LS/ALSTTL 输出兼容。

当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。

当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

输出能直接接到CMOS,NMOS 和TTL 接口上操作电压范围:2.0V~6.0V低输入电流:1.0uACMOS 器件的高噪声抵抗特性。

图2.7 SL74HC573管脚功能
表2.174HC573功能表如下
输入输出输出使能锁存使能 D Q L H H H L H L L L L X 不变
H X X Z
表2.174HC573功能表
74HC573逻辑图如下图2.8
图2.8 74HC573逻辑图
本设计中通过控制74HC573的打开和关闭来锁存段选和位选数据。

2.3.5LED显示模块电路
LED显示器采用动态显示,用74HC573驱动共阴极LED数码管。

LED显示模块电路图,如图2.9所示。

LED数码管结构图,如图2.10(a),(b)为共阴极型,(c)为共阳极型。

图2.9LED显示模块
图2.10LED数码管结构
OC门驱动器用573,573 即TTL 集电极开路六正相高压驱动器.当7407输出低电
平时,没有电流流过LED,当5737输出为开路状态时,电流经100 限流电阻流入LED 显示器,每个七段LED的公共端都接一个7407驱动器。

本设计中采用7SEG-MPX8-CC-BLUE八位共阴极数码管(蓝色),显示速度和路程数据。

第 3 章 软件的设计
3.1普遍系统的总体设计
一个完整的单片机系统,包括软硬件两个方面。

硬件是系统可靠运行的“载体”,是基础,而软件则是使“载体”产生动力的发电机,二者相辅相成,缺一不可。

从设计者的角度出发,一个硬件电路的设计过程往往就是设计者的经验不断积累的过程。

总体设计流程:
在设计硬件电路时:
一般的流程是:
(1) 器件选择(包括单片机和外围芯片的选择)
(2) 电路图绘制
(3) PCB 制板
(4) 硬件检查和排错
(5) 硬件电路调试完毕
只有在硬件平台建立之后才能更好进入软件系统的调试。

在进行软件系统的设计时,设计者首先要建立完整,总体的概念,一个完整的软件系统是由各个功能模块组成的。

程序设计者要时刻牢记如何将那些独立,分散的子程序模块通过主程序连接起来,并最终实现系统的目标功能。

3.2单片机应用软件的一般设计
应用软件应在硬件电路的支持下能可靠地实现应用系统的各种功能。

它应具有下列特点]2[:
(1) 结构清晰,简捷,流程合理。

(2) 各功能程序模块化,子程序化,既便于调试,链接,也便于移植,修改。

(3) 程序存储区,数据存储区规划合理,既节约内存容量,又便于操作。

(4)
各功能程序的运行状态,运行结果以及运行要求尽量设置状态标志,以便查
询,控制与程序判转。

(5) 调试修改后,还应规范化,以利于交流,借鉴,为模块化,标准化打下基础。

(6) 做好抗干扰设计,这是计算机应用系统提高可靠性的有力措施。

(7) 设置自诊断程序,系统工作前先运行自诊断程序,检查系统各特征状态参数是否正常,以提高运行的可靠性。

开发步骤:
(1) 确定任务:a) 确定系统的功能,指标,成本
b) 完成期限
(2) 总体设计:a) 调研
b) 机型选择
c) 软硬件任务划分
I. 硬件开发
一.绘出线路图
二.选购元器件
三.组装
四.调试硬件
II. 软件开发
一.建立数学模型,确定算法,安排数据结构
二.设计,编制各子程序模块
三.各子程序进行调试
四.各子程序连接起来调试
(3) 样机联调: a) 软,硬件结合起来调试
b) 找出错误,修改软,硬件
c) 实时仿真,直至满足设计要求
(4) 产品定型: a) 形成工艺 b) 编写技术文件
3.3车速里程表的软件设计
本软件设计的思路是先做流程图,弄清程序的整体思路,再按模块进行分块编写,一般把子程序放在前面,主函数放在后面。

3.3.1总体设计思路
第一步程序初始化,当没有产生中断时,程序进入处理程序,接着进入显示程序;当产生中断时,先进入外部中断服务程序和定时器0中断服务程序,后面的和没有产生中断时相同。

在整个程序中中,不停地扫描有没有产生中断。

流程图如下图3.1。

图3.1程序流程图
3.3.2子程序和主函数的设计
一、子程序的设计
设汽车轮子半径为r,脉冲数为n,t=50毫秒,一个脉冲的时间为time,速度为
v(km/h),路程为s(km),pi=3.14。

子程序按模块化的思路编写。

各子程序如下:
1.初始化:设置 T0计时器工作方式1,输入口为p3.2
开总中断。

打开外中断0中断控制位.
设置外部中断0优先级控制位。

设置外部中断0触发方式为边沿触发方式。

打开T0中断允许。

2.外部中断:当P
3.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;求得平均速度。

相关文档
最新文档