【精品】430实习报告常亚.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
{华东) CHINA UNIVERSITY OF PETROLEUM 2010—2011学年第二学期 MSP430单片机实习报告 专业班级 测控07-2班 姓 名 常 亚 学 号一、 实习任务 以设计智能仪表为设计目的开展本次课程设计,要求先熟悉开发系统;学习 MSP430F5438单片机的工作基本原理、各模块工作原理;熟悉C51编程;针对 开发电路板上的资源对各个试验进一步学习验证;根据设计内容要求进行任务 设计开发。 要求实际任务能达到运行的目的。 设计内容 在熟悉MSP430F5438单片机工作原理及内部各模块工作原理的基础上进行“芯 片温度及工作电压智能监测仪表“开发,对该仪表的几点要求: 采用ADC模块的内部采集通道采集芯片温度及工作电压,要求采用适当的数字 滤波器进行采样数据处理,数据刷新显示周期应为2秒; 采样结果转换成实际的工程参数,应按工程单位在LCD显示屏上显示,包括单 位显示,要求把芯片温度和工作电压分页显示,采用按键切换或选择显示画 面,应尽量做到操作清晰、界面美观; 串口调试软件应该可以发送相应指令实现LCD显示内容的切换和相应数据上 传,实际的芯片温度、工作电压应能通过UART接口上送至计算机相应的串口调 试软件中。 二、 课程设计程序 #include stdio. h#include math. h #include msp430x54x.h #i nc1ude 1cdoperate.h〃 void Init Clk(void);void systeminit(void) ;void TA ini t (void); void AD init();void halUsbTnit();void UART send(void); uchar *Trans Data To Disp(uchar *str ptr, float data, uchar d); 〃全局变量的定义 /****************************************************************fl()dt Vtef二2. 5; //定义参考电压的值 ’ unsigned int result 1 [32], result2[32]; // 转换值存取变量 static uchar flag_set=0, Flag_time=O; static uint a=0;uint num=0, k=0; float votage, Vtemp, T; uchar tmp_bufl[10] = {0} ; //存放字符转化后的结果电压 uchar tmp_buf2[10] = {0}; 〃温度 #define STR EXD \0, **函数名称:mainO void main() ! systeminit() ; //系统初始化 initLCDM() ;TA_init (); AD_init() ;halUsbInit(); ClearRAM(O, 0, 128, 8) ;//清屏 EINT(); while(l) { LPMO; Trans_Data_To_Disp(tmp_buf1, votage, 2); Trans Data To Disp(tmp buf2, T, 2); if (flag_set==l) //电压页 { Display_String(l, 2,电压:“); Display_String(ll,2,V); if (Flag_time~l) { Flag time=0; Display String(7, 2, tmp bufl); } } else { Display_String(l, 2,温度:); Display_String(11, 2, C); if (Flag time=l) {Flag time=0;Display String(6, 2, tmp buf2) ;} t f ?卜 吟、?卜 *T* *|* 打J *T* 打j *7* 卜 吟、卜 *T* *v* 打j *T* 卜 *T* 卜 *T* 卜 *T* 卜 ^Tw ^r* *T^ ^r* ^T% ^7% 吓? ^7* *T^ xT^ **功能: Timer_A定时器中断服务程序 ^pragma vector=TIMER1_A1_VECTOR interrupt void TA(void) { uint Sum_votage=0, Sum_Temp=0; TA1CTL 二TATFG; //清中断标志位 for (k二0;k〈16;k++) //连续进行16次转换,提高精度 滤波 { AD init (); Sum Temp+=result 1 [k]; //求和 Sum_votage+

文档评论(0)

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

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

1亿VIP精品文档

相关文档