MSP430数字电压表程序
基于MSP430系列单片机控制的数字电压表
摘要摘要:本文介绍一种基于MSP430系列单片机的电压测量电路,该电路采用MSP430F247以实现测量直流电压范围0-1000伏的数字电压表、并且电路可以换档测量、误差要求小于0.5%,显示部分使用了6个数码管。
正文着重给出了软硬件系统的各部分电路,介绍了MSP430F247单片机的原理以及其特点。
该电路具有设计新颖、功能强大、精度比较高、可扩展性强等优点。
关键词:数字电压表,MSP430单片机目录序言 (3)第一章MSP430单片机介绍 (4)1.1 单片机概述 (4)1.1.1 单片微型计算机 (4)1.1.2单片机的特点 (4)1.1.3单片机的应用 (5)1.2 MSP430系列单片机 (6)1.2.1 MSP430系列单片机的特点 (6)1.2.2 MSP430系列单片机的发展和应用 (8)1.2.2 MSP430单片机结构 (9)第二章方案及设计原理 (11)2.1 方案论证: (11)2.1.1电源系统 (11)2.1.2衰减电路 (11)2.1.3方案的确定 (12)2.2、设计指标 (12)2.3、系统设计原理框图 (12)2.3.1、电源模块 (13)2.3.2、电压衰减模块 (13)2.3.3、模拟开关 (13)2.3.4、电压放大调整模块 (13)2.3.5、显示模块 (13)2.3.6、单片机系统 (13)第三章软、硬件设计 (14)2.1硬件设计 (14)2.1.1电源模块 (14)2.1.2衰减电路 (15)2.1.3档位调整及调整放大模块 (16)2.1.4显示模块 (17)2.2软件设计 (18)2.2.1软件设计 (18)2.2.2程序总体框图 (18)2.2.3程序总体框图 (20)第四章调试 (21)4.1 调试结果 (21)4.1.1 5V档测量结果 (21)4.1.2 50V档测量结果 (21)4.1.3 500V档测量结果 (21)4.2结论 (22)总结 (23)一、绪论1.1背景(数字电压表的发展,430单片机的特点、发展、应用)1.2课题的目的1.3课题的意义1.4课题主要研究的内容及设计指标1.5系统总体方案1.6论文章节的安排二、系统的硬件设计2.1单片机最小系统(应用方案,比较,确定,包含晶振等)2.2.电压放大调整模块2.3衰减电路模块(包含方案,比较,确定)2.4模拟开关2.5显示模块(包含方案,比较,确定)2.6电源模块(包含方案,比较,确定)2.7JTAG接口设计三、系统软件设计3.1程序设计的环境简介3.2系统程序总体设计的思路3.3主程序设计(思路、流程图)3.4中断设计(思路、流程图、部分程序)四、系统调试及性能分析13系统总体调试(介绍、连接图)4、1调试结果(实验数据、列表、分档位测量结果)4、2性能分析五、总结六、参考文献 (16)七、致谢 (17)八、附录 (18)附录一、原理图 (18)附录二、PCB图 (19)附录三、元器件清单列表附录四、总程序序言随着我国国民经济的快速增长,产业结构也随之不断调整。
基于MSP430单片机的数字电压表的设计_王晓亮
道 A0, 并 用 SD16模 块 内 部 PGA 放 大 信 号 。转 换器由SMCLK计时,并启用连续转换模 式 。软 件 主 流 程 图 如 图 2 所 示 。
被测电压由精密的电阻分压器进行分 压得到满足系统要求的电压值,经 M S P 4 3 0 F 4 2 7 的 A 0 . 0 + 、A 0 . 0 - 两 个 端 口 连 接 至 主 控 芯 片 。M S P 4 3 0 F 4 2 7 内 置 有 1 . 2 V 参 考电压工作,如果采用内部参考电压,那么 测量结果就会随电池使用寿命中的变动而 发 生 差 异 。为 了 提 高 电 压 表 测 量 的 准 确 性 , 在本设计中采用美国德州仪器(TI)生产的 基 准 源 芯 片 TL431产 生 参 考 电 压 。TL431是 具 有 良 好 热 稳 定 性 能 的 、低 噪 声 的 三 端 可 调分流基准源,在本设计中由TL431产生 准确2.5V的参考电压。
4 结语
系统充分利用了GSM移动网络的资 源,尽可能减少用户室内终端的投入,采用 最直观的中文短消息形式,直接把多个方 面的报警内容反映到用户的手机屏幕上, 此外系统利用多传感器信息融合技术,对 预警信息的紧急程度进行区分,便于业主 根据情况采取措施,满足了业主对家居安 全 防 盗 的 要 求 。该 系 统 安 装 简 单 , 使 用 方 便,易于推广。
技 术 创 新
科技创新导报 2009 NO.01
Science and Technology Innovation Herald
基于MSP430单片机的智能数字电压表设计
of sine wave/triangle wave/rectangular
on
and DC voltage.The measurement results
can
be displayed
on
LCD situated
MCU development board.
Key words:smart digital voltmeter;MSP430MCU;LCD display
接②脚,50V档接⑤脚,5V档接①脚,0.05V档接 ⑩脚(分压电路的目的,是将所有档位满量程电
压转化为0.05V)。由单片机带隙基准源输出2.
5V耐电压,经490kD和10kD分压成0.05V接⑩ 脚,测量过程中,进行动态满量程调整,⑩脚动态
零点调整。为了在测量高电压时,隔离CD4051, 低电压档位0.05V和0.5V,由高耐压场效应管 2SK539(R。。=0.611),直接连接到CD4051③脚, 在切换到低电压档位时导通,切换到其它档位时 隔离。该两管由逻辑信号A、B、C,通过或非门 CD4001,由两级或非逻辑实现控制。由表1可知
on
Abstract:A smart digital voltmeter design based
MSP430
MCU
was
introduced,including the analysis of
the voltage measurement principle,and the design of electronic circuit and software.The voltmeter boasts of 0— 10MHz frequency,0—500V voltage and meter
基于MSP430的数字电压表设计
南京邮电大学毕业设计(论文)题目基于MSP430的数字电压表专业光电信息工程学生姓名周宏阳班级学号B11030621指导教师潘世辉指导单位光电工程学院日期:2015年1月19日至2015年6月12日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。
除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。
论文作者签名:日期:年月日摘要在现代检测技术中,因为指针式仪表存在许多缺点,人们往往不再采用其进行测量,转而用高精度的数字化仪表进行测量。
本论文采用MSP430单片机来实现数字电压表的功能,本数字电压表由MSP430F169作为主控器件,A/D转换器采用MSP430自带转换器,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现数字电压表的硬件电路和软件设计。
利用外部硬件电路对不同档位的输入电压进行处理,使电压达到单片机测量范围,实现基本的数字电压表功能,使其可以测量-15V~15V的8路输入电压值,并且误差控制在0.5%以内,最后在12864液晶屏上显示。
该系统的数字电压表电路元件较少,成本低,调节工作简单等优点。
在电压测量中有较强的实用性。
关键字:MSP430单片机;数字电压表ABSTRACTIn modern measuring technology, because of many disadvantages the pointer voltmeter may have, we usually no longer use it to carry on the survey, transfers uses the high accuracy the digitized measuring appliance to carry on the survey.This paper uses single MSP430 to realize the functions of digital voltmeter,the digital voltmeter takes the master control chip by MSP430F169, A/D switch uses MSP430 bringing switch,using the flexible programming design and the rich I/O port of MCU, and the control accuracy,realizes the digital voltmeter's hardware circuit and the software ing external hardware circuit to deal with input voltage of different to realize the basic digital voltmeter function, make it possible to survey-15V~15V 8 group input voltage value,and control the error within 0.5%,and finally displays in the 12864 LCD screen.This digital voltmeter circuit system has many advantages such as less components,low cost,simple adjustment work etc.It has strong practicability in the voltage measurement.Keywords:MSP430 MCU;Digital V oltmeter目录第一章绪论 (1)1.1数字电压表的研究意义 (1)1.2数字电压表的研究概况 (2)1.3本文的工作 (3)第二章 MSP430单片机介绍 (4)2.1单片机概述 (4)2.2MSP430系列单片机 (5)第三章方案设计论述与选择 (10)3.1方案论述 (10)3.2设计指标 (11)第四章基于MSP430的数字电压表的设计 (12)4.1系统设计 (12)4.2硬件设计 (12)4.3软件设计 (19)第五章系统连接及性能测试 (22)5.1系统连接 (22)5.2性能测试 (22)结束语 (25)致谢 (26)参考文献 (27)附录 (28)第一章绪论1.1数字电压表的研究意义随着我国产业结构的不断调整,电子科学技术的不断发展,电子测量技术也变得越来越普遍,同时对测量精度和其他功能的要求也越来越高。
基于MSP430单片机的智能数字电压表设计
基于MSP430单片机的智能数字电压表设计翟永前;蒋芳芳【期刊名称】《化工自动化及仪表》【年(卷),期】2011(038)003【摘要】A smart digital voltmeter design based on MSP430 MCU was introduced, including the analysis of the voltage measurement principle, and the design of electronic circuit and software. The voltmeter boasts of 010MHz frequency, 0-500V voltage and over 22MΩ input resistance as well as a 12-bit resolution. The voltmeter can select the measurement range automatically, and calibrate zero/full-scale and measure effective value of sine wave/triangle wave/rectangular wave and DC voltage. The measurement results can be displayed on LCD situated on MCU development board.%介绍了一种基于MSP430单片机的智能数字电压表设计.分析了电压测量原理、设计了硬件电路和软件.该表测量频率范围0~10MHz,测量电压范围0~500V,输入阻抗大于22MΩ,分辨率12位.能自动完成量程选择、零点/满量限校正、测量正弦波/三角波/方波的有效值,以及直流电压.操作仅用两次按键,使用非常方便.数据由单片机开发板自带LCD显示.【总页数】4页(P297-300)【作者】翟永前;蒋芳芳【作者单位】南京铁道职业技术学院,铁道动力与电气工程学院,南京,210015;南京铁道职业技术学院,铁道动力与电气工程学院,南京,210015【正文语种】中文【中图分类】TP3【相关文献】1.基于MSP430单片机的新型多路数字电压表设计 [J], 郝海燕2.基于MSP430F448单片机的交流数字电压表设计 [J], 王若男;韩进3.基于MSP430单片机的数字电压表的设计 [J], 王晓亮4.基于ATmega16单片机的智能型数字电压表设计 [J], 陈万勋; 杨顶; 蒋小辉5.基于MSP430单片机和蓝牙的智能家居控制系统设计 [J], 李兆亮;张靖宇;李立刚因版权原因,仅展示原文概要,查看原文内容请购买。
基于MSP430G2553的电压表设计
数字式直流电压表一、整体说明在电子技术中,往往离不开对电压的测量,作为一种测量电压的仪器——电压表是近代电子技术领域的常用工具之一,在许多领域得到广泛应用。
本设计是基于TI单片机设计的数字式直流电压表,它主要由MSP430G2553、LCD12864和分压电路三部分组成。
分压电路先将输入的电压信号衰减一定的倍数,后通过控制双路选择开关设定测量的量程,分别有0~3V和0~15V两个档,以便实现精确读数;分压处理后的电压信号由MSP430G2553内部的ADC10模块转换成数字信号;再通过LCD12864液晶屏进行串行显示。
经多次测量实验得出误差范围在2%以内。
二、原理图基于MSP430G2553单片机设计的数字式直流电压表的电路图如图1所示。
由于MSP430开发板已具备单片机最小系统结构,只需添加显示电路和分压电路。
LCD12864通过串口方式显示,只需占用单片机2个I/O口;分压电路可以通过开关S1选择量程档位,只占用1个I/O口。
图1 直流电压表电路图三、接口定义MSP430G2553的接口说明如表1所示。
图1中的复位和晶振部分是MSP430开发板固有的部分,故不再说明。
P1.0接液晶屏的SID脚,作为串行的数据口用;P1.1则接液晶屏的SCLK脚,控制串行的同步时钟;P1.4接分压电路的输出端。
LCD12864的接口说明如表2所示。
当PSB脚接低电平时,串口模式被选择。
在该模式下,只用2根线(SID与SCLK)来完成数据传输。
RS接高电平,不使用片选功能。
注意:信号源与单片机之间要共地。
表1 MSP430G2553的接口说明表2 LCD12864的接口说明四、程序流程图(一)主函数主函数的流程框图如图1所示。
主函数主要是调用系统初始化函数和循环开启ADC 转换,这是由于ADC10采用单通道单次转换模式,每次采样后需要重新开启ADC ,才会进行下一次信号采样转换。
另外,信号的采样与处理以及电压值的显示都是通过中断来完成。
基于MSP430数字式电压表
0・100
0.108
0.300
0.296
0.700
0.694
0.801
0.791
1.000
0.991
3.000
2.993
000
9.009
11.001
11.006
13.003
13.026
16.504
16.500
1.误差分析
通过分析以上测试数据,得出一下结论由表中数据和图例 可以看出电压测量分辨率V0.01V,通过统计求均值可得出测量误 差<1%。达到了设计要求。测量值与实际值有一定的误差,并且 误差随着输入电压的增大而变大。 其原因是输入电路中由电阻串 联构成来实现分压,电阻参数的变化及负载效应会引起分压比的 误差;运算放大器本身存在漂移和噪声, 开环增益和开环输入电 阻不无穷大,因此会引入误差。由图例不难看出输入电压不是线 性的,且随着输入电压增大,误差也变大,这说明信号源输入电 压给电路,由于电路本身输入阻抗不够高,电路会向信号源索取
#in clude "LCD_driver/Template_Driver.h"
#include "images/images.h"
#in clude "driverlib.h"
******************************************************************
六、结论
经过一段时间的努力,基于单片机的简易数字电压表基本完 成。但设计中的不足之处仍然存在。 这次设计是我第一次设计电 路,在这过程中,我对电路设计,单片机的使用等都有了新的认 识。通过这次设计熟练了软件的使用方法,积累了不少经验。。
基于-MSP430单片机的数字电压表的设计(0~300V)
基于-MSP430单⽚机的数字电压表的设计(0~300V)测控技术与仪器专业课程设计报告题⽬:基于430单⽚机的数字电压表的设计(交直流电压0—300V)班级: XXXXXX班姓名: XXX学号: XXXXXX起始时间: 2014年3⽉6⽇⾄3⽉20⽇⼀、对题⽬的认识和理解在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
⽽且随着电⼦技术的发展,更是经常需要测量⾼精度的电压,所以数字电压表就成为⼀种必不可少的测量仪器。
数字电压表简称DVM,它是采⽤数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显⽰的仪表。
由于数字式仪器具有读数准确⽅便、精度⾼、误差⼩、测量速度快等特⽽得到⼴泛应⽤。
传统的指针式刻度电压表功能单⼀,进度低,容易引起视差和视觉疲劳,因⽽不能满⾜数字化时代的需要。
采⽤单⽚机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显⽰,从⽽精度⾼、抗⼲扰能⼒强,可扩展性强、集成⽅便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核⼼与基础。
以数字电压表为核⼼,可以扩展成各种通⽤数字仪表、专⽤数字仪表及各种⾮电量的数字化仪表。
⽬前,由各种单⽚机和A/D转换器构成的数字电压表作全⾯深⼊的了解是很有必要的。
最近的⼏⼗年来,随着半导体技术、集成电路和微处理器技术的发展,数字电路和数字化测量技术也有了巨⼤的进步,从⽽促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采⽤继电器、电⼦管和形式发展到了现在的全固态化、集成化,另⼀⽅⾯,精度也从0.01%-0.005%。
⽬前,数字电压表的部核⼼部件是A/D转换器,转换的精度很⼤程度上都满⾜了电压测量精度的要求,⽽⼀款功耗低设计精巧的电压表将越来越收⼈们的青睐,因此,对于设计低功耗,设计精巧的数字式电压表也是电压设计的⼀个重要研究⽅向。
基于MSP430单片机的数字电压表的设计(0-300V)
测控技术与仪器专业课程设计报告题目:基于430单片机的数字电压表的设计(交直流电压0—300V)班级: XXXXXX班姓名: XXX学号: XXXXXX起始时间: 2014年3月6日至3月20日一、对题目的认识和理解在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化,另一方面,精度也从0.01%-0.005%。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上都满足了电压测量精度的要求,而一款功耗低设计精巧的电压表将越来越收人们的青睐,因此,对于设计低功耗,设计精巧的数字式电压表也是电压设计的一个重要研究方向。
二、方案论证与比较数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。
MSP430数字电压表0-20V资料
H_CLK;
_NOP();
L_CLK;
_NOP();
H_CLK;
_NOP();
L_CLK;
_NOP();
H_Conv;
_NOP();
ADCdata &= 0x0fff;
return (ADCdata);
}
While(1)函数部分
while(1)
{
//LCD_write_hanzi(1,1,0);
IrDA 编码器和解码器
同步 SPI
I2C™
Nokia5110
5110液晶显示屏(PCD8544芯片),是通过发送指令和写入数据RAM来控制和显示数据的。
指令格式分为两种模式:
1、如果D/C(模式选择)置为低(为0),即位变量 dc = 0,为发送指令模式,那么接下来发送的8位字节解释为命令字节。
2、如果D/C置为高,即dc = 1; 为写入数据RAM模式,接下来的字节将存储到显示数据RAM。
L_CLK;
_NOP();
H_CLK;
_NOP();
for(i=0; i<12; i++)
{
L_CLK;
_NOP();
H_CLK;
_NOP();
ADCdata <<= 1;
if(P2IN & 0x02)
{
ADCdata |= 0x0001;
}
else
{
ADCdata &= 0xfffe;
}
}
L_CLK;
01risc架构625ns指令周期时间高达16mhz的内部频率具有4种校准频率内部超低功耗低频lf振荡器32khz晶体个捕获比较寄存器的两个16多达24个支持触摸感测的增强型uart可支持自动波特率检测linirda编码器和解码器同步spii2cnokia51105110液晶显示屏pcd8544芯片是通过发送指令和写入数据ram来控制和显示数据的
基于MSP430数字式电压表
课程设计题目:基于MSP430数字式电压表院系:电子与信息工程学院班级:学生姓名:学号:指导老师:2016年7月6日Msp430数字电压表设计一、目标采用MSP430单片机来实现数字电压表的功能,本数字电压表由MSP430F5529作为主控器件,A/D转换器采用MSP430自带转换器,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现数字电压表的硬件电路和软件设计。
利用外部硬件电路对不同档位的输入电压进行处理,使电压达到单片机测量范围,实现基本的数字电压表功能,使其可以测量0~16.5V的电压值,并且误差控制在0.02v以内,最后在AY-SEB Module板的液晶屏上显示。
该系统的数字电压表电路元件较少,成本低,调节工作简单等优点。
在电压测量中有较强的实用性。
二、器件1.MSP430F5529LP开发板2.AY-SEB Module核心板3.测试前端(电阻分压和电压跟随器组成)三、原理分析测试前端包括电阻分压和电压跟随器,即输入电压前接电阻分压电路和LM358运算放大器组成的电压跟随器,电阻分压能增大测量量程(可通过改变两个电阻比值而改变量程)。
运算放大器同时起到增加输入阻抗的作用,使得电阻分压得到的电压更稳定,避免影响被测量的电压值。
用MSP430F5529开发板P6.0(A0)通道采用中断方式,不间断连续采集输入电压,通过程序控制,由MSP430F5529开发板的AD 转换电路完成电压的采集,对采集信息处理换算后,把电压发信息至AY-SEB Module 核心板液晶屏上显示。
四、硬件电路原理分析1.电路设计(测试前端)2.电路分析经过电阻分压后,检测电压U 2=211R R R XU 1,其中R1=10k ,R2=1k ,可得U 1=11U 2,实现扩大11倍量程的作用。
在这里将R2定为1K ,是为了方便计算,可通过R1的阻值,来改变设计的电压表的量程(阻值越大,量程越大);另外用LM358作为运算放大器来提高精确度。
基于MSP430F448单片机的交流数字电压表设计
6?8578B15 I< 8H>/0KF5 6?8578B15 I< 6?857//01F:
M#NO L
MP"Q RSTU' "V WU"NUTX
@[L
!"#! !
$%&'!&()' *+ $%&'!%,-./ $%&'!&()" 67(/.8 $%&#!,3 + / $%&#!,3 9+ /:// $%&#!&()/ 9+ 31& ;<=>;? @ ABCD ,?C=.(CE<;$ ABCD F ($&() + ($663)' * ($&)2 ($&() *+ ,%' ($&() *+ ,%G &&()" + &&,3 &&2" + 5"" ($&() 9+ H&" ;<=>;? @ IJ;KLEK A<M=B;+(,H32$#.-3&(02 ..C?=<;;>J= ABCD (CE<;$ ABCD F C?= ;<N>O=N $%&'!&()" P+ Q31& ;<N>O=N + $%&#!H3H/ ?$%&.&B>?= V+ # WW CX ?$%&.&B>?= ++ YG F ?$%&.4OKL + ' ?$%&.&B>?= + G @ $%&'!&()G 9+ 31& V $%&'!6& @ WZ !" # $ %& ' ( )* + , -. / OMD.R>X 0 1 ZW ABCD XB;EK=.%K=K F C?= ;<N>O= >?NCL?<D M[K; =EJ CX ?$%&.4OKL ++ ' F ?$%&.4OKL + G XB; C + G C \ YG CVV F ;<N>O=V + $%&.RS4TCU @ ;<N>O= + C?= 234-0) Z ;<N>O= W YG]8 ^G_]`8 W @ eZ ;< = " > Ze ABCD OMD.6<=2g @ eZ 23 )&% 4 5 6) 7 8 9" : ' (/ )&%Ze ABCD OMD.%CNJOKj F M[K; =EJA XB; =EJA+/ =EJA\)&%.,1.S63^# =EJAVV F )&%H3HT=EJAU+1SH.)&%TOMD.R>XT=EJAUU @ $%&.RS4T?$%&.&B>?=U + ;<N>O=N @
基于MSP430单片机的多功能数字万用表设计
基于MSP430单片机的多功能数字万用表设计摘要:本文全面、深入、系统地介绍了数字万用表的系统设计与研究。
设计中采用了美国TI公司生产的高性能单片机芯片MSP430F149。
整个系统结构由MSP430F149外加一些外围元件构成,驱动LCD液晶显示,然后再与参数转换电路相连。
文章主要介绍了MSP430F149的性能特点、内部结构、输入输出数据及一些功能和原理。
整个设计包括硬件电路设计及软件设计。
硬件电路设计包括处理器、外部设备元件的选择、参数转换电路设计及电源设计,而软件设计则主要是实现仪表的各功能的控制。
关键词:数字万用表MSP430F149 单片机1 数字万用表的工作原理数字万用表的最基本功能是测量直流电压、直流电流、交流电压、电阻、温度、电容及频率,其基本组成见图1。
通过功能量程的选择把被测物理量连接到相应的参数转换电路上,经过电路转换成电压或频率使单片机能够直接测量,单片机通过拨位开关得到被测物理量的类型,再通过cpu计算出被测物理量的大小,然后控制液晶显示测量结果。
2 MSP430F149芯片简介MSP430F149单片机是美国TI公司推出的16位高性能单片机,具有丰富的片内资源,包括时钟模块、捕获/比较模块、Flash模块、看门狗定时器模块、定时器模块、以及通用I/O口模块等。
3 参数转换电路3.1 直流电压测量电路直流电压电路如图2所示,可选择3个档位0~3v,0~30v,0~300v。
通过电阻分压把被测电压调整到AD的量程(0~3.3v)内。
本设计AD转换使用单片机片内集成AD,AD参考电压为3.3v。
图中1M电阻和104电容组成低通滤波器可以滤除表笔与被测物体接触时产生的高频信号和空间的电磁干扰使得测量结果更加稳定[1]。
电阻计算:由于电压表要求接到电路上时对电路的电压影响要下,所以输入阻抗越大越好,本设计选择输入阻抗Ro=10M。
3.4 交流电压测量电路交流电压测量是通过二极管1N4007把被测电压进行半波整流,再通过分压电阻把电压降低,再通过电阻和电容组成低通滤波器滤成直流,再经过AD转化成数字值,再经过cpu计算出电压有效值,由于1N4007是普通整流二极管,反向恢复速度较慢所以不能测量高频交流电压[3]。
基于MSP430单片机的新型多路数字电压表设计
图 2幅值 0 . 5 V的 直 流信 号 采样 结 果
3 . 系 统 硬 件 设 计
3 . 1 电源降 压 电路 该 系统 果川AMSI 1 I 7稳 t 片输 Ⅲ3 - 3 V A流 电,经 过 瓷” 电 容卡 ¨ 电 } U 滤 波 ,使 供给 机 的电源 稳 定性 ,蚓时 竹 戈按 卜 仃L E D做 指 , J ,¨ J - 以 卣接 观察 _ 乜源的 通惭 。 3 _ 2 直 流采 样 和交流 采样 源 电路 直流 采样源 路 I - h 4 个1 O K滑动变 阻器电路组成 :交流 采样源 电路 F h 输 入信 I j 处 理电路 乖 『 I 极性转换 电路组 成。输 入信 号处理 电路 完成埘 输 入n 勺 信 进仃幅眨 调整。极性转换 电路则完成对信 的放火 。 输入f 青 处 理 电 路 的 同的 足将 2 2 0 V的交 流 信 号转 化 为 幅 值较 小的1 . 5 V交流信 。 先 山变压 器将 2 2 O v 的 交流 电 降 成 l 2 V交 流 电压 , { f f 经过 电化 器的 凋节作 川 ,输 出 1 . 5 vO q交流 侍 扎 极 性转 换 电路 利川 采 样 芯 』 正 常运 行州 的 电压 做 转 换时 的 参 芍u。} h t 芯 片 正常运 行时 的 电压 ‘ 般 为j F u,【 此 要 对输 入 信 处理 电路输 H { 的1 . 5 V的交 流 进 行变 换 ,转变 为单 极性 交流 u 信 号。 3 . 3 显 示 电 路 电路采 川液 示  ̄ : L C Dl 6 0 2 ,刖 米对 采样 剑 的 流俏 号
基于MSP430准同步采样算法的数字电压表设计
电子设计工程Electronic Design Engineering第27卷Vol.27第7期No.72019年4月Apr.2019收稿日期:2018-06-05稿件编号:201806025作者简介:郭霞(1980—),女,内蒙古鄂尔多斯人,硕士研究生,副教授。
研究方向:智能控制与测试技术。
随着电子和计算机技术的发展,数字化测量技术已广泛应用于电力系统中,使电力系统的自动化程度得以迅速提高。
等间隔同步采样及其数据处理方法是目前使用微处理器的电能测量装置中普遍采用的采样方案。
由于电网频率不会绝对稳定并且采样周期通常具有量化性,因此实际过程中的采样大多不是严格的同步,而是准同步采样过程。
所谓准同步采样是指被采样周期信号的周期T 不严格等于采样周期T s 的整数倍的采样现象[1]。
文中主要研究一种在准同步情况下克服非同步误差的方法,其主要原理是保持非同步因素,不刻意消除非同步因素的影响,而采用一种专门应用于准同步采样过程的新算法,并且达到高精度的要求。
最后,将准同步采样算法应用于基于MSP430单片机的数字电压表的软件核心设计,进行算法最终实现。
基于MSP430准同步采样算法的数字电压表设计郭霞,张安莉(西安交通大学城市学院电气与信息工程系,陕西西安710018)摘要:在采样数字测量装置中普遍采用同步采样及其数据处理方法测量周期信号的电参数,然而实现绝对的同步采样是很困难的,因为采样中任何一个微小的不同步误差都带来较大的测量误差。
因此,减小不同步误差已经成为基于同步采样原理的测量装置获得高精度的一个关键因素。
本文介绍了一种新的采样处理简单算法,即准同步采样算法。
该算法最突出的特点是不要求采样周期与信号周期严格同步。
由于不受非同步误差影响,简化了传统FFT 算法,节省硬件资源。
最后,将准同步采样算法应用于基于MSP430单片机的数字电压表的软件核心设计,进行算法最终实现,经测试结果证实了准同步采样算法的实用性。
msp430电压表
}
void main(void)
{
WDTCTL = WDT_ADLY_1_9; // 设置内部看门狗工作在定时器模式,1.9ms中断一次
IE1 |= WDTIE; // 使能看门狗中断
}//消隐
}
void init(void)
{
//ADC12初始化----------------------
//单通道,单次采样模式
P6SEL |= BIT7; //使能A/D通道 A7
ADC12CTL0 = ADC12ON + SHT0_2; //开ADC12内核和设置SHIT0=2(N=4)
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
m++;
if (m==2)
{
m=0;
display ( (int)(1000*(float)Average/4095*3.3)) ;
Average=ADC12MEM0; // 读取结果
// 读取结果
LPM3;
}
}
_EINT(); //开总中断
}
//TimerA0中断服务程序
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_a(void)
{
LPM0_EXIT;
}
P1OUT=0xff; //消隐
P5OUT =0xff;
P3OUT=0x08;
P5OUT=table[n % 10];
delay1ms();
基于-MSP430单片机的数字电压表的设计(0~300V)
测控技术与仪器专业课程设计报告题目:基于430单片机的数字电压表的设计(交直流电压0—300V)班级: XXXXXX班姓名: XXX学号: XXXXXX起始时间: 2014年3月6日至3月20日一、对题目的认识和理解在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化,另一方面,精度也从0.01%-0.005%。
目前,数字电压表的部核心部件是A/D转换器,转换的精度很大程度上都满足了电压测量精度的要求,而一款功耗低设计精巧的电压表将越来越收人们的青睐,因此,对于设计低功耗,设计精巧的数字式电压表也是电压设计的一个重要研究方向。
二、方案论证与比较数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(temp<<i&0x80) P6OUT|=LCD_DAT;
else P6OUT&=~LCD_DAT;
get_clk();
}
temp=dat&0xf0;
for(i=0;i<=7;i++)
{
ADC12CTL1|=ADC12SSEL1+ADC12SSEL1; //参考电压开启,选择2.5V
ADC12MCTL0=0x10; // ref+=REF2_5V, channel = A0
if(temp<<i&0x80) P6OUT|=LCD_DAT;
else P6OUT&=~LCD_DAT;
get_clk();
}
temp=dat&0x0f;
temp=temp<<4;
for(i=0;i<=7;i++)
a2=(temp-a1*1000)/100;
temp=(temp-a1*1000)-a2*100;
a3=temp/10;
a4=temp%10;
inport(0x01,a1+0x30);
inport(0x01,'.');
inport(0x01,a2+0x30);
{
if(temp<<i&0x80) P6OUT|=LCD_DAT;
else P6OUT&=~LCD_DAT;
get_clk();
}
P6OUT|=LCD_DAT;
P6OUT&=~LCD_CS;
}
print_string(uchar add,uchar *pt)
inport(0x00,0x80);
print_han(0xb5,0xe7);
print_han(0xd1,0xb9);//电压
inport(0x01,':');
print_float(AD);
inport(0x00,0x06);
}
int_adc()
{
P6SEL|=0x01; //选择AD通道
ADC12CTL0|=ADC12ON+SHT0_2+REF2_5V+REFON; // //采样保持时间为16个ADC12CLK
while(1)
{
while(adc_flag==1)
{
AD+=AD_TEMP;
count++;
if(count==100)
{
AD=AD/100;
AD=(AD*2.5/4096);
case 4:break;
case 10:if(adc_flag==0){ADC12CTL0 |= ADC12SC;ADC12CTL0 &= ~ADC12SC;}break;//10ms中断标志加1
default:break;
}
}
int main( void )
{
uchar i;
inport(0x00,add);
for(i=0;;i++)
{
if(*pt=='\n') break;
inport(0x01,*pt);
pt++;
}
}
print_han(uchar h_neima,uchar l_neima)\
inport(0x01,a3+0x30);
inport(0x01,a4+0x30);
}
void int_lcd()
{
inport(0x00,0x30);
inport(0x00,0x01);
inport(0x00,0x02);
inport(0x00,0x0c);
BCSCTL1&=~XT2OFF; //打开XT振荡器
BCSCTL2|=SELM1+SELS;//MCLK 8M and SMCLK 1M
do
{
IFG1 &= ~OFIFG; //清除振荡错误标志
for(i = 0; i < 100; i++)
}
}
ADC12IE|=0x01; // 使能转换中断
ADC12CTL0|=ENC; // 使能AD转换器
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
#include <msp430x14x.h>
#define uint unsigned int
#define uchar unsigned char
/******************************************define lcd******/
#define LCD_CS BIT2
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
P6OUT|=LCD_SCK;
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
}
void inport(uchar com,uchar dat)//com=1,rs=1,com=0,rs=0;
inport(0x01,'V');//显示电压值
AD=0;
count=0;
AD_TEMP=0;//变量清零
}
adc_flag=0;//清中断标志
}
{
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
int_clk(); //系统时钟初始化
int_adc();//初始化串口
int_lcd(); //初始化LCD
int_timer(); //初始化TIMER
_EINT(); //使能中断
{
while((ADC12CTL1&0X01)==1);//等待转换完
adc_flag=1;
AD_TEMP=ADC12MEM0;//设置ADC转换完标志,并且读取ADC值
}
void int_timer()
{
TACTL|=TASSEL1+TACLR+ID0+ID1;//选择SMCLK作为定时器的时钟,8分频
{
uchar i,temp;
P6DIR|=LCD_DAT;
P6DIR|=LCD_CS;
P6OUT|=LCD_CS;
temp=SYf(com) temp|=RS;
else temp&=~RS;
for(i=0;i<=7;i++)
{
inport(0x01,h_neima);
inport(0x01,l_neima);
}
print_float(float data)
{
uint temp;
uchar a1,a2,a3,a4;
temp=data*1000;
a1=temp/1000;
uchar SYNCH=0xfe; //LCD显示同步字
static uchar adc_flag=0;
static uchar time_flag=0;
static uchar count=0;
uint AD_TEMP=0;
float AD=0;
void int_clk()
{
uchar i;
#define LCD_DAT BIT4
#define LCD_SCK BIT3
#define WR BIT2
#define RS BIT1
/************************************************************/
uchar charge=0;
TACTL|=MC0+TAIE;//增加模式,并且使能中断
TACCR0=9999;//中断周期为10ms
}
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch(TAIV)
{
case 2:break;
_NOP(); //延时等待
}
while ((IFG1 & OFIFG) != 0); //如果标志为1继续循环等待
IFG1&=~OFIFG;
}
void get_clk()
{
P6DIR|=LCD_SCK;
_NOP();
P6OUT&=~LCD_SCK;