我为什么要学习这门课?
快速掌握单片机应用技术。如:设定定时器就像设定手机闹钟一样简单。跟着我的视频,你们可以在5分钟内学会单片机的定时器和定时器中断服务程序的写法-用法,简单的粘贴复制。
同学们也可以在几分钟内跟着我的视频,学会用按钮或者声控人机交互的程序写法。
这门课的主题是关于什么?
学会应用单片机,而不是光知道原理不会用,考试完了,原理也忘记了。
学习这门课可以获得什么?特别是对自己有什么帮助和应用。
获得一个单片机系统,掌握一个直指应用目标的学习方法。详见FAQ。
这门课有什么特色和亮点。
本课程以“学会、应用”单片机为唯一目标,学习完本课程可以用单片机做成一台可用的时钟,每一讲都是组成这个时钟的一个部件,教师讲解部件的所有代码,最后组成时钟。
整体教学观是本课程的指导思想,在教师的引导下,学生在实验板动手实践,真正了解嵌入式系统的设计过程,提高软硬件设计水平,掌握快速学习方法。
快速学习方法体现在以下三点:
一、目标清晰,体现在大目标清晰,每一讲小目标也清晰,用几分钟的微视频展示,同学们可以并且这个小目标是可以3-5小时内达成的。
二、用到先学。与常见课程不同,不要求学生了解单片机内众多的知识点,不让学生纠结于定时器模式1模式2或者中断向量地址,而是要求学生掌握并应用与目标(数字钟)相关的所有知识点,用到先学,在一二周内让学生获得成就感,做出东西来。
三、学母语那样学计算机软件。常见的单片机课程花大量课时讲解芯片内部硬件和功能模块,极少时间讲完整的软件,与实际应用场景不符合,实际工作中,单片机系统的硬件设计只占总项目时间一成左右,大部分时间在写软件。既然课程的目标是“学会”、“应用”,就应该花大量时间讲软件,也希望同学认真做老师布置的软件作业。单片机的软件是用C语言,既然是一种语言,就应该借鉴学习语言的方法,最简单的就是向人类的幼儿学习,就是先大量的听完整的表达意义的句子,对应在学习计算机语言上就是多读完整的软件代码,脱离代码的语法讲解是低效率的,如果大人教小朋友语法,也许这个小朋友永远不会讲话了。
掌握以上快速学习方法,为有缘涉足IT行业中嵌入式系统开发的同学打下扎实基础。
第一、目标清晰,就是做一台数字钟,学到一套学习方法。
第二、用到先学。只研究用到的芯片细节内容,直到会用。对于一个项目来而言,一般会用到一部分特殊功能部件,我们把这些功能讲透,一直到熟练应用。这样,学生花较短的时间马上可以实现一个预期功能,增加学习自信。用我们的方法,学习定时器只要5分钟。
第三、高效率学习C语言:仿照母语学习法,先读完整的软件,背诵,肚子有货,再自己写。
第四、九成时间教软件,并且用实况录播的办法,让学生直接体会软件更改对硬件的作用。
第五,注重过程性考核,在8~9周的课程周期内,保证学生做出一个完整作品的同时,至少有7次到8次的小测验,而每一个小测验时间平均分布,分数进入到大考。
小测验内容是10~%20是考硬件,80~90%是考软件,用软件片段作为选择题,在比较短的时间内让学生分辨出运行正常的软件。
这样安排,保证学生不在大考前抱佛脚,在做出作品的同时,也理解作品所包含的知识点。
C语言
计算机基础知识
为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。
电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。
完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。
认证证书申请注意事项:
1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。
2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。
CSDN,知道的同学都会去找。
www.stcmcudata.com
课程名称 《单片机C51实战》
Q:不要问哪一类问题:
1. 有确定性回答的问题
1) 查手册或者网站就能找到答案的。比如: void() 是什么意思?
2) 已经有人回答的。比如:如何在Windows下面安装keil?
2. 程序正常编译,也能够运行,但是结果不符合自己的预期——也就是程序的逻辑有问题
1)你必须要学会调试自己的程序。除非你的程序特别有趣,否则不会有人帮你去做本应该你自己做的调试工作
2)你需要学习极简单软件,并使之可靠运行
3)即便不作单步调试,尝试用实验板上的LED,数码管显示出你的中间结果,也会有助于你查找自己的错误
Q:课程的目标是什么?
A:课程的目标是用单片机制作一个可以用的数字钟。
在学习做单片机数字钟的过程中,我们将花10%的时间让同学们理解整个硬件系统,主讲老师设计这个硬件过程中应用新生代的8051兼容单片机芯片,这个单片机芯片在备课期间还没有正式上市。
同时我将用90%的时间来介绍能完成数字中功能的详细的软件代码。
Q:有问题怎么办?
A:
1. 提问前先自己读文档、手册,搜索百度、谷歌、CSDN、众多单片机的网站
2. 你做了哪些尝试去解决问题
1) 天助自助者。软件工程师的时间,1/3在编程序,2/3在解决程序中的问题。尝试解决问题是走在正确的道路上
2)你所描述的尝试方法,有助于别人判断你遇到的问题的状态,以便给出更准确的回答。
3.不能只看视频。找到相应的参考资料,在自己的板子上实现视频中老师演示的功能。
Q:建议学习过程是什么?
A:
1) 在每个课时里面,先浏览一遍课件;
2) 然后快速看一遍课件对应的视频;
3) 随后,你打开自己的keil开发环境,对照课时中的代码示例视频,一边看视频,一边对着视频写代码;
4) 看示例视频写代码时,你可能要不时地暂停视频,以便跟上老师的进度;
5) 几乎可以肯定:你在对着视频写代码时,会敲错代码,会看串行,会把半角分号写成全角分号——错误百出;
6) 你能犯错误,这非常棒:耐心一点,尝试去解决你的错误;
7) 当你写程序不再犯错时,那么你就掌握了这一单元的主要内容。
Q:我们用什么样的单片机?
我们这次课程用stc8h1k16,这是Intel8051单片机的更新换代产品,如果用传统的8051单片机来完成这个新型单片机的所有功能,需要做一块巨大的板子,十几片芯片。同时这块新的芯片的运行速度是古老的89c51的12倍到24倍。关键这片芯片还非常便宜,一个芯片的价钱不到老芯片的一半。这个类型(指51单片机)的市场占有率据说也是51%。
Q:学习这门课可以获得什么,特别是对自己有什么帮助?
首先,你会学到用新型的国产stc单片机,能够在学会数字中的基础上,开发自己的应用系统。你可以获得详细的源代码,完整的硬件电路图。这类单片机市场占有率高,学了直接应用(工作),也可以在此基础上进阶学习。
其次,学习过程中,希望同学们关注学习方法,以项目学习法为主,用到先学,好比你不必要学会康熙词典里所有的汉字才可以说汉语,学单片机也是这样。可以参考问题“《单片机C51实战》和常见的单片机教学课程有什么不同?”
Q:流行的单片机开发板是否可以用?
A:可以,必须在理解对应开发板原理的基础上。现在上现在市面上流行的开发很多,大部分板子有很多功能放在一起,初学者不知道那些功能什么时候该用,什么时候不该用。有时需要用导线搭接硬件,不熟悉的初学者接硬件可能有障碍。完整的程序也比较少,有时出了一本完整的程序书,没有老师讲解,读起来非常困难。建议在学过本课程后再挑选市面上的开发板进一步学习。
Q:用什么方法来学习单片机和c语言?
A:学习单片机主要精力是学习单片机的软件编程。硬件我们只要模仿就可以了。学习单片机的软件就是学习计算机语言,我们要用学母语的方法来学习。这种学习方法是最符合人类认知规律,并且是最快的。
Q:《单片机C51实战》和常见的单片机教学课程有什么不同?
A:常见的单片机类教材或者是网上课程的共同点就是:这些教材和课程的构建都是从单片机这个科目的小知识点开始,通过知识点的积累试图让学习者合成整个单片机知识,并希望学习者能够将学习到的知识点合起来用来开发。
这是专著或者芯片手册的构建方式,而不是学习应用单片机的正确方法。设想一下,单片机定时器应用,常见的教学方法很多就有100多张PPT,讲解下来可以覆盖70%左右定时器的知识点,学生看到这么多的知识点,能记住已经很难了,更别提应用了,大多数是前学后忘记。
而本课程讲定时器不到五分钟,保证同学会用,用到先学,让学生有成就感,获得感,让学生专注于应用本身,而不是知识结构的完整性。
Q:为什么不用汇编语言?
A:这就牵涉到课程的目标,如果你们去看某一个单片机课程,是让学习者学完以后去设计单片机芯片,改革单片机内部结构,那样必须学习单片机的汇编语言。不仅要学好学精,前提必须先学会使用单片机,会用,才能改进它。当然,学会使用单片机,用C语言最快,还是要学C语言。
如果某门课程或某本教材声称让你学会以后去做单片机开发,去应用单片机,它还在讲汇编语言,那就出问题了。用汇编语言开发单片机应用系统,和用C语言开发相比效率极其低下,好比高铁和绿皮火车的关系,汇编语言在二三十年前就被市场淘汰了。
这类教材显然目标跟手段背离了。