运用LabVIEW编程模拟PIC单片机A.pdf
《运用LabVIEW编程模拟PIC单片机A.pdf》由会员分享,可在线阅读,更多相关《运用LabVIEW编程模拟PIC单片机A.pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、邮局订阅号:82-946 360元/年技术创新单片机开发与应用PLC 技术应用 200 例您的论文得到两院院士关注祁 宁:硕士研究生基金项目:教育部高等学校博士学科点专项科研基金资助项目(20050285022)运用 LabVIEW 编程模拟 PIC 单片机 A/D 转换Simulation of PIC MCU A/D Conversion Based on LabVIEW(江苏省丝绸工程重点实验室)祁宁陈庆官QI Ning CHEN Qing-guan摘要:A/D转换是一种将模拟量转化为数字量的过程。二进制虽然理论上很容易理解,但实际上不易形成明确的概念,为了让初学者快速明确这一概念,利用
2、LabVIEW编程模拟PIC单片机A/D转换的原理和结构,依据逐次比较法原理编制了A/D转换程序,并演示了程序执行结果,快速建立了模/数概念。关键词:LabVIEW;A/D转换;逐次比较法;PIC单片机中图分类号:TP391.9文献标识码:BAbstract:A/D conversion is a kind of process which converts analog value into digital Data.The binary system is difficult to form aclear concept for beginners in fact though easil
3、y understood.The A/D conversion program has been developed based on the methodof successive comparison in order to make the beginners understand the theory quickly.The principle and structure of programmingof LabVIEW simulating A/D conversion of PIC are introduced,the results of procedures implement
4、ation are demonstrated and the A/D conversion concept is rapidly established.Key words:LabVIEW;A/D conversion;successive comparison method;PIC MCU文章编号:1008-0570(2009)05-2-0117-021引言1.1 LabVIEW 简介LabVIEW(laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)是一种由美国国家仪器(NI)公司研制开发的图形化程序开发平台。俗称
5、 G 语言,产生的程序是框图的形式。与 C 和 BASIC 语言一样,LabVIEW 也是一种通用的编程语言,有一个可以完成任何编程任务的庞大函数库和丰富的虚拟仪器面板控件。使用这种语言编程时,不写程序代码,取而代之的是类似流程图的框图程序。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,使得编写程序变得简单。因此,LabVIEW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。1.2 A/D 转换的基本原理A/D 转换是一种将模拟量的电信号转
6、化为数字量(计算机中可以识别的 0 和 1)的过程。目前常见的 A/D 转换主要有三种类型,即双积分式、并行比较式和逐次比较式。双积分法 A/D主要应用于速度要求不高,但可靠性和抗干扰性要求较高的场合,如数字万用表等。并行比较法 A/D 主要应用于高速采样,比如数字示波器、数字采样器等应用场合。逐次比较法主要用于大多数 DAQ 或单片机中。逐次比较式 A/D 转换主要原理是将参考电平按最大的转换值量化,利用输入模拟电平与参考电平的比例来求得输入电平的测量值。许多单片机的 A/D 转换的参考电平由一个外部引脚输入,这样使得用户可以对 A/D 转换进行更好的控制。需要注意的是 A/D 转换的输入电
7、平必须低于参考电平。1.3 单片机(PIC)中实现模拟量采集器PIC 单片机中的 A/D 转化器是属于逐次比较式。向单片机的一条模拟输入通道,输入一个模拟量,则单片机利用逐次逼近寄存器进行模/数转换,与该模拟量进行比较,通过多次(A/D转换位数)的比较,就能够及时地把模拟量转换成数字量,并且将转换结果用二进制方式及时地显示出来。原理图见图 1。图 1 单片机(PIC)中 A/D 转换器原理图2LabVIEW模拟A/D转换的编程思路2.1 程序实现目标根据逐次比较法的原理,通过循环、判断等结构输出布尔量,以旋钮输入控件模拟传感器提供可以变化的模拟量,循环、判断结构模拟单片机内部 DAC 模块功能
8、,最后运用布尔量数组模拟发光二极管,从而实现多位 A/D 转换的功能。2.2 程序实现原理同单片机中 A/D 转换器原理相似,首先运用布尔量数组模拟 A/D 转换位数为 N(表示 N 个 2 进制位)。初始设定 N 位上的值都为 0。将输入模拟量(需要转换的量)V1与预设模拟量 V2(参考电压)转化成满量程的一半,进行比较,由判断程序输出逻辑量结果。如果 V1V2,则最高位为 True,输出 1。然后利用117-技术创新微计算机信息(嵌入式与 SOC)2009 年第 25 卷第 5-2期360元/年 邮局订阅号:82-946现场总线技术应用 200 例单片机开发与应用(V1V2)的差值和(N1
9、)位进行比较。相反 V1V2,则最高位为False,输入为 0,同(N1)位上的值进行比较(见图 2)。结果以此类推。直到将所有位数上的值确定。图 2 编程流程图2.3 程序实现结构LabVIEW 采用结构化数据流图编程,能够处理循环和条件等程序控制的结构框架,以及各种函数、信号、公式节点,这是LabVIEW 的编程核心。2.3.1 循环结构依据逐次比较法,选用 For 循环(For Loop)。以 A/D 转换位数 N 作为循环次数。这里设置了一个常数。见图 3。2.3.2 条件结构需要得到二进制结果,通过条件结构可以把判断结果分两步执行。从而实现程序的逐步比较、判断的功能。在本程序中,不需
10、要进行多个条件的判断,只要进行真假的判断,分别执行不同的节点。见图 3。图 3 LabVIEW 程序框图2.3.3 公式节点公式节点可以把复杂的运算,直接以公式的形式输入在公式输入框内,最后只是以 X、Y 的节点形式来表示。在此程序中,用于比较的数据是依据循环的次数变化的。可以通过公式节点来表达。也可以直接用 2 的幂函数节点来代替。见图 3 的左下部分。3程序执行状态与效果3.1 8 位 A/D 程序运行结果参考电压为 5 V,假如模拟量输入为 0.8096 V。运行本程序8 只模拟发光二极管表示二进制结果为 00101001B,见图 4。图 4 8 位 A/D 程序图根据 A/D 转换公式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运用 LabVIEW 编程 模拟 PIC 单片机
限制150内