单片机

学习使用就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。以下是小编的一些经验:

第一步:数字I/O的使用

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。要注意的是两个功能使用同一组I/O口,比如LCD和LED例程众都是使用PB这一组的,如果两者结合,会有冲突,达不到预期的效果,建议不同的模块使用不同的IO口。

第二步:定时器的使用

学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。

定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。

第三步:中断

单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。

中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。

第四步:与PC机进行RS232通信

单片机都有USART接口,特别是STM8系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个stm8s105c6芯片进行电平转换。USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!

第五步:学会A/D转换

STM8单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。使用A/D转换功能的简单的例子是设计一个电压表。

第六步:学会PCI、I2C接口和液晶显示器接口

这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。

第七步:学会比较、捕捉、PWM功能

这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。

第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计

学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。

到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大侠了。

转自: 快易购

围观 382

本文向大家介绍低成本的A/D转换的一种方法,只是这种方法成本会更低,而且外部无需使用比较器。此种方法的A/D转换精度不高,只有6~7bit,并且被测电压范围较为有限,但在某些精度要求不高,且被测电压值变化不大的场合也很有实用价值,比如温度测量方面。

其电路如图一所示:

单片机实现低成本A/D转换

其工作原理说明如下:

1、硬件说明:

图一中的R1、R2和C1构成RC充电电路,被测量通过R1、R2对C1充电。N1为单片机,本电路中采用MICROCHIP的PIC12C508A来举例说明。C2为给电源供电用的滤波电路,VD1为保护用稳压二极管,以避免输入电压过高而损坏单片机。

2、A/D转换过程:

首先GP5输出低电平,使电容C1上的电量完全放光,随后GP5即转变为输入状态,此时单片机开始计时,被测电压经过R1、R2电阻对电容C1进行充电,电容C1上的电压会逐渐升高,C1上的电压U满足以下公式:

单片机实现低成本A/D转换

其中U为电容C1上的电压,E为输入电压(被测量),T=(R1+R2)*C1,t为时间。

当C1上的电压U达到单片机I/O脚的门嵌电压时,单片机的GP5由低电平状态转变为高电平状态。记录从充电开始至此时所经过的时间t。

从上式可知,当单片机I/O脚的门嵌电压、R1、R2、C1值都固定不变时,被测量的电压值E与时间t呈一一对应关系。

因此测量输入电压对C1电容充电到门嵌电压的时间,进行查表计算,就可以得到被测电压值,从而实现了A/D转换。

3、A/D转换误差分析及解决办法:

A/D转换的误差主要由以下几个方面决定,分别说明如下:

(1)单片机的电源电压VDD:在该A/D转换中,VDD电压变化较大时有可能造成I/O口的门嵌电压发生变化,不过其影响较小。

(2)单片机内部的定时器对C1电容上电压上升时间的测量偏差:该测量偏差是A/D转换误差的主要因素。

(3)电阻、电容不稳定导致的误差:当电阻R1、R2或电容C1的值发生变化时,也会使C1电容的电压上升至门嵌电压时间发生变化,这也将影响A/D转换结果。

(4)单片机I/O脚的输入阻抗:如果单片机的I/O脚输入阻抗较低,相当于使RC值发生变化,也会影响A/D转换结果。

(5)单片机的门嵌电压:对于不同的单片机,其门嵌电压可能略有相同,这也会导致测量误差。
A/D转换误差的解决办法:

(1)对VDD造成的误差,只能通过提高VDD电压精度来解决,VDD的电压最好能稳定在2%范围内,普通的7805就有2%的稳压精度。

(2)对单片机内部的定时器产生的误差,可以增加RC值,从而使C1电容上电压上升时间延长,计数器测得的值较大,误差会较小。不过R值若太大,受I/O口输入阻抗影响也会较大。

(3)R1、C1选用精度较高较稳定的电阻、电容,或增加一个微调电阻器来解决。

(4)若单片机I/O脚输入阻抗较低,可以减小R1、R2电阻,增加C1电容来解决。

4、A/D转换速度及提高办法:

由于该A/D转换是通过被测值经过一个电阻对电容充电使电压到达门嵌电压后测量充电时间来得到A/D转换值的,因此其A/D转换速度会比较慢,它适用于对A/D转换速度要求不高的产品中,其A/D转换速度取决于以下几个方面:

(1)RC值:当RC值太大时,测量速度会较慢,减小RC值可以提高A/D转换速度,但由于计数时间较短,测量误差会增大。

(2)被测电压值的大小:由于C1上的电压U是由小到大逐渐加大的,当被测电压值较小时,U电压上升到门嵌值的时间就越长,完成A/D转换的速度就越慢。反之被测电压越高,测量速度越快。
由上所述,A/D转换的速度可以通过减小RC值来提高。若单片机带有外部电平变换中断,其A/D转换的精度还可以得到提高。

5、输入电压的测量范围:

A/D转换的输入电压测量范围为单片机门嵌电压至单片机的电源电压(VDD),若需要提高被测电压范围,可将输入电压通过电阻分压后进行测量,但其A/D转换的误差会受分压电阻影响。
6、单片机的A/D转换应用实例:

下图为采用PIC12C508实现A/D转换的应用实例,图中用4个发光二极管来作相应的电压值范围指示。其电压测量范围为1.4V至2.55V,其测量精度为10mV。

单片机实现低成本A/D转换

该应用实例与原程序可参考MICROCHIP公司的单片机应用笔记,该文件可从MICROCHIP网站上下载。

转自: 单片机精讲吴鉴鹰

围观 314

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。

计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

下面我们将举个实例来说明指令的执行过程:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。

例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:

1 程序计数器的内容(这时是0000H)送到地址寄存器;

2 程序计数器的内容自动加1(变为0001H);

3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;

4 CPU使读控制线有效;

5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。

至此,取指阶段完成,进入译码分析和执行指令阶段。

由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC=0002H,PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。

转自: 21ic电子网

围观 310

在汽车的仪表板上安装有各种仪表、指示灯及报警灯,用于帮助驾驶人观察和掌握汽车及各系统的工作情况,提示异常现象和故障,以便及时消除安全隐患。

汽车仪表是用以监测汽车各系统工作状况的装置。汽车上常用的仪表包括机油压力表、冷却液温度表、燃油表、车速表、 转速表和里程表等。随着汽车电子技术的发展,多功能、高精度、高灵敏度、读数直观的电子数字显示及图像显示的仪表已不断应用于汽车上。汽车仪表的功能已不仅仅是单纯的显示,而是通过对汽车各部件参数的监测和微机处理相配套,从而达到控制汽车各种运行工况的目的。

1 引言

车用仪表作为汽车的一个重要组成部分,使驾驶员能够迅速地掌握行驶信息,及时有效地采取相应操作,保证车辆正常安全工作。目前,在我国汽车电子市场中,70%以上的份额为国外企业的产品,国内企业产品所占市场份额不足30%,绝大部分车辆仪表仍以模拟式为主。由于模拟仪表表头的体积较大、指示内容单一,使得仪表显示系统占用了较大的空间,影响了车辆内饰的美观;另外,模拟仪表故障率高,降低了车辆行使的安全系数,增加了维护费用。现代车辆仪表系统不仅要求仪表耐用、耐振、指示准确、读数方便以及受温度、湿度的影响小,还要求轻巧、舒适、美观并具有良好的互换性。而车用数字仪表恰恰满足了这些要求。本文提出用51系列单片机和新型传感器等对传统车用仪表进行改进的新型数字仪表系统的设计方案。

2 车用数字仪表硬件电路设计

车用数字仪表主要由五个部分组成,即CPU主控制模块、温度采集模块、速度采集模块、E2PROM存储器模块以及LCD显示模块。

2.1 系统总体设计

作为车用仪表,其基本功能即为向用户提供车速、里程、车内温度等信息。从技术上说,其工作流程应为:系统启动时,单片机软件初始化,从0000H开始执行程序,开中断,单片机按工作周期输入霍尔传感器、温度传感器信号并进行处理,计算出行驶实时车速、行驶里程,并开中断,与温度数据一起输出到LCD显示模块AT1602A显示,且将里程信息存储信息到E2PROM存储器中。同时,为减少电磁干扰,采用抗干扰电源、光电隔离等措施保证系统正常稳定地运行[1]。

图2.1给出了基于AT89C51单片机的车用数字仪表系统的框图,本系统功能由硬件和软件两大部份协调完成。整个系统主要包括:AT89C51控制模块、LCD显示模块TC1602A、温度传感器模块DS18B20、霍尔传感器模块A44E及E2PROM存储器模块AT24C02。其中AT89C51主要完成外围硬件的控制以及信息处理功能;温度传感器完成温度信号的采样及转换;霍尔元件采集汽车行驶的圈脉冲信号;E2PROM存储器模块存储当前里程信息;LCD显示模块TC1602A完成字符/数字转换、驱动及显示功能。

2.1.1系统保护

深度解读关于单片机的车用数字仪表系统技术
图2.1 基于单片机的车用数字仪表系统框图

一个稳定而完善的系统离不开一套完整的保护控制方案。这里根据单片机运行特点将其运行中可能出现的故障及相应控制措施列表如表2.1所示。

故障情况相应控制措施

市电输入过压(》5V)由限流电阻和稳压管组成的过压保护电路防止高压进入CPU受干扰无法正常工作软件复位、掉电保护,电源受干扰,输出电压不稳定经型电路滤波,78L05变压后得到稳定电压

2.1.2 控制模块I/O口

AT89C51单片机有3个8位的并行双向口,计有24根输入/输出(I/O)口线;一个全双工串行接口(UART)。本系统中TC1602A用P1.0~P1.7,P3.3~P3.5与单片机通信;DS18B20用P2.0与单片机通信;AT24C02用P2.5,P2.6与单片机通信;A44E用P3.2与单片机通信。

2.2 CPU主控制模块和51单片机系统的扩展

深度解读关于单片机的车用数字仪表系统技术

CPU主控制模块主要采用AT89C51单片机完成霍尔传感器的信号采集、温度信号的采集,以及里程信号、速度信号、温度信号的显示工作。基于设计要求,要进行系统扩展。

AT89C51系列单片机芯片可构成图2.2所示的三总线结构,即地址总线(AB)、数据总线(DB)和控制总线(CB)。所有的外部芯片都通过这三组总线进行扩展[2]。

在本系统中,温度、速度及里程信息的实时性要求很高,而一般串行接口器件速度较慢,在需用高速应用的场合,还是并行扩展法占主导地位,所以在本系统中采用以并行方式扩展E2PROM存储器和LCD显示模块。

2.3 LCD显示模块

2.3.1 引脚与内部结构

LCD显示模块主要采用TC1602A字符型液晶显示芯片显示车内温度、车速及里程信息。

TC1602A共有16个引脚,其引脚及功能如表2.3所列。

  引 脚符 号输入/输出功 能 说 明

  1Vss电源地:0V

  2Vdd电源:5V

  3VO对比度调整,驱动电压范围为VDD~VO当VO 接地时,对比度最强

  4RS输入寄存器选择:“0”为指令寄存器; “1”为数据寄存器

  5R/W输入“1”为读操作;“0”为写操作

  6Enable输入使能信号:E=1时,使能;E=0时,禁能

  7~10D0~D3输入/输出数据总线的低4位,与4位MCU连接时不用

  11~14D4~D7输入/输出数据总线的高4位

  15~16LED+/LED-电源背光

  TC1602A内部主要由DDRAM、CGROM、CGRAM、IR、DR、BF、AC等大规模集成电路组成[3]。

2.3.2 TC1602A与单片机接口电路

深度解读关于单片机的车用数字仪表系统技术
图2.3 TC1602A与AT89C51单片机的接口电路

在本系统中,LCD显示设置在第1行依次显示2位数字的车内温度,3位数字的时速及9位的行驶里程,且相邻信息以1个空字符为间隔,相关单位可标记在仪表外壳上。

TC1602A与单片机AT89C51的P1口传输显示数据,相关控制线分别与P3口的控制引脚连接,接口电路如图2.3所示:

2.4 温度采集模块

温度采集模块主要采用美国Dallas半导体公司的DS18B20温度芯片对车辆内部温度进行采集。

2.4.1 内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH/TL和配置寄存器。

光刻ROM的作用是使每一个DS18B20都各不相同,以实现一根总线上挂接多个DS18B20的目的[5]。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。用户可自设定非易失性温度报警上下限值TH和TL(掉电后依然存在)。DS18B20在完成温度变换后,所测温度值将自动与贮存在TH和TL内的报警值相比较,如果高于TH或低于TL,DS18B20内部的告警标志就会被置位。

2.5 速度采集模块

在本系统中采用轴向磁极方式设置磁体,将它和霍尔开关电路组合起来可以构成旋转传感器。转轴每转1圈,霍尔传感器发出8个脉冲[6]。

测速传感器的工作原理是将霍尔开关和磁铁分别安装在车架、车轮的适当位置,其产生的脉冲信号输入到单片机的P3.2端,单片机对其进行计数,算出速度、里程并输出到LCD显示器,实现车速、里程的数字显示。

由于A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到1MHz。

霍尔传感器集成芯片A44E有信号转换、电压放大、整形输出等功能。为增加其抗干扰能力,通过光偶后送入P3.2引脚。如图2.10所示[7]。

图2.10 霍尔开关脉冲的检测

深度解读关于单片机的车用数字仪表系统技术

2.6 E2PROM存储器模块

为了实现里程显示的连续性,系统必须选择掉电存储器存放里程信息。掉电存储单元的作用是在电源断开的时候,存储当前的里程信息。这里可以采用掉电保护的E2PROM存储器AT24C02。

3 车用数字仪表电路软件设计

为使数字仪表系统更优化,本节以51系列单片机为核心设计了各部分的软件控制。

3.1 主程序

控制模块AT89C51的程序流程图如图3.1所示。

深度解读关于单片机的车用数字仪表系统技术
图3.1 主程序流程图

3.2 温度传感器子程序

本系统对DS18B20进行的操作主要包括两个子过程:(1)读取DS18B20的序列号。主机首先发一复位脉冲,等收到返回的存在脉冲后,发出搜索器件的序列号命令,读取DS18B20的序列号;(2)启动DS18B20作温度转换并读取温度值。主机在收到返回的存在脉冲后,发出跳过器件的序列号命令,跟着发出温度转换命令,再次复位并收到返回的存在脉冲后,发送DS18B20的序列号,读出数据。

3.3 里程脉冲中断子程序

里程表的速比表示的是:输入与输出速度之比,里程表转轴(软轴)在汽车行驶1公里时所转过的转数。这种里程表转轴每转1圈,霍尔传感器将感应发出8个脉冲。现在以速比为1:624的车型为例:汽车行驶1公里,则霍尔传感器发出的脉冲数共为8&TImes;624=4992个,或者说,每个脉冲代表了1/4992公里的里程。霍尔传感器将这些脉冲信号当作外部中断源输入给单片机,使每个脉冲产生1个中断,并通过中断服务程序对每个脉冲进行计数。这样,当计满4992时,表明汽车行驶了1公里,然后再给累计单元加1,并存入E2PROM单元,最后通过刷新LCD液晶显示器,即可实现里程计数功能,本设计选用边沿触发方式,即采用负跳变引起中断。

软件实现:控制模块在关闭脉冲中断之后,当脉冲数达到1公里所需数目后修改里程记数单元并关中断、返回。

3.4车速测量子程序

用脉冲发生器(霍尔开关)实现车速表。

与上相同,以速比为1:624为例。在单位时间内(以1s为例),对霍尔传感器发出的脉冲信号进行记数,通过计算即可得出实时速度。具体如下:

在单位时间内(本系统设定为1s)记霍尔开关的脉冲数,用单位时间所行的距离即可计算出单位时间内的平均速度(如图3.6)。若单片机1s内收到了n个脉冲,则1s内车辆行驶的距离为:(1000n)/4992,速度为[(1000n)/4992]m/s,把它转换为km/h。每隔1s输出时速并刷新LCD液晶显示器,即可实现车速显示功能。

E2PROM存储器AT24C02能与I2C总线兼容,遵守I2C总线协议。

3.5 LCD显示子程序

LCD显示模块采用TC1602A。由于本系统只显示温度、车速、里程等信息,单片机不读入LCD信息,所以本系统只用到其中设置输入模式指令、显示开关控制指令、系统初始化设置、DDRAM地址设置指令、忙状态检查指令、写数据指令。

4 辅助电路

作为一个完整的数字仪表系统,除主控制单元外还必须有许多辅助电路。例如提供保护的抗振措施、过压保护电路、看门狗电路等,这些电路是一个完整的单片机数字仪表系统必不可少的,下面将分别介绍。

4.1 抗振措施

车载电子设备的抗振措施主要是以下两个方面:

(1)加固设计

提高电子设备结构上的薄弱环节。对薄弱环节进行加固,使其容许的冲击应力和疲劳极限高于其实际响应值,保证电子设备的正常工作;

(2)采用隔振缓冲系统

对电子设备整机进行隔振缓冲设计,使外部激励通过隔振缓冲系统的减弱后,传递给设备的实际作用力,小于设备的许用值。

4.2 过压保护电路

本系统在输入通道上也设计了过压保护电路,1脚为电压输出,8脚为电压输入,它由限流电阻和稳压管78L05组成,加在单片机电压输入之前,防止引入高电压,损害单片机系统。

来源: 电子发烧友

围观 437

目前扩展串口的方法主要有以下方法,

①、采用串口扩展芯片实现,如ST16C550、ST16C554、SP2538、MAX3110等,虽然成本较高, 但系统的可靠性得到了保证,适用于数据量较大、串口需求较多的系统;

②、采用分时切换的方法将一个串口扩展与多个串口设备通信,分时复用的方法成本低, 但只适用于数据量不大的场合, 并且只能由这个单片机主动和多个设备通信,实时性差;

③、用软件模拟的方法扩展串口,其优势也是成本低、实时性好, 但要占用一些CPU时间。

一般的软件模拟扩展串口方法,使用1个I/O端口、1个INT外部中断和定时器,该方法扩展的串口有2个缺点,
①、由于使用了INT外部中断,故只能使用2个INT外部中断扩展2个串口。
②、文中的发送和接收数据的效率比较低,占用了CPU的大量时间,不能与其他任务同时进行,所以使用范围有限。

本文提出的模拟串口方法,仅使用2个普通I/O和1个定时器,由于不需要INT的限制,可以扩展出多个串口,且带FIFO的功能,该方法扩展模拟串口的收发数据在中断服务中完成,所以非常效率高,一般的单片机都支持定时器中断,所以所以该方法在大多数单片机上都可以应用。

对于低速度的单片机(如89S51)可以扩展出低速串口(9600、4800等),对于高速单片机(如AVR、PIC、C8051、STC12)可以扩展高速串口(如19200、28800、38400、57600等)。目前单片机的处理速度越来越高,而价格越来越便宜,本文使用的STC12C1052芯片就具有高速度和低价格,价格仅为每片人民币3.8元。电子产品的开发设计时,要求在保证性能的情况下降低硬件成本,软件模拟扩展串口提供了一种降低成本的好方法。

1、串口通讯原理

在串口的异步通信中,数据以字节为单位的字节帧进行传送,发送端和接收端必须按照相同的字节帧格式和波特率进行通信,其中字节帧格式规定了起始位、数据位、寄偶效验位、停止位。起始位是字节帧的开始,使数据线处于逻辑0状态,用于向接收端表明开始发送数据帧,起到使发送和接收设备实现同步。停止位是字节帧的终止,使数据线处于逻辑1状态,用于向接收端表明数据帧发送完毕。波特率采用标准速度,如4800、9600、19200、28800、38400、57600等。

2、软件UART的设计思想

在本设计对硬件要求方面,仅仅占用单片机的任意2个I/O端口和1个定时器,利用定时器的定时中断功能实现精确的波特率定时,发送和接收都在定时中断的控制之下进行。

数据发送的思想是,当启动字节发送时,通过TxD先发起始位,然后发数据位和奇偶数效验位,最后再发停止位,发送过程由发送状态机控制,每次中断只发送1个位,经过若干个定时中断完成1个字节帧的发送。

数据接收的思想是,当不在字节帧接收过程时,每次定时中断以3倍的波特率监视RxD的状态,当其连续3次采样电平依次为1、0、0时,就认为检测到了起始位,则开始启动一次字节帧接收,字节帧接收过程由接收状态机控制,每次中断只接收1个位,经过若干个定时中断完成1个字节帧的接收。

为了提高串口的性能,在发送和接收上都实现了FIFO功能,提高通信的实时性。FIFO的长度可以进行自由定义,适应用户的不同需要。

波特率的计算按照计算公式进行,在设置最高波特率时一定要考虑模拟串口程序代码的执行时间,该定时时间必须大于模拟串口的程序的规定时间。单片机的执行速度越快,则可以实现更高的串口通讯速度。

3、软件UART设计的实现

本程序在宏晶科技(深圳)生产的STC12C1052高速单片机上进行运行测试,STC12C1052单片机是单时钟/机器周期的MCS51内核单片机,与89C2051引脚完全兼容,其工作频率达35MHz,相当与420MHz的89C2051单片机,每片人民币3.8元。由于该单片机的高速度,使得软件扩展串口的方法,更方便实现高速的串口。

本扩展串口的设计中,STC12C1052使用的晶振频率为22.1184Mhz,以波特率的3倍计算定时时间,在接收过程中以此定时进行接收起始位的采样,在发送和接收过程中再3分频得到标准波特率定时,进行数据发送与接收。

3.1、数据定义

定义模拟串口程序所必须的一些资源,如I/O引脚、波特率、数据缓冲区等。

#define Fosc 22118400 //晶振频率
#define Baud 38400 //波特率
#define BaudT (Fosc/Baud/3/12)
#define BufLong 16 //FIFO长度
sbit RxD1=P1^7; //模拟接收RxD
sbit TxD1=P1^6; //模拟发送TxD
bit Brxd1,Srxd1;//RxD检测电平
BYTE Rbuf1[BufLong];//FIFO接收区
BYTE Rptr1,Rnum1;
BYTE Tbuf1[BufLong];//FIFO发送区
BYTE Tptr1,Tnum1;
BYTE TimCnt1A,TimCnt1B;
BYTE Mtbuf1,Mrbuf1,TxdCnt1,RxdCnt1;

3.2、数据接收子程序

数据接收过程中,依次存储RxD的逻辑位形成字节数据,当数据接收完毕且停止位为1时,表示接收到了有效数据,就将结果存储到接收FIFO队列中去。

void Recv()
{
if(RxdCnt1>0) //存数据位8个
{
Mrbuf1>>=1;
if(RxD1==1) Mrbuf1=Mrbuf1|0x80;
}
RxdCnt1–;
if(RxdCnt1==0&& RxD1==1) //数据接收完毕
{
Rbuf1[Rptr1]=Mrbuf1; //存储到FIFO队列
if(++Rptr1>BufLong-1) Rptr1=0;
if(++Rnum1>BufLong) Rnum1=BufLong;
}
}

3.3、数据发送子程序

该程序过程中,当数据发送状态结束时,检测发送FIFO队列是否为空,若非空则取出发送数据,然后启动发送状态;当处于发送状态时,则按照状态机的状态进行起始位、数据位和停止位的发送。

void Send()
{
if(TxdCnt1!=0) //字节发送状态机
{
if(TxdCnt1==11) TxD1=0;//发起始位0
else if(TxdCnt1>2) //发数据位
{ Mtbuf1>>=1; TxD1=CY;}
else TxD1=1; //发终止位1
TxdCnt1–;
}
else if(Tnum1>0) //检测FIFO队列
{
Tnum1–;
Mtbuf1=Tbuf1[Tptr1]; //读取FIFO数据
if(++Tptr1>=BufLong) Tptr1=0;
TxdCnt1=11; //启动发送状态机
}
}

3.4、中断程序

中断定时时间为波特率定时的1/3,即以3倍的波特率对RxD进行采样,实现起始位的判别,当起始位到达时启动接收过程状态机。将该定时进行3分频再调用数据的发送和接收过程,进行准确波特率下的串口通信。

void Uart() interrupt 1 using 1
{
if(RxdCnt1==0 ) //接收起始识别
{
if(RxD1==0 && Brxd1==0 && Srxd1==1) { RxdCnt1=8; TimCnt1B=0;}
}
Srxd1=Brxd1; Brxd1=RxD1;
if(++TimCnt1B>=3 && RxdCnt1!=0) { TimCnt1B=0; Recv();}//数据接收
if(++TimCnt1A>=3) { TimCnt1A=0; Send();} //数据发送
}

3.5、串口初始化

打开定时器的中断,将定时器的设置为自装载模式,依照波特率设置定时中断的定时间隔,启动定时器,并进行UART各变量的初始化。

void IniUart()
{
IE=”0x82″; TMOD=”0x22″;
TH0=-BaudT; TL0=-BaudT; TR0=1;
Rptr1=0;Rnum1=0;Tptr1=0;Tnum1=0;
}

4、结束语

本文提出的模拟串口设计方法,其独特之处在于:仅仅使用任意2个普通I/O引脚和1个定时中断实现了全双工串口,对硬件的占用较少,具有多可串口扩展能力;在串口接收的起始位判别时采用了连续3次采样的判别方法,该方法实现简单、准确率高;用定时中断实现了串口数据的发送和接收,并实现了FIFO队列,使串口发送和接收工作效率高。

来源: 快易购

围观 490

摘 要:采用气体传感器阵列采集气体信息,通过以AT89C51 和ADC0809 组成的核心单元进行数据采集和数据处理,以LED 显示器显示结果,实现了对多种气体的识别和检测。

气体传感器是一种能将气体种类及其与浓度有关的信息转换成电气信号的装置。根据这些电气信号的强弱就可以获得与待测气体在环境中存在情况有关的信息,从而可以进行检测、监控、报警。因此由气体传感器与模式识别系统构成的智能化气味识别仪器有着广泛的应用领域,如食品工业、化学工业、环境监测、医学诊断、安全检查等,越来越受到广泛关注。

传统的气体检测大多采用单气体检测方式, 即每测量一种气体需要一种测量仪表。用一种仪器能够进行多种气体的检测和识别是气体检测仪的发展趋势,而本设计采用酒精传感器、甲烷传感器、一氧化碳传感器等多种气体传感器组成传感器阵列,通过传感器阵列能把气体中的特定成分检测出来,并将其转化为电信号,然后采用ADC0809 将传感器输出的模拟信号转换为数字信号,运用AT89C51 进行数据处理和计算,并通过LED 显示气体种类和浓度信息,这样就实现了对多种气体的定性识别和检测。

1 硬件电路设计
  
本设计硬件电路由数据采集、数据转换、数据处理、结果显示和报警等部分组成,涉及的芯片有AD0809 模数转换芯片、AT89C51单片机、SUN7474频率发生器以及一些气体传感器、驱动电路、复位电路和LED 显示模块。系统的功能框图如图1 所示。

基于单片机的多气体检测系统设计方案
图1 系统功能框图

1.1 气体传感器阵列
  
气体传感器阵列是电子嗅觉系统的关键组成单元,相当于初级嗅觉神经元,由具有广谱响应特性、交叉灵敏度较大、对不同气味/气体有不同灵敏度的气敏元件组成。
  
气体传感器是组成气体传感器阵列的核心器件。气体传感器是一种把气体中的特定成分检测出来,并将其转化为电信号的器件。通常,气体传感器阵列可以采用数个单独的气体传感器组合而成,并采用集成工艺制作,体积小,功耗低,便于信号的集中采集与处理。单个气体传感器与传敏阵列在特性上有质的区别,单个气体传感器对气味/ 气体的响应可用强度来表示,而气敏传感器阵列除了各个传感器的响应外,在全部传感器组成的多维空间中形成响应模式,在环境条件一定的情况下,阵列上的响应模式与其激励是一一对应的,而这正是该系统能对多种气味和气体进行辨识的关键所在。

本设计要求实现对酒精、甲烷、一氧化碳气体的定性和定量分析,首先最重要的工作是选择合适的传感器,通过对性能、可实现性、价格等的对比,针对酒精气体,选择的是MQ-303A酒精传感器,针对甲烷气体,采用的是MQ-4 半导体气体传感器,针对一氧化碳气体,选择的是V-40 一氧化碳传感器,由这三种传感器组成传感器阵列。

该设计通过气体传感器阵列采集气体信息,并将采集到的信息转化为电信号,然后送到ADC0809 进行模数转换。

1.2 数据采集和数据处理系统
  
由气体传感器阵列输出的微弱电信号,经各自信号放大电路对信号进行预处理,使其转换为O ~5V 范围内变化的直流信号,送到A/D 转换电路变换为数字信号,对其进行数据采集处理。

为了方便与89C51 单片机的连接,本系统选用ADC0809芯片对采集到的气体信息进行模数转换。其分辨率为8 位,不必进行零点和满度调整,且具有高阻抗斩波稳定比较器,8个通道的多路开关可直接存取8 个单端模拟信号中的一个。利用单片机写启动A / D 转换器,转换结束后再由ADC0809 向89C51 发出中断请求信号,CPU 响应中断请求。通过对译码器的读操作,读取转换结果并送到被测量的相应存储区。再重新选择被测量,并再次启动A/D转换后中断返回。ADC0809与单片机89C51 连线线路如图2 所示。

基于单片机的多气体检测系统设计方案
图2 ADC0809 与89C51 的连线线路

微处理器采用的是AT89C51 芯片

89C51 单片机是ATMEL、PHILIPS和SST等公司生产的与80C51 兼容的低功耗、高性能8 位单片机,具有比8031 更丰富的硬件资源,特别是其内部增加的闪速可电改写的存储器Flash ROM给单片机的开发及应用带来了很大的方便,且芯片价格非常便宜。在该系统中89C51 主要对采集数据进行处理,按各种气体浓度的数学模型计算出其浓度,由数码管显示其相应的气体种类及浓度值,当浓度超标时,进行报警。
  
该系统还采用了分频器SUN7474.分频器对脉冲信号进行2的n次方分之一的分频,例如把32768HZ 的脉冲信号变成1HZ的秒信号。通常利用T触发器实现,每来一个脉冲后触发器状态改变一次,经过n个T触发器处理后就可以得到2的n次方分之一的分频信号。89C51接12MHZ晶振,经ALE端后输出到分频器为2MHZ,分频器进行分频后为ADC0809 提供所需的工作时钟。

1.3 显示电路
  
在该设计中,LED 显示器的显示方法采用动态显示。LED 动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应LED后,即在显示字段上得到显示字形码。这种方式不但能提高数码管的发光效率,并且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。本设计中处理结果采用4位LED显示,首位显示气体类别,后3 位显示气体浓度。逐位轮流点亮各个LED,每一位保持1ms,在10~20ms 之内再一次点亮,重复不止。这样利用人的视觉停留,好像4 位LED 同时点亮一样。

综上可得,基于单片机的多气体检测系统的数据采集、数据处理及结果显示电路如图3。

基于单片机的多气体检测系统设计方案
图3 多气体检测系统电路

2 软件设计
  
本设计由数据采集、数据转换、数据处理、显示和报警几个模块组成。
  
主程序流程图为图4。

基于单片机的多气体检测系统设计方案
图4 主程序流程图

  
AD0809 部分程序流程图为图5。

基于单片机的多气体检测系统设计方案
图5 AD0809 部分程序流程图

  
显示子程序流程图如图6。

基于单片机的多气体检测系统设计方案
图6 显示子程序流程图

  
结语
  
本文介绍了进行多气体分析的电子嗅觉系统的硬件结构和软件设计。在本设计中采用多传感器组成传感器阵列,可针对多种不同气体进行信息采集、信息转换和数据处理,最后显示气体种类和浓度信息,为多种气体的检测提供了一种切实可行的解决方案。

转自:21IC

围观 419

一、血压测量原理

血压的概念就是血液流经血管壁时的压力。由心脏出来的血液,需要有推力,才能绕行身体一周,心脏就是借着不停的收缩、放松,将血液推送前进。血压有两种,一是收缩压:是当心脏收缩将血液打到血管所测得的血压,另一是舒张压:是心脏在不收缩所测得的压力。当袖带的压力等于血压时,血液开始可以流通而产生所谓的袖带声,这时候表现为收缩压,从这一刻开始做记录,直到最后袖带声音消失的时候,记录此点即为舒张压。

二、电子血压计工作原理

系统框图如图1所示。系统由恒流源、压力传感器、放大电路、带通滤波、二次放大、血压脉冲触发、液晶驱动器、键盘语音电路和单片机组成。

基于MSP430F449D的电子血压计设计
图1 电子血压计原理图

单片机主要原理为:PWM输出控制气泵充气漏气调整袖带内气压;一路ADC采样袖带内气压直流分量以便取得收缩压和舒张压;一路ADC采样袖带内气压交流分量经分析计算后确定收缩压和舒张压的瞬态时间位置;接收血压脉冲信号触发ADC工作;将计算出的收缩压和舒张压结果输出至LCD显示并进行数值的语音提示。

三、硬件设计

1 MSP430FF449D单片机主控电路

本系统主控电路如图2所示,主要由MSP430F449芯片、JTAG接口电路、时钟发生电路、时钟输出电路、复位电路、PWM波输出电路、供电电路等组成。其中JTAG用于下载和调试程序,PWM波输出电路用于控制气泵。当测量血压时,先充气至200mmHg高,再慢慢以每秒约下降5mmHg的速度放气。实现自动测量血压。

基于MSP430F449D的电子血压计设计
图2 电子血压计主控电路

2 血压传感电路

如图3所示,本电路采用BP01型压力传感器和运放MAX4472。BP01型压力传感器是为检测血压而专门设计的,主要用于便携式电子血压计。它采用精密厚膜陶瓷芯片和尼龙塑料封装,具有高线性、低噪声和外界应力小的特点;采用内部标定和温度补偿方式,提高了测量精度、稳定性和重复性,在全量程范围内,精度为±1%、零点失调不大于±300μV。MAX4472是MAXIM公司的一款集成了四个运算放大器的低功耗放大芯片。本系统中内部集成运放A接恒流源,为压力传感器提供恒定的电流,运放B和运放C,运放D组成差分输入、单端输出放大电路,直接输入ADC0监视血压直流分量。

基于MSP430F449D的电子血压计设计
图3 血压传感电路

3 滤波和放大电路

如图4所示,电路由滤波和放大两部分组成。其中MAX267是MAXIM公司出产的一个集成滤波器,可以构成低通、带通、高通、等多种方式,使用灵活,性能远远优于采用集成运放组成的滤波电路。

基于MSP430F449D的电子血压计设计
图4 滤波和放大电路

MAX4471是MAXIM公司的一款低功耗的放大器。MAX9028是MAXIM公司的一个低功耗的比较器。滤波电路采用MAX267构成带通滤波器(允许0.8~38Hz的信号通过),滤掉信号中的直流成分和电源以及皮肤与袖带摩擦的高频噪声和工频干扰,然后经过MAX4471进行进一步放大,得到单片机匹配的电压信号,进入ADC2,监视血压的交流分量。同时该信号通过低功耗比较器MAX9028转换成脉冲信号,触发ADC1工作。

4 日历时钟和存储电路

如图5所示,由EEPROM24C256和日历时钟芯片PCF8563组成。24C256是一款低电压、串行接口,容量为256K的存储器,用于存储测量的血压值。PCF8563是PHILIPS公司推出的一款工业级内含I2C总线的具有极低功耗的多功能时钟/日历芯片。用于提供测量血压时的时间和日期,以便于以后进行查询使用。方便于使用者对自己一段时间的血压有个清晰的记忆。实用性强,克服了一些电子血压计的不足。

基于MSP430F449D的电子血压计设计
图5 日历时钟和存储电路原理图

5 键盘和显示电路

如图6所示,由键盘电路和液晶显示电路两部分组成。液晶显示电路采用ZJM12864BSBD,这是一款低功耗的点阵图形式LCD,显示格式为128点(列)×64点(行),具有多功能指令,很容易与MPU相连。其中键盘电路采用独立式按键,有7个按键,分别为测量、mmHg/kPa转换、记忆、设置、上翻、下翻、删除。可以进行日历时钟的设置,进行报警参数的设置,进行血压的测量值的存取和删除等功能。LCD可以显示收缩压,舒张压,当前的时间和日历;在查询状态时可以实现以往测量血压的日期、时间、测量值,同时可以通过软件编程实现历史数据的图形化显示(例如画出血压波动曲线),方便直观。

基于MSP430F449D的电子血压计设计
图6 键盘和显示电路

6 语音报压和报警电路

本电路如图7所示,主要由集成语音芯片ISD2560组成。ISD2560是Winbond公司生产的一款具有较强功能的语音录放芯片,是一种永久记忆型语音录放电路,录音时间为60s,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,能够非常真实、自然地再现语音。通过事先录制好的声音,实现血压测量值的自动声音提示,如果血压高出正常血压的上下限值,还会发挥报警,提醒使用者就医。

基于MSP430F449D的电子血压计设计
图7 语音报血压,报警电路

四、结语

电子血压计具有小型化、低功耗、智能化程度高的优点,在使用上有便携和易操作的特点,从而呈现出家用化的趋势。本文给出了完整的携带式电子血压计硬件设计方案,并基于MSP430F449为控制核心辅以压力传感器和外围的模拟电路以及LCD 驱动芯片实现了电子血压计的设计。此设计用的芯片大部分都是低功耗的芯片,便于使用电池供电。同时设计实现了人性化,智能化的要求,就像一个家庭护士,对与高血压患者以及中老年人来说十分方便,可以转化为实际产品,故有较高的实用价值。

来源: 中电网

围观 482

对于传统流量检测系统而言,其多数选用的是电磁传感器,而电磁传感器易受外界磁场的影响而导致流量计量的不正确,MSP430单片机作为一种超低功耗的16位混合信号处理器,其在流量检测中的应用得到了越来越广泛的应用,因此,本文重点就基于MSP430单片机的流量检测仪的设计进行了研究。

1.以MSP430单片机为基础的流量检测仪的工作原理分析

考虑到流量检测仪低功耗等方面的特性,控制器选用的为MSP430F149,具体而言,此流量检测仪的工作原理如下:
当液体经过流量检测仪的过程中,检测仪内部的旋转磁盘进行转动,因而旋转磁盘上所设置的磁钢会触发传感器,并使其发出极为微弱的电信号,通过将此信号进行逐级放大和滤波之后,信号通过输出进入到检测仪的CPU中,CPU计数器对其进行输入,而后系统周期对脉冲个数进行读取,并借助于相应的软件对流量进行计算,后经处理形成所谓的差动信号,此差动信号以脉冲的形式传送至显示器中进行显示,这样其参数及流量信息可通过MSP430F149的I/O接口进行输入/输出。

2.基于MSP430单片机的流量检测仪的设计分析

2.1 电路的设计

流量检测仪的控制器采用的是TI公司所生产的MSP430149单片机,通过对流量检测仪的几个主要功能模块进行设计,系统的具体结构如图1所示。

流量检测中MSP430单片机的应用分析

1)温度检测模块,此模块主要包括了温度传感器与差动放大器,此模块通过温度传感器将信号传送至差送放大器中,信号经放大后输入至MSP430F149之中,经单片机的A/D转换口对信息及数据进行相应的处理及保存。本系统所采用的温度传感器其热电阻为PT100.

2)流量检测模块,此模块包括流量传感器与整形电路,当一定量的液体经过传感器时,传感器会产生脉冲,这样,通过所得脉冲数即可进行流量的计算。系统所采用的流量传感器为WG系列的韦根传感器,其原理如下:传感器中的合金材料具有磁性双稳态功能,这样受到外磁场激发后,其磁化方向会瞬间进行翻转,并在检测线圈中产生电信号,从而实现了磁电之间的转换。

3)通信模块,此模块主要包括了NRF-401无线通信电路以及RS485通信接口。对于RS485接口而言,其芯片采用的是TI公司生产的SN75LBC184,其使用的为单一电源VCC,3-5.5V电压范围之内均可正常进行工作,并能有效实现TTL到485间的转换。

对于无线串行接口电路而言,其采用的是NRF401无线通讯芯片,并应用了FSK调制解调技术,因此工作过程中的最高速率可达20kb/s.此外,还可对发射功率进行调整,发射过程中的最大功率为+10dBm.

4)对于液晶显示模块而言,其主要功能即对当前液体的流量进行显示。

2.2 软件的设计

2.2.1 模块的设计

对于流量检测仪而言,其设计过程某些程序的执行需要通过实际时间来进行调度。而此机制要想实现需要借助于MSP430单片机中所具有的TIMER-A及TIMER-B等实现。根据本系统的设计,需要定时器在32768Hz的条件下每秒进行一次中断,因此,需要对TIMER-B进行以下方面的设置:
- 将时钟源定义为ACLK;TBCTL=TBSSEL0+TBCLR
- 允许中断定时器;TBCCTL0=CCIE
- 将定时器的定时时间设为1s;TBCCR0=0X7FFF
- 在增计数模式进行定时器的工作;
- TBCTL1=MC0

这样,即可实现定时器1s中1次的中断服务程序,在此程序中进行相应定时器的设计,以便进行计时相关操作。系统采用了热电阻PT100.由于MSP430单片机自带ADC12模块,因此可将所采集的温度通过A/D进行转换。为了对温度及其他模拟量进行即时处理,系统采用了序列通道多次转换模式。转换完成后结果会存放于ADC12MEM之中。

对于系统的软件而言,其包括上层及下层模块两部分软件,其中,上层收到中心命令后可借助于射频无线通信方式对下层进行命令的发送,并进行计时。若下层无数据返回,一旦超时上层会重新进行命令的发送。若3次以上仍无数据返回,则将被认为下层工作出现异常,并向中心提交异常信号。由于MSP430单片机仅存在一个串口,而上。下层模块需2个串口,而第2个串口需要借助于定时器A所具有的捕获/比较功能来实现。

2.2.2 无线通信协议

系统的通信协议包括3层:一是物理层,主要是通过NRF401模块实现的;二是数据链路层,此层主要负责进行无线数据传输的提供;三是应用层,进行数据的发送时,需将此层所传送来的较长数据帧进行拆分,并进行包头与校验和,而后再重新进行打包并发送。

由于NRF401灵敏度极高,因此,若无数据的传输时,其数据的输出脚将会存在杂波的输出,此类杂波将会受到MCU串口的接收和处理。四个字节的0×CC加上一个字节的0×F0可保证数据帧到达之前双方之间通讯的同步实现。系统协议采用的是两个字节的帧头,即两个0×55,其加上起始和停止位之后,实际过程中发送的将为0101010101,因此可有效保证数据获得确认。此外,由于十个字节数据后为校验和,因此采用16位的crc校验可确保数据传输过程的准确性。此时接收方会对crc及校验和进行比较,若不同说明传输过程发生错误,此时接收方会讲错误帧编号进行记录,待所有数据发送结束后,可返回错误编号,并要求重新进行发送。

若所有数据均接收正常,则会确认发送正确。

3.结语

MSP430单片机由于其功耗超低等特点,因而在流量检测中得到很好的应用。

通过基于MSP430单片机的流量检测仪的设计,根本上解决了传统流量检测过程中精度问题以及检测仪受液体影响而寿命降低等多方面弊端,因而在流量检测方面具有十分良好的发展前景。

来源: 电子产品世界

围观 333

页面

订阅 RSS - 单片机