hi,小慕
课程

中国大学MOOC,为你提供一流的大学教育

认证学习
为你提供认证成绩和证书,以及AI高效学习服务
查看详情
大学

国家精品

认证学习

智慧课程

理学工学农学

计算机

经济管理

外语

音乐与艺术

心理学

文史哲法

医学与保健

教育教学

大学生竞赛

软件实训

人工智能

升学/择业

考研

期末突击

专升本

四六级

保研及论文

求职就业

专四专八

大学应试英语

期末资料

终身学习

有声课堂

兴趣技能

hi,小mooc
考研全科400分攻略
单片机C51实战
第6次开课
开课时间: 2023年09月07日 ~ 2024年01月12日
学时安排: 3-5小时每周
当前开课已结束 已有 2700 人参加
立即自学
往期不提供结课证书,想参加下学期课程, 点击这里预约>>
课程详情
课程评价(85)
spContent=课程名“单片机C51实战” 本课程以“学会”、“应用”单片机为唯一目标,学习完本课程至少可以用单片机做成一台可用的时钟,每一讲都是组成这个时钟的一个部件,最后理解软硬件。 如果你去驾校学开车,师傅把你关在教室里学理论,讲知识点,就是不让你上车操作,而且讲的都是20-30年前的古老车型,最后理论考试,给你个驾照,你会开车吗? 学单片机也一样,老师不断教你二三十年前古老的8051单片机知识点,用100多张PPT讲某个特殊寄存器,就是不给看完整的单片机硬件系统,不讲完整的、可以运行的软件,能学会吗? 本课程用给单片机芯片是近年刚上市的,向下兼容8051的高速芯片,老师用符合认知规律的方法,让你5分钟学会GPIO,5分钟学会定时器中断、5分钟学会外中断……让你的主要精力集中于应用项目本身,去发现,去创造。
课程名“单片机C51实战” 本课程以“学会”、“应用”单片机为唯一目标,学习完本课程至少可以用单片机做成一台可用的时钟,每一讲都是组成这个时钟的一个部件,最后理解软硬件。 如果你去驾校学开车,师傅把你关在教室里学理论,讲知识点,就是不让你上车操作,而且讲的都是20-30年前的古老车型,最后理论考试,给你个驾照,你会开车吗? 学单片机也一样,老师不断教你二三十年前古老的8051单片机知识点,用100多张PPT讲某个特殊寄存器,就是不给看完整的单片机硬件系统,不讲完整的、可以运行的软件,能学会吗? 本课程用给单片机芯片是近年刚上市的,向下兼容8051的高速芯片,老师用符合认知规律的方法,让你5分钟学会GPIO,5分钟学会定时器中断、5分钟学会外中断……让你的主要精力集中于应用项目本身,去发现,去创造。
—— 课程团队
课程概述
  • 我为什么要学习这门课?

快速掌握单片机应用技术。如:设定定时器就像设定手机闹钟一样简单。跟着我的视频,你们可以在5分钟内学会单片机的定时器和定时器中断服务程序的写法-用法,简单的粘贴复制。

同学们也可以在几分钟内跟着我的视频,学会用按钮或者声控人机交互的程序写法。


  • 这门课的主题是关于什么?

学会应用单片机,而不是光知道原理不会用,考试完了,原理也忘记了。

学习这门课可以获得什么?特别是对自己有什么帮助和应用。

获得一个单片机系统,掌握一个直指应用目标的学习方法。详见FAQ。


  • 这门课有什么特色和亮点。

本课程以“学会、应用”单片机为唯一目标,学习完本课程可以用单片机做成一台可用的时钟,每一讲都是组成这个时钟的一个部件,教师讲解部件的所有代码,最后组成时钟。

整体教学观是本课程的指导思想,在教师的引导下,学生在实验板动手实践,真正了解嵌入式系统的设计过程,提高软硬件设计水平,掌握快速学习方法。

快速学习方法体现在以下三点:

一、目标清晰,体现在大目标清晰,每一讲小目标也清晰,用几分钟的微视频展示,同学们可以并且这个小目标是可以3-5小时内达成的。

二、用到先学。与常见课程不同,不要求学生了解单片机内众多的知识点,不让学生纠结于定时器模式1模式2或者中断向量地址,而是要求学生掌握并应用与目标(数字钟)相关的所有知识点,用到先学,在一二周内让学生获得成就感,做出东西来。

三、学母语那样学计算机软件。常见的单片机课程花大量课时讲解芯片内部硬件和功能模块,极少时间讲完整的软件,与实际应用场景不符合,实际工作中,单片机系统的硬件设计只占总项目时间一成左右,大部分时间在写软件。既然课程的目标是“学会”、“应用”,就应该花大量时间讲软件,也希望同学认真做老师布置的软件作业。单片机的软件是用C语言,既然是一种语言,就应该借鉴学习语言的方法,最简单的就是向人类的幼儿学习,就是先大量的听完整的表达意义的句子,对应在学习计算机语言上就是多读完整的软件代码,脱离代码的语法讲解是低效率的,如果大人教小朋友语法,也许这个小朋友永远不会讲话了。

掌握以上快速学习方法,为有缘涉足IT行业中嵌入式系统开发的同学打下扎实基础。


授课目标

第一、目标清晰,就是做一台数字钟,学到一套学习方法。


第二、用到先学。只研究用到的芯片细节内容,直到会用。对于一个项目来而言,一般会用到一部分特殊功能部件,我们把这些功能讲透,一直到熟练应用。这样,学生花较短的时间马上可以实现一个预期功能,增加学习自信。用我们的方法,学习定时器只要5分钟。


第三、高效率学习C语言:仿照母语学习法,先读完整的软件,背诵,肚子有货,再自己写。


第四、九成时间教软件,并且用实况录播的办法,让学生直接体会软件更改对硬件的作用。


第五,注重过程性考核,在8~9周的课程周期内,保证学生做出一个完整作品的同时,至少有7次到8次的小测验,而每一个小测验时间平均分布,分数进入到大考。

小测验内容是10~%20是考硬件,80~90%是考软件,用软件片段作为选择题,在比较短的时间内让学生分辨出运行正常的软件。

这样安排,保证学生不在大考前抱佛脚,在做出作品的同时,也理解作品所包含的知识点。


课程大纲
学习方法,开发环境搭建和基础知识
课时目标:这一讲是关于这门课清晰的目标,我们做一个数字钟。正确快速的学习方法和基础理论储备,请同学们仔细阅读。有了正确的方法,后面的项目做起来会非常简单。
1.1 绪论牢记课程的目标,介绍学习方法
1.2 单片机软件开发环境
1.3 单片机学习硬件需求和最小系统
1.4 USB-CH340驱动,编译环境下载安装
1.5 开发板介绍-视频
1.6 二进制16进制和十进制对照及演示。
1.7 单片机一句话速成-IO线是什么,做什么,什么时候做(文档)
1.8 BCD码学习(文档)
点亮发光二极管及数码管。
课时目标:因为数字钟的最终显示是用数码管,数码管是由发光二极管拼和而成,所以在这一讲里面大家要学会简单地点亮发光二极管和数码管,就是直接点亮,所谓静态点亮;还要学会用复杂方法点亮发光二极管和数码管,欺骗我们眼睛的动态扫描方法。我们将提供完整的程序,同学们在1~3个小时的学习过程中,可以完全模仿出我的程序。本课程的数码管学习方法和绝大部分课程不同,效率高。将在视频中展示完整的程序,请同学们自己录入电脑。培养你们正确格式习惯,你们在敲代码的过程中大概率会出错,纠错是很好的学习过程。
2.1 GPIO初始化,Stc单片机口线功能介绍。
2.2 大循环软件详解,点亮发光二极管。
2.3 软件输入编译调试及下载过程
2.4 走马灯程序。
2.5 大循环软件,遍历数码管。
2.6 视觉残留和动态扫描程序
数码管上显示任意数。
课时目标:这一讲是所有单片机课程都讲到的数码管动态显示程序,我们在这一讲中要学会用数码管显示任意数字,数码管也可以显示有限的英文字母和符号。
3.1数码管译码表生成
3.2显示缓存区的用法。
3.3将任意整数在数码管上显示。
3.4显示十六进制整数
3.5在数码管上显示带符号整数。
3.6在数码管上显示时钟,不同的译码。
3.7用于作业的演示视频,数码管表演(慕课互评1)
怎样产生秒基准?
课时目标:我们要用单片机的定时器了。定时器可以提供精确的时间信号。单片机定时器的原理非常复杂,好在我们是要用它,定时器原理怎么样我们并不感兴趣。我们所选用的这个单片机的定时器比古老的8051单片机定时器好用很多,功能也强了很多。要用好定时器,简单到粘贴复制。我们这次还要学会中断的概念。实际上我们的大脑常常被中断,概念很简单,记住中断服务程序是MCU自动调用的(条件满足的情况下),程序员不可以调用中断服务程序。这一讲学完,我们已经做成了一个会走的钟,比较准,但是还没法调时间。
4.1中断概念和中断服务程序。
4.2 50毫秒定时中断闪灯。
4.3利用定时器获得秒基准。
4.4利用定时器和数码管显示程序,获得秒表。
4.5利用数码管和定时器秒基准获得时钟。
单片机感受外部逻辑电平的变化。
课时目标:在这一讲中,单片机需要感受外部的逻辑电平,同时利用外中断感知或者捕获外部电平的突变,而不需要一直查询。本讲中还要给大家介绍一个重要的单片机程序框架就是大循环框架。所有的人机交互都用这个框架实现。这一讲学完你的钟可以设置时间了,更接近商品时钟了。
5.1任意引脚的输入状态采集
5.2人机交互模板
5.3交互模板应用-可调时钟
5.4交互模板应用-秒表
5.5外中断0记录键盘抖动。
5.6中断标志位和挂起中断
5.7用于作业的百分之一秒秒表演示(慕课互评2)
单片机和DS1302时钟芯片接口。
课时目标:我们发现上一讲我们做的时钟电断了以后时间没有了,得重新调。这一讲我们就来解决这个问题。这一讲中我们用到了时钟芯片DS1302,这个时钟芯片就是用板子上的小电池,配合电子手表上通用的晶体振荡器,可以精确走时,电池可以工作几年的时间。单片机会在通电以后读取时钟芯片内部的基准时钟信号,这时候单片机内部定时器就不用做秒基准了。本机这时候需要控制外围设备了。我理解学生的需求,最好马上把1302用上去,我们马上满足,一开始就展示软件。
6.1 读写1302芯片中的时间
6.2 改进1302时钟软件
6.3 DS1302数据手册和代码精讲
6.4 DS1302时间存储方式
线下作业:三按钮调节时间-多了设置按钮,按设置才可以调时间
演示程序详解
课时目标:这一讲中我们仍然用人机交互的大循环模板,为大家详解第一讲出现的程序,首先是16进制和二进制的显示,然后讲解BCD码演示,当你们熟悉了二进制,才可以一眼读取二进制方式显示的数值,颇有极客风范。呼吸灯,数码管亮度调节和数据存储方式的学习,可以提高同学们的C语言实力。
7.1第16节十六进制和二进制对照表详解
7.2第16节16进制和BCD对照表详解
7.3十进制和BCD码对照演示
7.4C语言中char的存储方式
7.5数码管亮度调节
7.6呼吸灯详解
单片机与传感器接口
课时目标:传感器是单片机和外部世界的接口,我们学过的按钮也是传感器,我们这讲引入声音传感器,启动芯片内部的AD(模拟量转数字量)转换器基本使用方法和特殊寄存器设置。
8.1声音传感器-话筒
8.2单片机声控走马灯
8.3用声音传感器作为人机交互接口,模拟量测试记录
展开全部
预备知识

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语言开发相比效率极其低下,好比高铁和绿皮火车的关系,汇编语言在二三十年前就被市场淘汰了。

这类教材显然目标跟手段背离了。


显示全部
华东师范大学
1 位授课老师
毛敏

毛敏

副教授

推荐课程

彭凯平教积极心理学

大渔大师课

257人参加

彭凯平教情绪心理学

大渔大师课

75人参加
下载
下载

下载App