后半月里因为返校后种种事项以及处理新电脑的耽搁,我并没有在单片机上投入太多时间,只是简单学习了串口并加以应用:了解了诸多扩展的概念,包括串口、usb、vga等接口的不同,串口的接法,电平标准,全双工、半双工、单工的不同打好了学习串口的理论知识,学习了流控制、波特率、校验位、停止位的概念,学习了波特率计算方法,明白了SBUF在物理上与软件上的不同,明白了hex模式与文本模式的区别,查阅了串口对应的定时器、寄存器及中断函。最终完成了两个程序:单片机发送指定数据到电脑,电脑发送数据控制led亮灭除此之外,我还发现之前的工程文件在搬到新电脑上打开后显示“nul”,无论是keil文件、c文件还是记事本都是这样,我会尽快找出原因解决问题,并在之后重新规整函数注释,确保今后的编程能更加高效。这就是我这段时间的学习内容,尽管学习的内容不多却也算更进了一步。希望在开学后我的学习能够步入正轨,能更加系统、规律地学习单片机,期待下一篇博客能有更深入地总结。
在大一大二时,我听说过单片机,也曾在加入实验室时学习过一些基本的单片机项目。但直到今年的8月7号,我才第一次系统的学习了单片机。考虑到时间还算充裕且我基础比较薄弱,我选择了C51单片机作为我单片机学习之路的第一站。在本阶段内,我首先学习了通过单片机配合其他元件来实现既定功能:从最简单的led起步,我学会了用程序直接赋值点亮灯、用延时函数完成呼吸灯以及用移位函数完成流水灯。接触独立按键后,我了解了机械按键的抖动,并学会了用延时函数消除抖动;除此之外,我还制作了一个二进制计数器。到数码管时,我知道了段码和位码的概念,用快速切换各数码管来达到同时显示多个数字的效果,知道了数码管切换时的消隐并用延时函数和清零消除,并封装了数字显示函数完成了学习中的首次模块化编程。在lcd1602中,我利用已近封装好的函数来控制lcd1602的显示,使得今后的调试工作更加方便。在学习矩阵键盘后,我可以利用矩阵键盘充分控制各i/o口电平,并制作了一个密码锁;在密码锁制作完成后我又进行了如限制输入位数等多处改进,减少应用中可能出现的问题。总之,在单片机的基础应用中,更多的是通过程序及元件影响i/o口电平高低,最终达
李德盛