上图显示结果如下图:
六、设计的收获与体会
今个学期刚刚接触到STM32,经过黄金杨老师的介绍,我真正的体会到
了STM32的强大之处,STM32采用Contex-M3内核,是32位的,比起8位的51单片机好多了,并且其处理数据速度非常快, flash,ram 也是很大的,还有16 位的FSMC 总线等等的强项,这是51单片机望而不及的。
老师刚刚定好课程设计的题目的时候,正好黄老师在跟我们讲解STM32的AD模数转换,这里的STM32F103X是一个12位的逐次逼近型的ADC模块,所以说它的采样精度是很高的 ,同时自己以前还没有做过有关于AD的模块,所以我决定亲自尝试做一个简单的STM32数字电压表。首先自己根据上一次做过的ADC实验拿出来慢慢的看的ADC、DMA、GPIO、RCC、USART配置对照着库函数理解,其实这些配置基本上都是固定的,只不过根据自己的需要或者硬件的不同而配置不同而已。利用库函数可以减少了编程的复杂性,更有利于开发更多的产品,相对于采用寄存器来编程好多了,所以说利用固件库来写程序是很重要的。
在我刚开始编程的时候,我首先先在以前那个ADC实验,把采样到的电压值准确的在串口线上显示出来,显示出采样到的电压值,其实就是要将采样值经过转化后(采样值最高为4096,采样最高电压都为)利用相应的比例算出测量的电压值,所以利用以前C语言学到的知识,先求出千位、然后再求百位、十位、个位(采样的精度为),我认为这是关键性的一步,然后在LCD上显示就容易些了。搞定了在串口上的显示电压后,紧接着就是让电压值在LCD上显示了,在这里,LCD的配置,函数,我觉得是很难理解的,故根据以往的经验,要先看看使用的LCD的文档,读懂时序图,理解LCD的命令表,这是深入了解LCD的关键,另外LCD的初始化可以在库函数里面找到。功夫不负有心人,我足足花了一个星期,终于把程序编好了,在期间,自己不懂的东西,就问同学或者网上学习,说真的,在课程设计期间自己学到的东西是最多的。这个课程设计可能就是大学四年最后一个课程设计了,所以我每次做课程设计的时候,我都会格外的用心,或许这是出于自己的兴趣爱好吧。故在以后的路,我会继续保持着这种好习惯。
课程设计评语
出勤 方案设计 安装调试 答辩 报告 总 成 绩 优秀 良好 中等 及格 不及格 完 成 情 况
指 导 教 师 评 语