1、第第9 9章章 单片机应用实例单片机应用实例9.1 9.1 频率测量计频率测量计9.2 9.2 单片机在气流量测量中的应用单片机在气流量测量中的应用 目前,目前,MCS-51MCS-51系列单片机以其独特的优越性,在智能系列单片机以其独特的优越性,在智能仪表、工业测控、数据采集、计算机通信等各个领域得到仪表、工业测控、数据采集、计算机通信等各个领域得到极为广泛的应用。不同用户根据所要完成的不同任务,正极为广泛的应用。不同用户根据所要完成的不同任务,正在进行单片机应用系统的设计工作。在进行单片机应用系统的设计工作。9.1 9.1 频率测量计频率测量计 在电子技术中,频率是最基本的参数之一,并在电
2、子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得尤为重要。的关系,因此频率的测量就显得尤为重要。9.1.1 9.1.1 总体方案设计及可行性分析总体方案设计及可行性分析 由于频率量的测量相对来说比较容易,与单片机的接口也比较简单,由于频率量的测量相对来说比较容易,与单片机的接口也比较简单,测量方法灵活,具有较强的抗干扰能力,易于远距离传输等特点,因此测量方法灵活,具有较强的抗干扰能力,易于远距离传输等特点,因此数据采集和自动控制系统中用得越来越多。数据采集和自动控制系统中用得越来越多。通
3、常频率测量的方法有两种,即频率测量法和周期测量法。通常频率测量的方法有两种,即频率测量法和周期测量法。无论是采用频率测量法还是周期测量法,都存在频率测量误差。因无论是采用频率测量法还是周期测量法,都存在频率测量误差。因此从理论上讲频率的测量准确读很难提高到某个数量级。鉴于这一点采此从理论上讲频率的测量准确读很难提高到某个数量级。鉴于这一点采用了一种多周期测频法。理论上只要周期数足够大,测量的准确度总可用了一种多周期测频法。理论上只要周期数足够大,测量的准确度总可以提高到一定程度。以提高到一定程度。频率测量系统频率测量系统主要由一片主要由一片STCSTC单片机、晶振单片机、晶振电路、电阻、电路、
4、电阻、电容和隔离光电容和隔离光耦以及耦以及485485通信通信芯片组成,如芯片组成,如图所示。图所示。单片机频率测量电路单片机频率测量电路9.1.2 9.1.2 硬件设计硬件设计9.1.3 9.1.3 软件设计软件设计如图所示为频率测量程序的流程。如图所示为频率测量程序的流程。单片机频率测量程序流程单片机频率测量程序流程9.2 9.2 单片机在气流量测量中的应用单片机在气流量测量中的应用 气流量测量在工业和科学上都有重要意义。气流量是气流量测量在工业和科学上都有重要意义。气流量是指单位时间内传送的气体体积,单位为指单位时间内传送的气体体积,单位为“立方英尺分立方英尺分”(cubic volum
5、e pen minutecubic volume pen minute),简称为),简称为CFMCFM。测量仪表不断。测量仪表不断地将所测得的气体流量值与预编程没定值进行比较,一旦超地将所测得的气体流量值与预编程没定值进行比较,一旦超过设定值,即发出报警信号,以便进行紧急处理。过设定值,即发出报警信号,以便进行紧急处理。9.2.1 9.2.1 总体方案设计及可行性分析总体方案设计及可行性分析 气流量的设定值可根据实际需要来决定。为了准确计算出气流气流量的设定值可根据实际需要来决定。为了准确计算出气流量,需要同时测量量,需要同时测量3 3个气体参数:速度、压力和温度。如图所示力个气体参数:速度、
6、压力和温度。如图所示力气流量测量仪表的前面板示意图。气流量测量仪表的前面板示意图。气流量测量仪表的前面板示意图气流量测量仪表的前面板示意图 9.2.2 9.2.2 系统的硬件设计系统的硬件设计 如图所示为气流量测量仪表的硬件电路图。如图所示为气流量测量仪表的硬件电路图。3 3个标识为个标识为X0.1X0.1、X1X1和和X10X10的共阴级的共阴级7 7段段LEDLED分别显示十分之一位、个位、十位数值,分别显示十分之一位、个位、十位数值,每个每个LEDLED都有都有8 8位数据输入线(位数据输入线(7 7位段码,位段码,1 1位小数点位小数点)和和1 1位位选位位选输入线。输入线。87C75
7、287C752的门的门P3P3口通过电流驱动口通过电流驱动U2U2和限流电阻驱动和限流电阻驱动7 7段段LEDLED的数据和的数据和4 4个单独个单独LEDLED的输入线。由于的输入线。由于3 3个个7 7段段LEDLED和和4 4个单独个单独LEDLED共用相同的数据输入线,因此采用共用相同的数据输入线,因此采用4 4个晶体管个晶体管Q1Q4Q1Q4作为各个作为各个LEDLED的位选端,的位选端,Q1Q4Q1Q4分别连到分别连到P0P0口的口的4 4根口线上,这样可以减少根口线上,这样可以减少所需的所需的I/OI/O口线,同时可以加快显示刷新速度。口线,同时可以加快显示刷新速度。仪表采用了仪
8、表采用了3 3个按键(个按键(SW1SW3SW1SW3)来选择显示温度、压力或)来选择显示温度、压力或设定值。设定值。9.2.3 9.2.3 系统的软件设计系统的软件设计 气流量测量仪表的软件程序采用气流量测量仪表的软件程序采用C51C51编写。整个程编写。整个程序由序由4 4个中断函数(前台程序)和个中断函数(前台程序)和1 1个主函数(后台程个主函数(后台程序)所组成。序)所组成。87C75287C752单片机复位后进入主程序并循环单片机复位后进入主程序并循环执行之,当产生中断时进入相应的中断函数程序执行。执行之,当产生中断时进入相应的中断函数程序执行。主程序与中断函数程序之间通过参数传递
9、完成相互之主程序与中断函数程序之间通过参数传递完成相互之间的通讯联络。间的通讯联络。1.multiplex()1.multiplex()函数函数 测量仪表不使用测量仪表不使用87C75287C752中中I2CI2C总线,因此将内部定时器总线,因此将内部定时器T1T1用做用做具有固定溢出率的监视定时器。单片机的晶振频率为具有固定溢出率的监视定时器。单片机的晶振频率为12 MHz12 MHz时,时,T1T1将以大约将以大约1 000 Hz1 000 Hz的频率产生溢出中断。的频率产生溢出中断。multiplex()multiplex()是是T1T1溢出中溢出中断函数,利用断函数,利用T1T1所产生
10、的固定速率中断,实现仪表的显示刷新。在所产生的固定速率中断,实现仪表的显示刷新。在该函数中建立了一个被点亮该函数中建立了一个被点亮LEDLED的显示标志,每次进入的显示标志,每次进入T1T1溢出中断溢出中断时,根据该显示标志熄灭前一个被点亮的时,根据该显示标志熄灭前一个被点亮的LEDLED,将显示数据写入当,将显示数据写入当前前LEDLED并将其点亮,同时将显示标志指向下一个并将其点亮,同时将显示标志指向下一个LEDLED。由于。由于T1T1溢出中溢出中断的频率是固定的,从而可实现各个断的频率是固定的,从而可实现各个LEDLED显示数据的轮流刷新。显示数据的轮流刷新。2.read_switch
11、()2.read_switch()函数函数 87C75287C752内部的内部的PWMPWM被用来产生被用来产生92 Hz92 Hz的周期中断。的周期中断。read_switch()read_switch()是是PWMPWM中断函数。在该函数中对中断函数。在该函数中对PWMPWM的中断次数进行计数,的中断次数进行计数,PWMPWM中中断满断满3232次时置位次时置位“更新变量更新变量”。每当主函数检测到这个每当主函数检测到这个“更新变更新变量量”被置位时,即对显示数据进被置位时,即对显示数据进行更新,同时将行更新,同时将“更新变量更新变量”复复位为位为0 0。这样大约每隔。这样大约每隔33 m
12、s33 ms的时的时间进行一次显示数据更新,可以间进行一次显示数据更新,可以消除显示闪烁和按键抖动。消除显示闪烁和按键抖动。3.cal_cfm()3.cal_cfm()函数函数 这是这是87C75287C752外部中断外部中断INT0INT0的中断函数。它与内部定时器的中断函数。它与内部定时器T0T0溢出中断函数相配合,完成溢出中断函数相配合,完成汽轮机气体速度的测量。每次汽轮机气体速度的测量。每次进入进入INT0INT0中断函数时,读取定中断函数时,读取定时器时器T0T0的值来确定两次的值来确定两次INT0INT0之之间的间隔时间。将读取的间的间隔时间。将读取的T0T0值值作为作为2424位
13、微秒计数器的低位微秒计数器的低1616位,位,同时将高同时将高8 8位计数值清零以便位计数值清零以便在在T0T0溢出中断函数中进行更新。溢出中断函数中进行更新。4.overflow()4.overflow()函数函数 这是定时器这是定时器T0T0溢出中断溢出中断函数。每当函数。每当T0T0产生溢出时,产生溢出时,将将2424位微秒计数器的高位微秒计数器的高8 8位位加加1 1。如果这个高。如果这个高8 8位数值太位数值太大(转速表停转)则置位大(转速表停转)则置位NO_FLOWNO_FLOW变量标志,主函数变量标志,主函数一旦检测到该标志即在七段一旦检测到该标志即在七段LEDLED上显示出错信
14、息上显示出错信息EEEEEE。本章小结本章小结 单片机面对的是测控对象,突出的是控制功能,所以它从功能单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。随着单片机技和形态上来说都是应控制领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADCADC、DACDAC、高速、高速I/OI/O口、口、PWMPWM、WDTWDT等。正是这些特点单片机在工业控制和等。正是这些特点单片机在工业控制和测量领域中被广泛应用。测量领域中被广泛应用。本章以单片机在频率测量计和气体流量计中的应用为例,介绍本章以单片机在频率测量计和气体流量计中的应用为例,介绍了单片机系统的设计方法和设计流程。在设计开始阶段进行系统的了单片机系统的设计方法和设计流程。在设计开始阶段进行系统的总体方案设计,确定硬件和软件的构架。在确定总体方案后根据需总体方案设计,确定硬件和软件的构架。在确定总体方案后根据需求选用性价比好的单片机型号和硬件电路;确定软件方案,写出软求选用性价比好的单片机型号和硬件电路;确定软件方案,写出软件流程图。通过以上两个例子,对单片机系统的设计方法和步骤有件流程图。通过以上两个例子,对单片机系统的设计方法和步骤有一个总体认识。一个总体认识。