- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MSP430G2553电压表设计
数字式直流电压表
一、整体说明
在电子技术中,往往离不开对电压的测量,作为一种测量电压的仪器——电压表是近代电子技术领域的常用工具之一,在许多领域得到广泛应用。基于TI单片机设计的数字式直流电压表主要由MSP430G2553、LCD12864和分压电路三部分组成。分压电路先将输入的电压信号衰减一定的倍数,后通过控制双路选择开关设定测量的量程,分别有0~3V和0~15V两个档,以便实现精确读数;分压处理后的电压信号由MSP430G2553内部的ADC10模块转换成数字信号;再通过LCD12864液晶屏进行串行显示。经多次测量实验得出误差范围在2%以内。
二、原理图
基于MSP430G2553单片机设计的数字式直流电压表的电路图如图1所示。由于MSP430开发板已具备单片机最小系统结构,只需添加显示电路和分压电路。LCD12864通过串口方式显示,只需占用单片机2个I/O口;分压电路可以通过开关S1选择量程档位,只占用1个I/O口。
图1
图1 直流电压表电路图
三、接口定义
MSP430G2553的接口说明如表1所示。图1中的复位和晶振部分是MSP430开发板固有的部分,故不再说明。P1.0接液晶屏的SID脚,作为串行的数据口用;P1.1则接液晶屏的SCLK脚,控制串行的同步时钟;P1.4接分压电路的输出端。LCD12864的接口说明如表2所示。当PSB脚接低电平时,串口模式被选择。在该模式下,只用2根线(SID与SCLK)来完成数据传输。RS接高电平,不使用片选功能。注意:信号源与单片机之间要共地。
表1 MSP430G2553的接口说明
引脚号
引脚名
接口说明
备注
2
P1.0
接12864的5脚(R/W)
3
P1.1
接12864的6脚(E)
6
P1.4
接分压电路的输出端
表2 LCD12864的接口说明
引脚号
引脚名
接口说明
备注
1
VSS
电源地
2
VDD
电源正端
4
RS(CS)
电源正端
5
R/W(SID)
P1.0
6
E(CLK)
P1.1
15
PSB
电源地
19
LED_A
电源正端
20
LED_K
电源地
四、程序流程图
图1 主函数流程图系统初始化开启ADC转换
图1 主函数流程图
系统初始化
开启ADC转换
开始
主函数的流程框图如图1所示。主函数主要是调用系统初始化函数和循环开启ADC转换,这是由于ADC10采用单通道单次转换模式,每次采样后需要重新开启ADC,才会进行下一次信号采样转换。另外,信号的采样与处理以及电压值的显示都是通过中断来完成。
(二)系统初始化函数
系统初始化的流程框图如图2所示。该函数对看门狗的工作模式、所需的I/O口以及ADC10和12864进行定义或初始化配置。
(三)ADC初始化函数
ADC初始化的流程框图如图3所示。该函数的任务是对转换控制寄存器ADC10CTL0和ADC10CTL1的初始化配置。其中,ADC10CTL0 需要配置的是ADC10的开关、采样周期、参考电压、ADC10中断使能;而ADC10CTL1则只需要对外部采样通道和ADC的工作模式进行选择。
(四)液晶屏初始化
液晶屏初始化的流程框图如图4所示。该函数需要写指令控制:清屏指令、功能设定为基本指令集操作、地址归0、开显示且关闭光标及其反白显示。
结束系统初始化开始设看门狗为定时器模式图
结束
系统初始化开始
设看门狗为定时器模式
图2 系统初始化流程图
使能看门狗中断
设P1.0~P1.1口为输出
设P1.4作A4通道
选择电压量程
ADC初始化
液晶屏初始化
结束
ADC初始化开始
ADC10CTL0=~ENC
图3 ADC初始化流程图
ADC10CTL0|=ADC10ON
ADC10CTL0|=SREF_0
ADC10CTL0|=ADC10IE
ADC10CTL1|=INCH_4+CONSEQ_0
_EINT( )
结束
液晶屏初始化开始
写指令0x01
图4 液晶屏初始化流程图
写指令0x30
写指令0x02
写指令0x0c
(五)中断函数
结束看门狗中断开始LCD显示图6 看门狗中断流程图流程图结束ADC中断开始读取采样数据图5 ADC中断
结束
看门狗中断开始
LCD显示
图6 看门狗中断流程图
流程图
结束
ADC中断开始
读取采样数据
图5 ADC中断流程图
处理数据
五、程序代码
/******************************************************************/
/* 程序说明:直流电压表(串行LCD显示) */
/* P1.0控制RW,并行的读/写选择信号,串行的数据口 */
/* P
文档评论(0)