单片机应用技术项目教程项目9测速表_第1页
单片机应用技术项目教程项目9测速表_第2页
单片机应用技术项目教程项目9测速表_第3页
单片机应用技术项目教程项目9测速表_第4页
单片机应用技术项目教程项目9测速表_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工程9测速表知识目标:1.定时器的结构;2.定时/计数的区别;3.定时器结合中断处理程序的应用。技能训练目标:1.了解霍尔传感器的使用方法;2.熟练使用定时/计数器T0、T1;3.结合中断的方式,灵活应用T0、T1。转速测量表设计要求:设计一测速系统,以霍尔元件为测速的敏感元件,以8051单片机为信号处理控制器,测量当前转盘的速度,并将值通过4位数码管实时显示。

转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量。转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有

M

(

测频法

)、T

(

测周期法

)

M/T

(

频率周期法

)

。M

法是利用一段时间间隔内产生的输出脉冲数来确定转速。T法是通过测量光电编码器两个相邻脉冲的时间间隔,即脉冲周期来确定转速。而

M/T

法相对于其它两种方法有较高的精度,但它的实时性差。由于该系统采用灵敏性和可靠性很高的光电传感器件进行速度采集,因此采用

M

(

测频法

)。转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动。光电采集的输出脉冲信号,其频率和转速成正比。该测速系统以AT89C51单片机接收霍尔传感器传来的脉冲信号,单片机根据外部中断,以及内部定时器/计数器进行定时和计数,根据计算出电机转速送到通过4位数码管实时显示。首先,将一颗小磁钢贴在测速的轮盘边缘,注意其S靠外〔由A3144的特性决定〕,霍尔传感器A3144解决轮盘安装固定,然后将A3144的输出信号输入到单片机用于显示当前转速。系统框图如图9-1。图9-1转速测量系统框图图9-2霍尔传感器测试原理开关型霍尔传感器A3144测量原理,如图9-2。在MCS-51单片机的控制应用系统中,常用的定时方法有:软件定时、硬件定时、可编程定时器。软件定时是通过执行一个循环程序来进行时间延迟,时间精确,不需要附加其它硬件电路;系统硬件定时是由硬件电路完成,无需占用CPU的时间;可编程定时器通过对系统时钟的计数来实现,其计数值通过程序设定,并且通过改变计数值来改变定时的时间,比较方便。本工程介绍的定时器/计数器为可编程定时器/计数器,通过编程可用来实现定时控制、延时、信号发生、检测信号等。另外,该定时器/计数器还可以作为串行通信中波特率发生器。2.定时/计数方法理解两种“工作模式〞

-----“定时〞&“计数〞共同点:都是对脉冲加1计数不同点:定时---对内部机器脉冲计数计数----对外部脉冲计数

t=T*n脉冲数定时时间周期设定的参加量量筒加水的过程类比说明定时/计数过程最大值80ml定时:初始值35ml量筒加水的过程类比说明定时过程设定初值15536工作方式1时,16位计数器最大值65535,满时“溢出〞计50000次50ms给存放器TH0、TL0赋值TH0=0x3C;TL0=0xB0;量筒加水的过程类比说明计数过程读取当前的计数值设定计数初值一、定时/计数器的结构MCS-51单片机内部有两个16位的可编程定时器/计数器,称为定时器0〔T0〕和定时器1〔T1〕,可以通过编程选择其作为定时器使用或作为计数器使用。此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定,其逻辑结构如下图。图9-3定时/计数器逻辑结构图1、定时/计数器的工作模式“定时/计数器〞有两种工作模式,一种是定时模式,一种是计数模式。作为定时器时,是以内部机器周期的脉冲作为基准脉冲,通过计基准脉冲的数量来实现定时功能;作为计数器时,是对芯片引脚T0(P3.4)或T1(P3.5)上的输入脉冲进行计数,利用外部脉冲的下降沿触发计数,每输入一个脉冲,加法计数器加1,且外部脉冲的最高频率不能超过时钟频率的1/24。TMOD是定时/计数器的工作方式存放器,其地址为89H,格式如图9-4。图9-4方式寄存器TMOD2、方式存放器TMOD(TimerModen)掌握四种“工作方式〞,见表9-1M1M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2初值自动重载8位计数器11方式3T0:分为两个8位计数器;T1:停止计数表9-1注:应先以工作方式1为例,掌握其用法,其他几种方式可类推!00000001

TMOD=0x01;例:定义定时器T0、T1工作方式〔TMOD〕,要求:T1纯软件启动,工作于定时模式,工作方式为方式0;T0纯软件启动,工作于定时模式,工作方式为方式1。图9-3方式存放器TMODTCON用于控制定时器的启动、停止、标识定时器的溢出和中断情况,其格式如图9-5。图9-4控制存放器TCON溢出中断标志位??3、控制存放器TCON(Timercontroler)二、定时/计数器的工作方式首先,以T0为例,理解掌握工作方式1的应用。============================================主要从以下几个存放器的设置入手:TMOD-------------------------------用于工作模式的设置TH0,TL0----------------------------存储定时/计数值TR0〔TCON的D4位〕----------开始/停止位TF0〔TCON的D5位〕-----------〞溢出〞标志位1.工作方式0-----13位定时/计数方式图9-5工作方式0逻辑电路结构1.工作方式0-----13位定时/计数方式难点:13位初值的设置

例如:需要定时1ms,那么计数次数为1ms/1us=1000次。那么T0的初值应设为X=M-计数值=8192-1000=7192=1c18H=0001110000011000B由于13位定时器中,TL0的高3位未使用,填写0,TH0占高8位,所以实际得到的初值X=1110000000011000B=e018H,语句表达为:TH0=0xe0;TL0=0x18;如图9-6所示:13位初值的设置

图9-6方式0的初值设定2.工作方式1-----16位定时/计数方式图9-7

工作方式1逻辑电路结构16位初值的设置

例如:需要定时50ms,那么计数次数为1ms/1us=50000次。那么T0的初值应设为X=M-计数值=65536-50000=15536=3CB0H=0011110010110000B。由于采用16定时器,直接设置X=3CB0H。用语句表达,分配到高8位的TH0和低8位的TL0,写为:TH0=0x3c;TL0=0xB0;3.工作方式2-----8位自动重载初值方式图9-8工作方式2逻辑电路结构4.工作方式3图9-9工作方式3逻辑电路结构三.定时/计数器的使用1、单片机的定时/计数可以采用查询方式或者中断方式来实现。2、初始化程序:由于定时/计数器的功能是由软件编程确定的,所以,在使用定时器/计数前必须对其进行初始化。初始化骤如下:(1)确定工作方式——对TMOD赋值。如赋值语句为:TMOD=0x10;说明定时器1工作在方式1,且工作在定时器方式。(2)预置定时或计数的初值——直接将初值写入TH0、TL0或TH1、TL1。定时/计数器的初值因工作方式的不同而不同。假设最大计数值为M,那么各种工作方式下的M值如下方式0:213=8192方式1:216=65536方式2:28=256方式3:定时器0分成两个8位计数器,所以两个定时器的M值均为256。由于定时器/计数器工作的实质是做“加1〞计数,所以,当最大计数值M值时,初值X可计算如下:X=M—计数值(3)根据需要开启定时器/计数器中断——可以直接对IE存放器赋值。(4)启动定时器/计数器工作——将TR0或TR1置“1〞。GATE=0时,直接由软件置位启动;GATE=1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能启动。操作为:TR1=1。练习1:分别采用查询法和中断法,利用定时器T0,写出10ms延时的子程序voiddelay(){/*******一:工作模式设置TMOD=0x01;//对T0而言,纯软件启动、定时模式,工作方式1/********二、赋予初值*********/TH0=0x3c;TL0=0xbo;/********三、开始定时***********TR0=1;//启动计数器/*******四、用查询法查看定时器溢出否***/while(TF0==0);//查询TF0=0?}/********查询法实现50ms延时*********/中断法初始化程序段:

{…

/*******一:工作模式设置/*******/TMOD=0x01;//对T0而言,纯软件启动、定时模式,工作方式1/********二、赋予初值*********/TH0=0x3c;TL0=0xb0;

/*******三、开启总中断及定时中断***/EA=1;ET0=1;/********三、开始定时***********TR0=1;//启动计数器while(1);//实际应用中,执行其他处理任务}/******中断处理函数*******/voidint0()interrupt1{//参加定时时间到后的处理内容,或者是改写标志变量TH0=0x3c;//方式1重赋初值TL0=0xb0;……;}思考:“查询法〞、“中断法〞各有什么优劣?练习2:对计数模式的理解

用按键模拟外部脉冲,实现单片机对外部脉冲计数,即按键按下一次,数码管上计数值加一。见仿真演示:【活动一】硬件电路设计【活动二】软件设计算法分析采用定时计数的方法,用T0定时100ms,将外部脉冲接入T1(P3.5),在固定的100ms时间内,T1计外部脉冲的数量X,即可算得该脉冲的频率。。2程序设计1.启动KeiluVision4软件,创立新工程:CH9.UVPROJ,CPU选择Atmel89C52。2.对工程的属性进行设置:目标属性中选择“生成HEX文件〞。3.编写参考源程序ch9.c,以C为扩展名保存在工程文件夹中。4.将参考源程序参加程序组:鼠标右键单击程序组图标,参加文件组。5.调试:进入调试状态,期间可能需要修改参考源程序,直到没有语法错误为止。翻开相应窗口,运行程序,观察运行结果。

三、程序仿真与调试转速测量表实物图四、实物制作。2程序设计考核项目考核内容技术要求评分标准得分备注总体设计①任务分析②方案设计③软件和硬件功能划分①任务明确(5分);②方案设计合理、有新意(10分);③软件和硬件功能划分合理(5分);20分硬件设计①片内器件分配;②电路原理图设计;③电路制作;①片内器件分配正确、合理(5分);②电路原理图设计正确(10分);③电路制作:布线正确、整齐、合理(5分);20分软件设计①算法和数据结构设计;②流程图设计;③编程;①算法和数据结构设计正确、合理(5分);②流程图设计正确、简明;(5分);③编程正确、有新意(10分);20分系统仿真与调试①调试顺序;②错误排除;③调试结果;①调试顺序正确(5分);②能熟练排除错误(10分);③调试后运行正确(5分);20分实训报告①书写;②内容;③图形绘制;④结果分析①书写规范整齐(5分);②内容翔实具体(5分);③图形绘制正确、完整、全面(5分);④能正确分析实验结构(5分);20分合计100分1、两套定时/计数器-----T0,T1;2、两种工作模式------定时,计数;3、四种工作方式------工作方式0,1,2,3;4、几个关键存放器--

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论