- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
430函数库
MSP430程序库一综述
转眼已经大三就要结束了,我的大学生活即将结束;由于本人对软件比较感兴趣,毕业之后也许就远离的我的专业(电子信息科学与技术)了;我在大学期间也参加了电子设计竞赛等,在竞赛中我主要负责单片机程序的编写,所以对msp430系列的单片机比较熟悉;在这个系列的文章里,我主要介绍我对430单片机的理解,整理之前写下的程序,产生一个具有一定通用性的430程序库。
我与msp430最初的接触来自机械工业出版社出版的《MSP430系列单片机系统工程设计与实践》这本书;我开始参加电子设计竞赛是在大二的暑假,放假之前听说竞赛用MSP430F169的单片机,然后就去图书馆找有关430单片机的书籍了,有关这款单片机的书不多,很幸运的是我借到了这本书;我写430单片机的程序风格很大程度上受到了此书的影响。
程序库的组织方式:程序库解决方案包含多个项目,每个项目是针对一个单元(如:uart 异步串行口)的程序库和使用示例,如异步串行口的程序库,下图中UART项目,Uart.c是主要的程序库源代码,Uart.h是对应头文件,使用时需包含此头文件,main.c是使用示例代码。 程序库使用时只需.c文件和对应的.h文件即可。
文件组织方式:程序库的c文件和h文件一一对应,c文件至少包含两个头文件,其中一个是430的头文件,以使用单片机的硬件资源,另一个是其对应的头文件;如Uart.c开头即为#include msp430x16x.h #include Uart.h 为防止重复包含头文件中均有#define语句如Uart.h开头和结尾: #ifndef __UART_H #define __UART_H #endif /* __UART_H */
程序库使用方式:第一步,先把c文件和h文件拷到工程文件夹;然后把c文件添加到项目中 在左侧workspace中右击项目,选Add—Add Files,选择刚添加的c文件;如图:最后在要调用库函数的程序文件中包含拷进来的头文件;之后,就可以正常调用程序库中的函数(H文件中声明的,需要的话,可以自行添加)。
程序库目前打算先从异步串行口写起,多谢网友们的支持了啊。
MSP430程序库二UART异步串口
串行通信接口是处理器与其他设备进行数据通信最常用的方式之一。我的这个程序库是针对MSP430f14系列和MSP430f16系列的,我常用的单片机是这两款:msp430f149,msp430f169。这两款单片机中均有两个增强型串行通信接口,都可以进行同步或是异步通信,甚至169的模块USART0还能进行进行I2C协议通信。在这里,我们只讨论异步串行通信。
硬件介绍:
MSP单片机的USART模块可以配置成SPI(同步通信)模式或UART(异步通信)模式,这里只讨论UART方式。UART数据传输格式如下:
起始位,数据位由高到低7/8位,地址位 0/1位,奇偶校验位 奇偶或无,停止位1/2位。数据位位数、地址位、奇偶校验位、停止位均可由单片机内部寄存器控制;这两款单片机都有两个USART模块,有两套独立的寄存器组;以下寄存器命中出现x代表0或是1,0代表对应0模块的寄存器,1代表对应1模块的寄存器;其中,与串口模式设置相关的控制位都位于UxCTL寄存器,与接收相关的控制位都位于UxRCTL寄存器,与发送相关的控制位都位于UxTCTL寄存器;波特率设置用UxBR0、UxBR1、UxMCTL三个寄存器;接收与发送有独立的缓存UxRXBUF、UxTXBUF,并具有独立的移位寄存器和独立的中断;中断允许控制位位于IE1/2寄存器,中断标志位位于IFG1/2寄存器。
波特率设置:430的波特率设置用三个寄存器实现,UxBR0:波特率发生器分频系数低8位。UxBR1:波特率发生器分频系数高8位。UxMCTL:波特率发生器分频系数的小数部分实现。设置波特率时,首先要选择合适的时钟源:USART模块可以设置的时钟源有UCLK引脚、ACLK、SMCLK;对于较低的波特率(9600以下),可选ACLK作为时钟源,这样,在LPM3(低功耗3)模式下,串口仍能正常发送接收数据;另外,由于串口接收过程有一个三取二判决逻辑,这至少需要三个时钟周期,因此分频系数必须大于3;波特率高于9600时,将不能使用ACLK作为时钟源,要调为频率较高的SMCLK作为时钟源;另外还可以外部输入UCLK时钟。分频系数计算公式如下:
小数分频是MSP430单片机的串口特色之一,UxMCTL寄存器的作用就是控制小数的分频,控制方法如下:对应位是1,则分频系数加一,0则分频系数减一;小数分频器会自动依次取出每一位来调整分频系数。其计算方法:可以先计算小数部分一的个数,然后把1均匀的放入UxMCTL的8位中,这样计算比较
您可能关注的文档
最近下载
- 优秀干部-上海杉达学院.DOC VIP
- 工程监理预验收报告范例工监理预验收报告范例.doc VIP
- 吉林大学23春“公共课”《大学英语(一)》考试历年真题选编附答案.docx VIP
- (整理)19世纪欧洲文学.doc VIP
- DF11机车常见电器故障处理动车论坛.doc VIP
- 精选7篇带头严守政治纪律和政治规矩,维护党的团结统一“四个带头”发言提纲.docx VIP
- 学校风雨体育场(风雨操场)项目可行性研究报告.docx VIP
- 云南省茶叶出口影响因素的实证研究.docx VIP
- 2022版诊所备案信息表.doc
- 实腹式钢吊车梁(中轻级工作制_A1-A5_Q235钢_跨度6.0m、7.5m、9.0m).pdf VIP
原创力文档


文档评论(0)