MSPG电压表设计.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字式直流电压表整体说明数字式直流电压表主要由MSP430G2553、12864和分压电路三部分组成。分压电路先将输入的电压信号衰减的,后通过控制路选择开关设定测量的量程,实现精确读数的电压信号由MSP430G2553内部的ADC10模块转换成数字信号;再通过12864液晶屏串行显示原理图数字式直流电压表12864通过串口方式显示,只需占用单片机2个I/O口;分压电路可以通过开关S1选择量程档位,只占用1个I/O口。 三、接口定义MSP430G2553的接口说明如表1所示。12864的接口说明如表所示。表1 MSP430G2553的接口说明 表 LCD12864的接口说明 程序流程图主函数的流程框图如图1所示。主函数调用初始化函数初始化的流程框图如图所示对(三)ADC初始化函数 的流程框图如图所示ADC10CTL0和ADC10CTL1的初始化配置。其中,ADC10CTL0 需要配置的是ADC10的开关、采样周期、参考电压、ADC10中断使能;而ADC10CTL1则只需要对外部采样通道和ADC的工作模式进行选择。 (四)液晶屏初始化 液晶屏初始化的流程框图如图所示 (五)中断函数 中断函数用到了ADC中断函数和看门狗中断函数。ADC中断函数的流程框图如图所示ADC10CLKS周期会产生一次中断,ADC10会将采集到的电压值自动保存在转换存储寄存器ADC10MEM中,直接读取该寄存器就可以取出数据,再通过固定的转换公式转换成测得的电压值。看门狗中断函数的流程框图如图所示程序代码/******************************************************************/ /* 程序说明:直流电压表(串行LCD显示) */ /* P1.0控制RW,并行的读/写选择信号,串行的数据口 */ /* P1.1控制E,并行的使能信号,串行的同步时钟 */ /* P1.4接被测电压信号源,信号源与单片机要共地 */ /* PSB低电平是串行,直接接地;RS接高电平 */ /* 注:程序运行前先选择量程Voltage_Range,并将P1.4口接上对应通 */ /* 道,若选Range_3V接①道,若选Range_15V接②道,否则烧坏芯片 */ /******************************************************************/ #includemsp430g2452.h #define uint unsigned int #define uchar unsigned char #define BIT(x) (1(x)) #define Range_3V 0 //量程为0~3V #define Range_15V 1 //量程为0~15V /********************************************************* 函数声明 *********************************************************/ void System_Init(void); void ADC_Init(void); void LCD_Init(); void LCD_Send(uchar type,uchar transdata); void Delay_nms(uint n); void LCD_Pos(uchar x,uchar y); void LCD_Display_String(const uchar *pt,uchar num); void LCD_Display(long int Data); void LCD_Display_Digit(long int num); uchar LCD_Table[]={0,1,2,3,4,5,6,7,8,9,.,V}; long int Voltage; //全局变量Voltage uint Voltage_Range; /********************************************************* 函数功能:系统初始化 入口参数:无 出口参数:无 函数说明:无 **********************************************

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档