基于MSP430单片机的低功耗数字式直流电压表设计_第1页
基于MSP430单片机的低功耗数字式直流电压表设计_第2页
基于MSP430单片机的低功耗数字式直流电压表设计_第3页
基于MSP430单片机的低功耗数字式直流电压表设计_第4页
基于MSP430单片机的低功耗数字式直流电压表设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计(论文)说明书题 目:基于MSP430单片机的低 功耗数字式直流电压表设计院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 武小年 职 称: 副教授 2012年 12月 6 日摘 要随着电子信息产业智能化的不断发展,单片机微控制器在工作领域等到了广泛的应用。在电子产品实现智能化的同时,人们对绿色环保的要求也越来越高。本设计从功耗的角度出发,采用TI公司的MSP430G2553混合信号微控制器作为系统核心设计的直流电压变,使用OLED液晶显示,结合简单的外围电路实现电压的采集,量程选择,数值显示等功能。经实验证明,该电压表具有设计方法合理,简单易行

2、,功耗低,测量精度高及携带方便等特点,适合很多电压直流电路电压的测量。关键词:混合信号微控制器、电压表、低功耗Abstract:With the continuous development of the electronic information industry intelligent, single-chip microcontroller until the wide range of applications in the areas of work. Realize intelligent electronic products at the same time, people

3、are increasingly high requirements for green. The design from the perspective of power consumption, using TI the companys MSP430G2553 mixed signal microcontroller as the core of the system design variable DC voltage, OLED LCD display, combined with simple peripheral circuit voltage acquisition, rang

4、e selection, numerical display .The experiment proved that the voltmeter has reasonable design method is simple, low power consumption, measurement of high precision and easy to carry, suitable for many voltage DC circuit voltage measurements.Key words:Mixed-signal microcontroller, voltmeter, low po

5、wer consumption目 录引言 11 设计方案 11.1 设计要求11.2 数字式直流电压表设计分析12 硬件电路设计22.1 主要器件介绍22.1.1 MSP430G2553 22.1.2 OLED显示屏 32.2硬件电路原理分析 42.2.1整体硬件原理图42.2.2电源电路设计分析42.2.3 单片机最小系统设计分析52.2.4 OLED显示接口电路分析52.2.5 量程选择电路接口分析 63 程序设计63.1 主函数63.2 系统初始化函数73.2 ADC初始化函数73.3 OLED屏初始化74 数据测量84.1电源稳压电路输出电压84.2电压检测测试85 心得体会9谢辞 1

6、0参考文献 11附录 12引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强

7、,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化,另一方面,精度也从0.01%-0.005%。目前,数字电压表的内部核心部件是A

8、/D转换器,转换的精度很大程度上都满足了电压测量精度的要求,而一款功耗低设计精巧的电压表将越来越收人们的青睐,因此,对于设计低功耗,设计精巧的数字式电压表也是电压设计的一个重要研究方向。1. 设计方案1.1设计要求 设计一个低功耗数字式直流电压表 5V直流电源供电 电压测量分辨率 0.05V 量程012V 功耗尽可能低1.2 数字式直流电压表的设计分析设计保持全文的格式一致,包括行间距,调整下这个行间距数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现

9、实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍三种数字电压表的设计方案1.2.1方案一: 这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器、A/D转换器和基准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中个组模拟开关接通或断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显

10、示器显示出相应的数值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路。很难将其在原有的基础上进行扩展。1.2.2方案二: 这种方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测

11、量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅 能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活,难与在原基础上进行功能扩展等不足。1.2.3方案三: 这种方案使用TI公司的混合信号控制器MSP420G2553实现,MSP420G2553自带10位AD,结合少量的外围电路,通过程序控制便能实现AD转换,并使用OLED液晶显示模块显示电压值,OLED显示模块有体积小功耗低等特点,既解决了数码管显示的界面交互性不好又解决了1602液晶显示功耗大、体积大等缺点。结合以上几种方案分析与比较,本设计选用第三种设计方案 2. 硬件电路设计 2

12、.1 主要器件介绍 2.1.1 MSP430G2553德州仪器(TI)的MSP430系列超低功率微控制器包含几个器件,这写器件特有针对多种应用的不同外设集。这种架构与5中低功耗模式组合,专注在便携式测量应用中延长电池的使用寿命而优化,该器件具有一个强大的16位RISC CPU、16位寄存器和有助于获得最大编码效率的常数发生器。数字控制振荡器(DCO)可在不到1s的时间里从低功耗模式至运行模式的唤醒。MSP430G2553是超低功耗混合信号微控制器,具有内置的16位定时器、多达24个支持触摸感测的I/O引脚、一个通用型模拟比较器以及采用通用串行通信接口内置通信能力。此外,MSP430G2553还

13、具有一个10位模数(A/D)转换器。MSP430G2553主要特性 -低电源电压范围:1.8V至3.6V -超低功耗- 运行模式:23mA(在1MH频率和2.2v电压条件下)- 待机模式:0.5mA- 关闭模式(RAM保持):0.1mA -5种节能模式-可在不到1ms的时间里超快速地从待机模式唤醒-16位精简指令集(RISC)架构,62.5ns指令周期时间 -基本时钟模块配置 - 具有四种校准频率并高达16MHz的内部频率 - 内部超低功耗频率(LF)振荡器 - 32KHz晶体 - 外部数字时钟源 -两个16位的Timer_A,分别具有三个捕捉/比较寄存器 -用于模拟信号比较功能或者斜率模数(

14、A/D)转换的片载比较器 -带内部基准、采样与保持以及自动扫描功能的10位200-ksps模数(A/D)转换器。2.1.2 OLED显示屏有机发光二极管显示(OLED),是以有机薄膜作为发光的自发光显示器件。通过正负载流子注入有机半导体薄膜后复合发光,OLED特点:亮度高,高发光率,全固态组件,抗震性好,能适应恶劣环境,高对比度,超广视角,低功率消耗。本设计采用的OLED模块规格:模块尺寸:27mm(W)*29mm(L) 分辨率12864;工作电压3.3V;工作温度:-30+70;模块的输出方式为 4线SPI总线; 图1 OLED模块实物图模块实物图如图1;2.2硬件电路原理分析2.2.1整体

15、硬件原理图 图2 硬件总体原理图 如图2,硬件部分包括电源电路、单片机最小系统电路、量程选择电路以及OLED显示接口电路四部分。 2.2.2电源电路设计分析 图3 电源电路图如上图3,电源电路电压有P2端口输入。通过拨动开关S3控制电路的供电与断电。MSP430G2553单片机和OLE显示模块工作电压均为3.3V,所以使用1117A系列3.3V的稳压芯片进行稳压输出。1117A33稳压芯片输入电压范围4.7515V,输入调整率0.2%,负载调整率0.4%,最大输出电流1A.满足了本设计要求。LED1为电源指示灯,可通过灯的亮灭来判断电源电路是否正常工作。2.2.3单片机最小系统电路分析 图4单

16、片机最小系统电路图如上图4所示,最小系统由 MSP430G2553,复位电路,震荡电路组成。MSP430G2553是系统设。计的核心器件。通过程序控制,由自带的10位AD转换电路完成电压的采集,对采集信息处理换算后,采用模拟SPI模式把电压发信息至OLED显示。单片机最小系统端端口定义如下表1。 表1 单片机I/O引脚定义引脚号引脚名接口说明备注1VCC电源正端3.3V2P10 OLED SCLOLED 串行通信时钟4P11OLED SDA OLED 串行数据5P12OLED RSTOLED 复位6P13 OLED DC11P14 按键16RST 复位20GND 电源地2.2.4 OLED显示

17、接口电路分析OLED显示模块接口与单片机通信采用模拟SPI方式,减少了单片机I/O口的消耗,同时使电路变的更简单。 图5 OLED显示模块接口2.2.5量程选择电路分析电压量程由拨动开关SX选择,分为03V、012V,当检测电压大于3.3V时,拨动开关拨到12V量程档,避免烧坏单片机。由R4=30K,R5=10K知,当开关拨至1端时,单片机检测到的电压为输入电压的1/4,将采集到的电压数据x4即可得到实际的电压值。当拨动开关拨至3端时,单片机采集到的电压便为实际的输入电压。 图6 量程选择电路图 图7 主函数流程图系统初始化开启ADC转换开始3. 程序设计3.1主函数 主函数的流程框图如图7所

18、示。主函数主要是调用系统初始化函数和循环开启ADC转换,这是由于ADC10采用单通道单次转换模式,每次采样后需要重新开启ADC,才会进行下一次信号采样转换。另外,信号的采样与处理以及电压值的显示都是通过中断来完成。3.2系统初始化函数 系统初始化的流程框图如图8所示。该函数对看门狗的工作模式、所需的I/O口以及ADC10和OLED显示进行定义或初始化配置。3.3 ADC初始化函数 ADC初始化的流程框图如图9所示。该函数的任务是对转换控制寄存器ADC10CTL0和ADC10CTL1的初始化配置。其中,ADC10CTL0 需要配置的是ADC10的开关、采样周期、参考电压、ADC10中断使能;而A

19、DC10CTL1则只需要对外部采样通道和ADC的工作模式进行选择。3.4 OLED屏初始化OLED显示屏初始化的流程框图如图10所示。完成对OLED写命令和OLED显示屏界面的初始化。结束 OLED初始化开始 写指令图10 OLED初始化OLED显示初始化结束ADC初始化开始ADC10CTL0&=ENC图8 ADC初始化流程图ADC10CTL0|=ADC10ONADC10CTL0|=SREF_0ADC10CTL0|=ADC10IEADC10CTL1|=INCH_4+CONSEQ_0_EINT( )结束系统初始化开始设看门狗为定时器模式图9 系统初始化流程图使能看门狗中断设P1.0P1.1口为输

20、出设P1.4作A4通道选择电压量程ADC初始化液晶屏初始化3.5中断函数 中断函数用到了ADC中断函数和看门狗中断函数。ADC中断函数的流程框图如图11所示,每4个ADC10CLKS周期会产生一次中断,ADC10会将采集到的电压值自动保存在转换存储寄存器ADC10MEM中,直接读取该寄存器就可以取出数据,再通过固定的转换公式转换成测得的电压值。看门狗中断函数的流框图如图12所示,每隔1s会产生一次中断,更新液晶屏显示的电压值。结束ADC中断开始读取采样数据图11 ADC中断流程图处理数据 结束看门狗中断开始OLED显示图12 看门狗中断流程图流程图4. 数据测量4.1电源稳压电路输出电压测试

21、如表2是所示为,3.3V稳压芯片能在输入电压大于4.5V时,稳定输出3.3V电压。为使电路正常工作,输入电压外围为4.5V至12V。4.2电压检测测试表3为电压检测测量数据记录,由表可以看出在3V至12V时,分压电压/输入电压均非常接近1/4,证明了量程选择电路能准确的对测量电压进行分压测试。由表中前几组数据可以看出电压测量分辨率0.01V,达到了设计要求,通过统计求均值可得出测量误差2%。表2 稳压电路输出电压测试数据 表3 电压检测量数据记录 输入(V) 输出(V) 3.34 2.29 3.89 2.98 4.09 3.09 4.45 3.21 4.53 3.30 5.52 3.30 8.

22、50 3.30 10.2 3.3O 12.2 3.30输入电压(V)分压电压(V)显示电压(V) 0.01 - 0.009 0.02 - 0.025 0.53 - 0.530 1.10 - 1.106 1.58 - 1.589 2.04 - 2.049 3.04 0.76 3.043 5.04 1.26 5.130 8.00 2.00 8.033 9.97 2.49 9.973 12.10 3.02 12.0985. 心得体会经过几周的努力,终于把课程设计完成了!通过本次课程设计,巩固了我在单片机应用方面的知识,同时动手能力也得到了提高。在得到题目后,我对题目的要求进行了仔细、深入的分析,结合

23、设计要求和需实现的指标,设计出不同的电路原理图,综合各个电路的优点,确定了现在使用的正确的电路原理图。之后,我在430单片机开发板上利用MSP430G2353学习如何驱动OLED显示,在熟悉了MSP430G2353和OLED显示模块后,学习了如何利用单片机自带的AD完成电压的检测。经过努力实现了电压的采集和显示。在开发板上模拟出大部分功能后,使用EDA工具DXP开始绘制电路板,并顺利的完成了硬件的装配与调试。最后结合硬件电路和程序对设计进行了优化。通过这次课程设计,我进一了解了430单片机的内部资源,熟悉使用IAR集成开发环境做430单片机程序开发。 谢 辞本设计从选题到完成,历时数周。在此,

24、首先要向我的指导老师武小年老师致以诚挚的谢意!在课程设计过程中,他给了我们很多的帮助和关怀。武小年学识渊博、治学严谨,朴实无华、平易近人的人格魅力对我影响深远。不仅让我学到了扎实的专业知识,也使我明白了许多待人接物与为人处事的道理。从开始到完成的整个过程中,武老师认真的指导我们做课程设计,他对工作的积极热情、认真负责、有条不紊、实事求是的态度,给我留下了深刻的印象,使我受益非浅,并大大的激发了我对课程设计的积极性。谨向武小年老师再次表示崇高的敬意和衷心的感谢!同时,我要感谢教学实践部的王金辉老师,感谢他带领我进入机电综合创新室学习,他为我们提供了各种电子设计需使用到的仪器,为我提供了一个良好的

25、学习环境,是我的课程设计得以顺利。另外,衷心感谢我的同学们,在我的课程设计论文写作中,与他们的探讨交流使我受益良多;同时,他们也给了我很多无私的帮助和支持,我再次深表谢意!谢谢大家参考文献1 洪利.MSP430单片机原理与应用实例详解.北京航空航天大学出版社, 2010.7.2 龚运新.单片机C 语言开发技术.清华大学出版社, 2006.10.3 李群芳、张士军、黄建.单片微型计算机与接口技术.电子工业出版社,2010.84 秦龙.MSP430单片机C语言应用程序设计实例精讲.电子工业出版社,2006.5附 录PCB图:程序:/*/* 数字式直流电压表 */*/#include io430.h

26、#include codetab.h#include LQ12864.h#define XLevelL0x00#define XLevelH0x10#define XLevel (XLevelH&0x0F)*16+XLevelL)#define Max_Column128#define Max_Row64#defineBrightness0xCF #define X_WIDTH 128#define Y_WIDTH 64#define uint unsigned int#define uchar unsigned char#define BIT(x) (1(x)void System_Init

27、(void);void ADC_Init(void); void Delay_nms(uint n);long int Voltage1, Voltage2; /全局变量Voltage1,Voltage2uint Voltage_Range;unsigned char *table=0,1,2,3,4,5,6,7,8,9;/*延时函数*/void Delayms(uint n) uchar i; while(n-) for(i=0;i0;i-); IFG1&=OFIFG; while(IFG1&OFIFG)!=0); BCSCTL2 = 0X00; BCSCTL2 += SELM1; BCSC

28、TL2 += SELS; WDTCTL = WDT_ADLY_250; /看门狗工作在定时器模式,1s中断一次 IE1 |= WDTIE; /使能看门狗中断 P1DIR |= BIT0 + BIT1 + BIT2 + BIT3;/相应的位端口设置为输出 P1SEL |= BIT4; /P1.4为A4通道 Delayms(40); LCD_Init(); /oled 初始化 ADC_Init(); /ADC初始化; /*函数功能:ADC初始化入口参数:无出口参数:无函数说明:无*/void ADC_Init (void) ADC10CTL0 &= ENC; /复位转换允许位 ADC10CTL0

29、|= ADC10ON + ADC10SHT_0 + SREF_0 + ADC10IE ; /设置转换控制寄存器ADC10CTL0,ADC10ON=0x010,使ADC10内核工作 /ADC10SHT_0=0*0x800u,确定采样周期为4xADC10CLKs /SREF_0=0*0x2000u,选择参考电压为VR+=AVCC,VR-=AVSS /ADC10IE=0x00使对应通道转换后产生中断 ADC10CTL1 |= INCH_4 + CONSEQ_0; /设置AD转换控制寄存器ADC10CTL1,INCH_0=0*0x1000u,选择通道A4 /CONSEQ_1=1*2u,设置工作模式为单

30、通道、单次转换模式 ADC10CTL0 |= ENC + ADC10SC; /设置转换控制寄存器ADC12CTL0,ENC=0x002使转换允许位为1 /ADC12SC=0x001使采样/转换控制位为1 _EINT(); /总中断使能 /*ADC中断函数*/#pragma vector = ADC10_VECTOR_interrupt void ADC10_Interrupt(void) uint data; data = ADC10MEM; /将AD采样值存入data Voltage1 = (uint)(33.3*data/10.23); /V(实际)=(VR+ - VR-)*data/1023 + VR- Voltage是实际电压值的1000倍 Voltage2 = (uint)(33.3*data/10.23*4.0); P1OUT |= BIT5; Delayms(400); P1OUT &= BIT5; /*WDT

温馨提示

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

评论

0/150

提交评论