资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机 C 语言案例教程教学指南一 本书的特色和教学目标本书是中职学校电子专业的单片机基础教材。特色在于全书以“案例+项目”的形式展开,由 26 个案例和 5 个项目组成。案例为项目的前导,即用“案例”来验证单片机原理,用“项目”来突出单片机应用。案例设计由浅到深,步步推高;项目设计贴近学生生活和学生兴趣,具有学习价值和使用价值。本教材的教学目标,就是要激发和引导学生亲手完成基于单片机的电子钟及温度计项目、LED 汉字显示屏项目设计,让学生在整个学习过程中学习知识和享受成功,从而基本掌握 MCS-51 单片机的应用和开发技术。二本书的内容和参考学时全书内容共 13 章,参考学时为 120 课时,一学期完成全部教学任务。课时分配见下表,其中,实训时间占三分之二。章序 内容 参考学时第 1 章 单片机基础 12第 2 章 C 语言基础 12(都不上机)第 3 章 用数码管模拟的循环灯 12第 4 章 中断资源的应用编程 8第 5 章 日历时钟 DS1302 的应用编程 6第 6 章 AT24C02 的应用编程 6第 7 章 DS18B20 的应用编程 6第 8 章 含时控功能兼温度显示的电子钟项目设计 6第 9 章 1616 点阵 LED 汉字显示屏项目设计 6第 10 章 使用片内 EEPROM 存储器 6第 11 章 单片机与 PC 机间的串行通信 6第 12 章 单片机片外数据存储器的扩充 8第 13 章 A/D 转换与 D/A 转换简介 6机动 22合计 120三 各章教学提要、要求及建议第 1 章 单片机基础教学重点:1 Keil 软件的启动及工程文件的建立。2 源程序的编辑、存盘和加入工程操作。3 编译选项的设置要点。4 编译信息窗口的提示信息要点。 5 下载程序中的 MCU 选择和 COM 口选择。6 下载程序的打开操作。7 案例 6 源程序的程序架构。8 for 循环的工作过程。教学难点:1 案例 6 源程序的逐行分析。2 文件包含命令的功用。3 REG51.h 头文件的作用教学建议:第 1 章的主要任务是激发学生学习单片机的兴趣和信心。应让学生从组装单片机学习板起步学单片机,这是因为单片机学习板的组装非常简单,能实现一装就成的首战告捷效果,从而能让学生打破对单片机的神秘感,产生“我也能玩转单片机”的自豪感。第一节单片机课用来进行引入学习兴趣和学习信心教学,即首先演示单片机学习板的电子钟及温度计功能和 LED 汉字显示屏功能,用赏心悦目的效果来打动学生的学习之心,并用程序下载操作向学生展示单片机的应用之妙在于程序设计,借此向学生暗示单片机技术的精髓在于对单片机编程,以此鼓动学生的编程志向。同时,在第一节课还要向学生展示单片机学习板的组成元件,如MCU、数码管、三极管和其余集成块、印刷电路板等,说明安装步骤和注意事项。第二四节课(含课外时间)用来组装和验收学生焊接组装的单片机学习板,验收的标准就是要能正常进行程序下载。后面 8 学时就按教材内容讲解及上机编程和下载验证。本章第 7 节“REG51.H 头文件简介”可安排为学生阅读内容。教学内容及基本要求:1.1 单片机是一块集成电路芯片本节主要利用实物说明 MCU 芯片的外形外貌、内部组成、引脚排列、I/O功能。1.2 用单片机芯片组成单片机应用系统本节主要介绍单片机学习板的电路图和印板图,重点要理清四位数码管的连接电路,掌握每位数码管的显示条件,为对数码管编程打下电路基础1.3 对单片机编程以实现单片机系统的功能本节一是要说明单片机的所有功能都完全靠写入它的程序来决定,二是要介绍第 1 个案例的源程序组成和两个赋值语句的功能及对数码管显示所起的作用。1.4 把程序写入单片机芯片的操作平台和操作步骤这一节是第 1 章的重点内容,是单片机学习开发的基础的基础。学生能够且必须掌握用这两个软件来对单片机编程的操作步骤。1.5 从数码管显示学单片机编程1.5.1 案例 2:数码管上的“8。8。 ”显示本小节主要是在前例基础上增加语句来增加效果,借此说明语句的效能。1.5.2 案例 3:被动形式的“8051”显示本小节主要指出,在本学习板中,四位数码管的显示一般不能四位同时实现,即不可能在第一位显示8的同时又让第二位显示0 ,只能按位分时轮流显示。即若要显示“8051” ,只能是先让第一位显示8而其余三位关断,再让第二位显示0而其余三位关断,再让第三位显示5而其余三位关断,最后让第四位显示1而让其余三位关断。15.3 案例 4:主动形式的“8051”显示本小节主要说明把一程序段嵌入一循环结构的语法形式和产生的效果。15.4 案例 5:模块化的“8051”显示本小节主要说明单片机 C 语言程序要把程序分成由一个 main 函数和若干个“子函数”来组成才能高效才好发展。1.5.5 案例 6:实用型的“8051”显示本小节指出用调用延时函数 Delay 来相对增加每位数码管的显示时间,其知识点是函数的嵌套调用和 for 语句的要点。1.6 案例 6 源程序的阅读要点本节是第 1 章的难点,主要是引导和帮助学生一行一行地去阅读单片机C 语言程序,务必要让学生多看多理解多提问,其中 for 语句是难点中的难点。1.7 REG51.h 头文件简介本节要给学生说明,在程序中单片机中的所有特殊功能寄存器本来都是用地址来引用的,为方便编程,可用符号地址来引用,但需要将符号定义到地址上。 “REG51.h”就是用来给各特殊功能寄存器定义符号地址的文档,因此要在程序的开头写上预处理命令“#include”reg51.h”这一行,从而我们可省去由我们去定义的相关编程工作。另外,在后面的各源程序分析中,对首次出现的特殊功能寄存器符号,都可让学生从这个头文件中,去查出这个符号所代表的地址,以加深对这个头文件的理解。第 2 章 C 语言编程基础教学重点:1 C 语言程序的组成结构2 C 语言的字符集、标识符、关键字和语句3 C 语言的整型数据、字符型数据,C 51 扩 充 数 据 类 型4 C 语言中的变量类型5 算术运算符与算术表达式6 赋值运算符与赋值表达式7 关系运算符和关系表达式8 逻辑运算符与逻辑表达式9 位运算符与位运算表达式10 逗号运算符与逗号表达式11 程序的三种基本结构12 if 语句、if-else 语句、if-else-if 语句、switch 语句13 for 语句、while 语句,do-while 语句,break 语句和 continue 语句,循环嵌套14 一维数组的定义和引用,二维数组的定义和引用、变量和数组的存储器类型15 函数的定义和调用16 函数调用的方式17 全局变量和局部变量教学难点:1 for 语句的执行规则2 C51 的 扩 充 数 据 类 型3 关系运算和逻辑运算4 一维数组的定义和引用,二维数组的定义和引用5 变量和数组的存储器类型6 if 语句的嵌套7 for 语句的嵌套8 有参函数的定义和调用9 函数的嵌套调用10 函数的表达式调用教学建议:本章的内容全部为 C 语言编程知识,是全书的难点。把这些知识集中到这一章来学习,其目的只是为了让后面的各案例可集中精力去分析源程序的程序架构和函数功能,从而突出其案例程序的主要思路和主体构成。因此,本章的学习就作为C 语言知识点的集中介绍来处理,只需点到为止,不必展开。后面学习中需要用这些知识来说清所遇问题时,再返回来从理论和实践相结合的层面上使用这些知识,能帮助学生理解看懂后面各案例中的源程序即可。教学内容及要求:2.1 C 语言程序的组成结构和运行机制了解 C 程序的一般组成:预处理部分、全局变量定义部分和函数定义部分;了解程序的运行时各函数间的调用及返回路线。2.2 C 语言的字符集、标识符、关键字和语句掌握标识符的组成规则,语句的结束标志。2.3 C 语言中的数据类型了解数据类型展开图2.4 常量和变量掌握常量和变量的定义2.5 整型数据2.5.1 整型常量掌握“0X”的表示含义2.5.2 整型变量掌握用“usingned int”定义的变量的表示范围和用“int”定义的变量的表示范围。2.6 实型数据2.6.1 实型常量一般了解2.6.2 实型变量一般了解2.7 字符型数据掌握用“usingned char”定义的变量的表示范围。2.8 C51 扩 充 数 据 类 型掌 握 用 “sbit”、 “sfr”定 义 的 变 量 的 特 性2.9 运算符与表达式2.9.1 算术运算符与算术表达式掌握各种算术运算的含义和法则2.9.2 赋值运算符与赋值表达式掌握赋值运算的功能、+a 与 a+的区别2.9.3 关系运算符和关系表达式掌握各种关系运算的运算法则2.9.4 逻辑运算符与逻辑表达式掌握各种逻辑运算的运算法则2.9.5 位运算符与位运算表达式掌握各种位运算的运算法则2.9.6 逗号运算符与逗号表达式了解2.9.7 运算符的优先级和结合性了解2.10 程序的三种基本结构掌握程序的三种基本结构及其流程图2.11 选择结构2.11.1 if 语句掌握其一般形式、流程图和执行规则2.11.2 if-else 语句掌握其一般形式、流程图和执行规则2.11.3 if-else-if 语句了解内容2.11.4 switch 语句了解内容2.11.5 选择结构要点小结掌握其要点2.12 循环结构2.12.1 for 语句掌握其一般形式、流程图和执行规则2.12.2 while 语句掌握其一般形式、流程图和执行规则2.11.3 do-while 语句掌握其一般形式、流程图和执行规则2.12.4 break 语句和 continue 语句掌握这两个语句的功能和区别2.12.5 循环嵌套掌握二重循环的一般形式和流程图2.13 数组2.13.1 一维数组的定义和引用掌握定义一维数组的一般形式和引用数组元素的基本方法2.13.2 二维数组的定义和引用掌握定义二维数组的一般形式和引用数组元素的基本方法2.14 变量和数组的存储器类型 掌握用 data、bdata、idata、xdata 和 code 来定义数组的相应特点和区别。2.15 函数的定义和调用2.15.1 系统库函数掌握其定义2.15.2 用户自定义函数掌握其定义2.15.3 函数的定义掌握无参数函数定义的一般形式;掌握有参数函数定义的一般形式。掌握函数的类型的概念2.15.4 函数调用的方式掌握无参数函数调用的一般形式;掌握有参数函数调用的一般形式。2.15.5 全局变量和局部变量掌握全局变量的定义和特点;掌握局部变量的定义和特点。掌握用全局变量在函数间传递数据的方法。第 3 章 用数码管模拟的循环灯教学重点:1 笔段码的确定方法2 位置码的确定方法3 数码管显示函数的分段运作设计教学难点:1 用位运算来影响位置码的技巧2 递减数列的实现方法3 递减越界的检查及处理教学建议:因本教材设计的是不用仿真器的单片机学习方式,因此,本章特地安排了 6 个借助于数码管显示的案例来让学生练习单片机程序设计,用数码管显示的直观性来检查程序的运行效果。要从这 6 个案例中总结出灵活使用数码管的笔段码和位置码的常用技巧和一般方法,特别要注意如何根据数码管的显示步骤,来设计程序执行的运作步骤,即把数码管显示过程的每一环节(步骤) ,都能用一组语句(一段代码)来实现。教学内容及要求:3.1 并驾齐驱的跑马灯掌握根据所要显示笔段来确定其相应的笔段码的计算方法。理解源程序每一行代码的作用。3.2 迈步边关的巡逻灯掌握根据所要显示的笔段,来确定其相应的笔段码的计算方法;掌握根据笔段显示所在的管位,来确定其对应的位寻址变量的赋值。理解源程序每一行代码的作用。3.3 大江东去的流水灯掌握根据所要显示的笔段,来确定其相应的笔段码的计算方法;掌握根据笔段显示所在的管位,来确定其对应的位寻址变量的赋值。理解源程序每一行代码的作用。3.4 孔雀开屏式循环灯掌握
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号