MSP430G2553学习

       回顾开学前的这段时间,好像也没干什么,就学了一个MSP430G2553

    软件用的是CCS,安装软件真的是一个很令人头痛的事啊,安装了3遍总有一些功能不能用,最终终于安装好了,不过不是安装的最新版本。软件的使用倒是很顺利,先跟着使用教程走了一遍,类似软件用起来都差不多。

    然后就开始真正学习MSP430了,我先跟着教材,对照着开发板以及扩展板看了一遍教材(主要是各种片内外设,理解了一下诸多的寄存器,做了一点笔记备用),跑了跑例程,有不懂的也并没有死磕着,这一遍我过得很快。

    我总是看得太多而做得少,跟着教程走第二遍的时候,代码感觉自己看懂了就敲一遍,敲代码过程中有时发现其实代码这样写也可以,然后试一试这样能不能行,不过有时还是想不起来接下来该怎么写来着,忍不住又打开例程看,有不懂的多看几遍或者标记下来或者请教师兄。我发现我有一个毛病,就是做事过程中总是注重细节却忘记全局。所以这一遍的过程中我前后联系了一下,对430单片机有了一个全局的概念,对教材中的内容也差不多能看出哪是重点来。

    学到这里,我其实并不太知道自己到底学没学会,因为我只是看了教材,程序也是跟着例程中已有的写的,这时我有点沉不住气,我学了这么久到底学没学会,老师就说那找个东西做做吧。我就从论坛上找到了一个多功能电子秤,有两个模式:称重模式、时钟模式。时钟模式显示用的lcd12864,由于MSP430G2553只有两组独立IO口,所以与lcd12864之间采用串行通信方式;矩阵键盘用的逐行扫描的方法;ds1302写了一个专门的函数设定初始化时间,因为ds1302是掉电走时的,初始化时间设定好后就把这个函数注释掉。称重模式采用双孔悬臂平行梁应变式称重传感器将重量变化转换成电信号,然后进入HX711模块进行放大和A/D转换成数字信号送入单片机处理。

    在调试矩阵键盘时,总是有的按键能识别,有的不能识别。Debug时通过设置断点查看变量与寄存器显示的程序运行结果与预期结果比较,算是比较顺利地调试完成。在调试过程中也算是终于学会了通过设置断点与查看变量与寄存器调试程序,以前总是出了问题检查程序效率低而且很难发现哪里出了问题。

    在调试ds1302模块时,时间显示总是0,我还以为是网上找的驱动程序有问题,改来改去最终发现模块的SCLSDA接的是P2.6P2.7,其默认功能选择晶振XINXOUT,若要使用它们的IO功能,需将P2SEL.6P2SEL.7置零。在GPIO初始化里将它们配置为普通IO口之后,果然能正常显示数据了。

    因为早就听说“没有中断的单片机就是废物”,所以在前面每个模块程序编写时我都是用中断的方式编写的按键程序,但是在整合的时候由菜单进入两个模式,显示时钟、按键设置时间日期,称重、设置单价、去皮、清零、存储和总额查看等需要多重中断嵌套来实现,中断处理函数复杂不知怎么实现,最终用的查询方式编写的按键程序。整合过程中发现自己的C语言实在是太欠缺,许多简单的语法也不知道,决定系统学习C语言。整合完毕,实现了预想的功能。

你可能感兴趣的:(MSP430G2553)