单片机是当今理工科各专业学生的必备技能之一,目前大部分课程还是使用传统8051作为授课主体。但传统51单片机毕竟问世40年,产业界已经淘汰,目前工业界主流的51系列单片机是STC8系列增强型51单片机,在原来51内核基础上扩展了更多功能。但是这些新功能也导致学习难度加大,不利于初学者。
为了接轨企业对人才的实际能力需求,同时又不加大学习难度。本课程进行了深入的产教融合,探索了采用图形化编程和互联网云编程的单片机开发新模式,不仅降低了学习门槛,而且提高了开发效率。
本课程属于单片机创新开发初级课程,在介绍了“天问Block”这一创新开发平台的基础上,通过大量详实的案例介绍了STC8单片机各类内部资源的应用,包括GPIO、中断、定时器、ADC、PWM、串口等。同时也包含了常用外设如LED灯、独立按键、数码管等应用。全部通过图形化编程。同时给出了图形化对应的字符编程代码(C语言),方便通过图形化模块入门C语言。
当然要深入掌握单片机和C语言知识仅仅靠这8周的慕课内容是远远不够的。后续团队还会陆续推出相关单片机创新开发中高级课程。中级教程采用图形化和C语言组合方式,对这些项目涉及到的软硬件知识进行深入解析,一步步提高读者的理论知识和实践技能,提升C语言编程技巧,同时向专业开发平台Keil过渡。高级课程包括一些综合项目,涉及到“天问Block”创新平台更多高级应用。同时团队还推出了基于天问Block创新开发模式的教材,并获得了STC官方支持,后续还会推出基于STC单片机32位单片机课程,可以和STC8无缝连接。欢迎大家踊跃学习本课程,使用国产单片机和国产工具链,推动国产芯片的发展和进步。
1)掌握单片机的基本概念;
2)掌握STC8单片机的硬件架构;
3)掌握单片机的创新开发平台“天问Block”的使用;
4)学会单片机常用接口和外设的编程方法;
本课程和同类单片机课程相比,不需要电路和C语言等专业知识,有计算机基础就可以入门学习单片机,非常适合广大非工科类学生学习信息技术,便于学校开展创客类实践教育。而通过图形化和C语言组合编程方式,在快速学习单片机的同时,也能很好的学习C语言。
当然本课程也适合已经学过传统51单片机的学生,通过图形化快速设置寄存器、配合新开发模式配套的库函数和云编程等工具,学习新时代单片机项目开发模式。
STC8系列单片机技术参考手册
天问51编程手册
STC单片机官网:
天问Block官网:
51单片机项目教程(C语言版)(赠单片机开发板) 吴险峰主编,人民邮电出版社
推荐教材:
1. 如何学习本门课程?
答:本课程是针对各类不同基础同学设置的慕课。简单归纳如下。
对于无基础想了解单片机的学员:作为选修课即可。只需要学习图形化编程,不用学习C语言和Keil软件也可以进行编程开发。同时锻炼编程思维,提升创客技能。
对于无基础想进一步学习的学员:在进行图形化编程的同时学习C语言,方便后续切换到C语言编程。同时掌握天问Block提供的C语言库函数。
对于有51基础的学员:学习天问Block的快速生成代码框架基础上,结合具体项目学习和研究框架下面的封装代码,提升专业能力。提升Proteus仿真技能。
对于已经学完单片机或有实际开发经验的专业技术人员:了解天问Block平台开发模式,将此模式拓展到32位单片机,用本模式作为代码快速生成工具,提高开发效率,省去了查阅手册,看寄存器的时间。同时希望有经验开发者能将实际开发器件封装成模块库到平台共享,拓展知识付费红利,扩大国产平台生态。
总而言之,本课程是相对于其他单片机课程能让你更快入门。然后可以根据平台资料和论坛进一步学习,最终目标就看你想学的程度了。希望大家都能成为国产平台的开发者,推动国产单片机生态链,减少对国外软件的依赖。
2. 开发板如何获取?没有开发板可以学习吗?
答:开发板相关资讯可以在天问Block平台获取。对于没有开发板的学习者也不用担心,本课程为实际案例提供了基于Proteus的对应STC8单片机仿真案例。通过这些案例和库函数,一样可以提升单片机开发技能。不过还是建议想进一步学习的同学有个开发板进行学习。因为软件仿真很多情况下是不靠谱的,而且很多器件和功能不能仿真。
3. 相关课程资源如何获取?
答:本课程需要用到单片机程序编译软件天问Block。是免费使用的国产软件,到官网下载即可。而且天问Block本身就打包了STC-ISP程序烧录软件,所有案例和库函数都包含在天问Block中,还提供了云平台、在线文档、在线学习和交流社区。所以只用安装天问Block一个软件就可以了。
另外天问Block也支持云代码托管和在线编程,直接浏览器登陆,但功能有限,建议初学者还是下载客户端使用比较好。
本课程用到的虚拟仿真案例,源程序,课件等资源,可以教材配置的链接获取。教材是属于微课版的立体化资源教材,扫描教材中的二维码可以直接获取资源。
4. 这个课程不用Keil编程软件吗?
答:对于初级用户,完全可以不用。天问Block本身带有C语言开发环境,而且支持代码提示和代码补全。相对于用keil来学习C语言编程的同学来说,要友好太多。但是对于中高级用户,Keil还是需要的,毕竟其专业能力要远高于天问Block。天问Block内置SDCC开源编译软件,可以处理简单项目。对于复杂项目,可以用天问Block快速配置寄存器和框架,然后将代码导入Keil。
5. 我学8051就已经很吃力了,学STC8新一代单片机应该更难入门吧?
答:如果还是原来的学习模式,当然STC8要难得多。毕竟多了那么多寄存器要设置,而且外设也复杂很多。但是用天问Block这类创新工具,就刚好相反了。STC8集成度高,以前的晶振、复位等电路全部内置了,还能直接硬件仿真。STC8内部资源多,编程更简单,不像经典8051还要考虑怎么节约内部资源,导致软件的复杂度提升。而天问Block把需要配置的寄存器用图形化封装了,不用一句句C语言设置。另外天问Block内置了完备的库函数,适合模块化编程,比起8051往往只有一个C文件的代码更容易理解。
6. 我有其他的51开发板与本课程中使用的开发板不同,是否可以进行使用?
答:当然可以。天问Block不光只是针对STC8,对于其他的传统STC89C51/52、STC12、STC15等等也支持。但是建议还是学功能更新更强的STC8。至于外设只是控制端口的区别,学会了就很容易移植。其实不同开发板的程序移植就是一种很好的单片机学习方式,相当于学习了多个单片机。天问Block官方也提供了传统51到STC8的转换芯片。同时天问Block也支持STC的原厂官方实验箱。
7. 感觉这个课程内容很新,估计学习中疑问不少,如何与老师互动交流?
答:慕课本身有专门的讨论区,希望大家踊跃提问,有老师与大家交流互动。但我们更鼓励大家可以在天问Block平台上交流。提交自己的作品,反馈天问Block的不足。因为天问Block本质上也是互联网性质的单片机工具,只有更多的用户才有价值。然后推动更多人去开发和使用。而更多人在产业界使用了,在学校你学习这个工具才更有意义。另外,支持国产软件和单片机,也体现了课程思政的理念。
8. Proteus软件仿真我只看到了8051的仿真例子,如何仿真STC8?
答:Proteus广泛应用于单片机教学软件仿真。其基于8051教学的案例众多,但严重落后于产业界。Proteus在8.9版本以后也提供了STC15仿真功能,但是没有官方案例,支持有限。本课程在分析STC8和STC15的内核结构上,首次将STC8实际案例移植到Proteus的STC15内核实现。虽然移植过程也有很多问题,但是对大家学习STC8来说,在没有开发板的情况下,也是非常好的学习资源。