51单片机再学习、个人再成长之路——记山东大学陈桂友教授教学视频学习
最初了解51单片机是一个很偶然机会,别人收拾东西,翻出来给了一块金沙滩工作室的51开发板,吃灰多久已无从考究。好物件吃灰是暴殄天物,遂拿过来加以学习利用,发现开发板中用的是STC89C52RC,买来一本对应的教材书《手把手教你学51单片机C语言版》,一边看着书,一边捯饬着开发板开始了学习之路。学习中遇到问题,一点点问,一点点查,一点点摸索。后来利用STC89C52RC做出来了0-10V电压检测模块、4-20mA电流检测模块。硬件上用到了1602液晶屏、运放、高精度的TL431、PCF8591等,软件上实现了模拟I2C、AD采样的滤波算法等,硬件电路设计(MCU外围电路设计、调理电路设计、供电电路设计、保护电路设计、AD采样电路设计、辅助电路设计、测试电路设计)、LAYOUT、程序的编写、板子调试、模块外壳设计等等,每一步都是咬牙前行(不是矫情,是水平实在有限),踩出了坑,没有气馁,走在路上、躺在床上满脑子都是想踩坑的原因是什么、问题出在哪里、怎么解决、实验方法是什么、通过什么方法验证方法的正确性、可行性、有效性,一点点,一步步填平坑,继续向前,前前后后花了有三个月时间。后来了解到STC12、STC8A 、STC8H,继续学习,疫情期间利用STC8H8K64U实现了Modbus从机功能,实现了利用Modbus Poll软件发送指令,STC8H8K64U接收此命令,并触发驱动分辨率为64*32 LED点阵屏显示有关内容,同时驱动语音板播放显示内容对应的语音。这里面也是包含硬件电路设计(MCU外围电路设计、485电路设计、供电电路设计、保护电路设计、LED点阵屏驱动电路设计、辅助电路设计、测试电路设计、485通信站号、波特率、奇偶检验输入电路设计)、LAYOUT、程序的编写、板子调试、模块外壳设计等等,印象较深的地方有485电路设计、全功能Modbus RTU 从站程序编写、LED点阵屏显示内容的编码方法、内容显示的算法实现、STC8H8K64U驱动语音芯片的通信实现方法、模块LAYOUT等,挣扎过、彷徨过,最后咬咬牙还是一点点磕出来了,还形成了240多页的PPT学习笔记。对STC 51的喜爱源于兴趣,但越试着DIY,越发现自己的基础薄弱、心里的底气越不足、发现需要学习的东西越多,基于此想借助山东大学陈桂友教授《1T 8051单片机原理及应用-8H8K64U》教学视频,再好好系统地学习一遍,两遍......期望把基础打牢,做出的东西有规范、讲标准。
借助STC的学习打卡区一方面算是对自己学习的归纳总结,另一方面权当抛砖引玉,与感兴趣的小伙伴们一同讨论学习,共同进步。
今天学到了《1T 8051单片机原理及应用-8H8K64U》教学视频的第6集,印象最深的地方有3处:
1.做项目时做单片机的IO分配表;
2.串口1最好仅用下载程序,串口通信定义其他扩展引脚;
3.IO引脚使用时最好用灌电流形式
共勉共勉!{:hug:} 有韧性,坚持住,加油!!! 今天学到了《1T 8051单片机原理及应用-8H8K64U》教学视频的第7集,要点:
1.机器语音;
2.汇编语音指令格式;
3.指令系统中常用符号;
4.7种寻址方式
今天学到了《1T 8051单片机原理及应用-8H8K64U》教学视频的第8集,要点:
1.Keil C51 环境内汇编语句的仿真;
2.通过实操对汇编语句操作原理理解更深一层
今天学习实操中发现3个问题及解决方案:
1.仿真时,出现2K限制——>解决方案:Keil重新安装并激活
2.仿真时,出现stc8h.h未定义——>解决方案:下载最新ISP软件,在“Keil仿真设置栏内,根据提示添加型号及头文件到Keil中
3.GETSQ仿真实验时,出现GETSQ未定义——>解决方案:经排查发现程序的结束标志END,放在LJMP LOOP后,实际应该放在程序的最后,包含住GETSQ,如附图6、附图7所示 今天学到了《1T 8051单片机原理及应用-8H8K64U》教学视频的第9集,要点:
1.硬件设计时预留一定指示灯(例如,供电指示、程序正常运行指示),方便调试及使用;
2.通过本节课的学习,进一步加深对MCU内部数据寄存器的理解;
3.实际项目中,关于端口IO引脚输入输出属性定义:要么作为输入口,要么作为输出口,不要即作为输出口又作为输入口用;
4.程序标号定义以直观易懂为宜 向大佬学习 墨染 发表于 2024-9-23 16:43
向大佬学习
向你学习 这个老师讲的不错 今天学到了《1T 8051单片机原理及应用-8H8K64U》教学视频的第10集,实施项目编程时要点:
1.先确保程序正确性(实现预设功能),再尽可能优化程序(占用内存大小、执行效率、合理性、结构规范);
2.采用模块化实现程序设计,按照模块功能确定程序结构