单片机C语言案例教程教学指南

单片机C语言案例教程教学指南
单片机C语言案例教程教学指南

单片机C语言案例教程教学指南

一本书的特色和教学目标

本书是中职学校电子专业的单片机基础教材。特色在于全书以“案例+项目”的形式展开,由26个案例和5个项目组成。案例为项目的前导,即用“案例”来验证单片机原理,用“项目”来突出单片机应用。案例设计由浅到深,步步推高;项目设计贴近学生生活和学生兴趣,具有学习价值和使用价值。

本教材的教学目标,就是要激发和引导学生亲手完成基于单片机的电子钟及温度计项目、LED汉字显示屏项目设计,让学生在整个学习过程中学习知识和享受成功,从而基本掌握MCS-51单片机的应用和开发技术。

二本书的内容和参考学时

全书内容共13章,参考学时为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语言的整型数据、字符型数据,C51扩充数据类型

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.1

3.1一维数组的定义和引用

掌握定义一维数组的一般形式和引用数组元素的基本方法

2.1

3.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孔雀开屏式循环灯

掌握根据所要显示的笔段来确定其相应的笔段码的计算方法;掌握根据笔段显示所在的管位,来确定其对应的位寻址变量的赋值。理解源程序每一行代码

的作用。

3.5 奔腾不息的”8051”

掌握根据所要显示的笔段来确定其相应的笔段码的计算方法;掌握根据笔段显示所在的管位来确定其对应的位寻址变量的赋值;掌握用位运算来实现对位置

码的再控制。理解源程序每一行代码的作用。

3.6 9999倒数数的数码管显示

理解用数组元素来形成笔段码的灵活性和优越性;掌握用循环来产生递减数列的技巧。理解源程序每一行代码的作用。

第4章中断资源的应用编程

教学重点:

1 计算机中的中断概念

2 引入中断机制的目的

3 5个中断资源的名称

4 两个中断控制寄存器的名称

5 EA、ES、ET1、EX1、ET0、EX0的定义

6 中断优先级的概念和5个中断源的标准顺序

7 特殊功能寄存器TCON和TMOD的作用和编程要领

8 中断服务函数定义的一般形式

9 定时器/计数器的计数次数与其计数初值的关系。

教学难点:

1 定时器/计数器工作时,TH0、TL0和TH1、TL1的初值计算

2 特殊功能寄存器TCON和TMOD的作用和编程要领

3 定时器中断和计数器中断串接使用的目的

教学建议:

中断资源是单片机性能的重要组成部分。中断编程是初学者要尽快掌握的基本知识,首先应理解和掌握中断机制的作用和意义,要掌握5个中断资源的名称和使

其产生中的事由,要掌握两个控制中断的寄存器的名称和作用。首先要讲清对IE

和IP的编程要领,有此基础上就好讲清对TCON寄存器的编程要领,困难的是对

TMOD的编程要领。在案例13、案例14中,要对单片机正常程序运行的状况是什

么,中断程序运行的状况是什么,中断产生的条件是什么等了如指掌。在案例15

中,要了解定时器中断所起的作用是什么,在案例17中,要明确把定时器中断和

计数器中断串接使用的目的是什么。

教学内容及要求:

4.1 中断的概念

掌握中断的概念和引入中断机制的目的

4.2中断允许寄存器IE和中断优先级寄存器IP

4.2.1中断允许寄存器IE

掌握IE中EA、ES、ET1、EX1、ET0、EX0各位的含义和编程要领。

4.2.2中断优先级寄存器IP

掌握中断优先级的概念,掌握中断优先级的标准顺序,掌握IP中PS、PT1、PX1、PT0、PX0的定义和编程要领。

4.3 定时器/计数器简介

4.3.1 定时器/计数器体系结构示意图

掌握定时器/计数器的硬件结构。

4.3.2 特殊功能寄存器TCON

掌握TCON寄存器中各功能位的定义和编程要领。

4.3.3特殊功能寄存器TMOD

掌握TMOD寄存器中各功能位的定义和编程要领。

4.4用外中断INT1操作插曲显示

掌握源程序的程序架构和函数调用路线,掌握中断服务函数的定义,掌握对IE寄存器的编程要领,理解源程序每一行代码的作用。要对本案例正常程序运

行的显示是什么,中断程序运行的显示是什么,中断产生的条件是什么,中断返

回的规律等了如指掌。

4.5中断插曲的中断插曲显示

掌握源程序的程序架构和函数调用路线,掌握中断服务函数的定义,掌握源程序的程序架构和函数调用路线,掌握中断服务函数的定义,掌握对IE寄存器

和IP寄存器的编程要领。理解源程序每一行代码的作用。要对正常程序运行显

示、外中断1服务函数运行显示、外中断0服务函数运行显示了如指掌。要掌握

中断返回的规律和中断嵌套的条件。

4.6 基于定时器中断的数字钟

掌握源程序的程序架构和函数调用路线,掌握中断服务函数的定义,掌握对IE寄存器和IP寄存器及TMOD寄存器的编程要领。理解源程序每一行代码

的作用。掌握定时器0在本案例中的作用。掌握用差值来设置定时器初值的方法。

4.7基于计数器中断的中断插曲

掌握源程序的程序架构和函数调用路线,掌握中断服务函数的定义,掌握对IE寄存器和IP寄存器及TMOD寄存器的编程要领。理解源程序每一行代码

的作用。掌握计数器0在本案例中的计数和中断作用。理解用差值来设置计数器

初值的道理。

4.8 定时器T1与计数器T0的串接使用

掌握源程序的程序架构和函数调用路线,掌握中断服务函数的定义,掌握对IE寄存器和IP寄存器及TMOD寄存器的编程要领。理解源程序每一行代码

的作用。明确定时器1与计数器0串接使用的目的(形成更长的定时时间)。

第5章日历时钟DS1302的应用编程

教学重点:

1 DS1302各引脚功能描述.

2 DS1302与单片机的连接要点.

3 单片机读写DS1302的操作时序

4 DS1302中各寄存器的功能描述

5 读写DS1302的专属函数体系

6 借助专属函数从DS1302读取时间信息的函数调用路线图.

7借助专属函数把时间信息写入DS1302的函数调用路线图

8 秒点闪烁的算法设计

教学难点:

1单片机读写DS1302的操作时序,

2借助专属函数从DS1302读取时间信息的函数调用路线图.

3借助专属函数把时间信息写入DS1302的函数调用路线图

教学建议:

随着源程序体系的变大,对源程序的掌握和理解,要放在程序的架构层面

上和调用观念上,即可以对主要是供调用的器件专属函数不作过多分析,只要掌

握其调用参数和返回值的使用即可。

教学内容及要求:

5.1日历时钟DS1302简介

掌握DS1302的引脚功能和在学习板中与单片机的连接要点,了解对DS1302的操作时序。

5.2对DS1302的写读程序设计

掌握读写DS1302的专属函数的组成体系。

5.2.1 最底层的按位写读函数

了解按位写读函数中对总线(SCLK、RST)置0置1操作与对DS1302的操作时序的对应关系。

5.2.2 对DS1302的字节写读函数

了解按位写读函数中对总线(SCLK、RST)置0置1操作与对DS1302的操作时序的对应关系。

5.3基于DS1302的实用电子钟

掌握源程序的程序架构和函数调用路线,学会借助DS1302的专属函数来实现读写DS1302的函数调用手段,学会用外中断来处理突发性事项。

第6章AT24C02的应用编程

教学重点:

1 双总线器件与单片机的连接要点。

2 双总线器件的固定地址和器件地址

3 双总线器件的操作时序

4 AT24C02的引脚功能

5 AT24C02的读写专属函数

6 AT24C02专属函数的调用

教学难点:

1 双总线器件的固定地址和器件地址

2 双总线器件的操作时序

3 AT24C02的读写专属函数的组成体系

教学建议:

把双总线器件的操作时序作为了解内容,即能大体知道AT24C02的读写专属函数中,对双总线的置0置1,就是为了形成操作时序即可。

教学内容及要求:

6.1 I2C总线简介

6.1.1 I2C总线接口

掌握本学习板中,A T24C02与MCU的连接要点。

6.1.2 I2C器件的地址

掌握固定地址和器件地址的概念及器件地址的设定方法。

6.1.3 对I2C器件进行数据传送的操作时序

了解操作时序与A T24C02专属函数中对双总线置0置1的联系。

6.2 A T24C02简介

6.2.1 A T24C02引脚图

掌握其引脚图。

6.2.2 读写AT24C02的专用函数

掌握其专用函数的组成体系。

6.3 AT24C02应用编程

掌握AT24C02专用函数调用时的参数确定方法和返回值的使用方法,掌握源程序的程序架构和函数调用路线。

第7章DS18b20的编程应用

教学重点:

1 单总线器件与单片机的连接要点

2 DS18B20的引脚图

3 DS18B20内部寄存器的地址分配

4 DS18B20的功能操作码

5 DS18B20的读写操作时序

6 DS18B20的读写专属函数组成体系

7 DS18B20专属函数的调用特点和方法

教学难点:

1 DS18B20内部寄存器的地址分配

2 DS18B20的读写操作时序

3 关于对单总线赋0值赋1值与DS18B20的读写操作时序的内在联系

教学建议:

只要求了解对单总线赋0值赋1值是为了形成相应的操作时序,不要对底层专属函数作定量分析,能调用DS18B20的专属函数,读取DS18B20的温度数据即可。

教学内容及要求:

7.1 DS18b20使用简介

7.1.1 DS18b20的外形及与单片机的接口

掌握DS18B20引脚定义,掌握DS18B20与单片机的连接要点。

7.1.2 DS18b20的内部结构和操作指令

掌握DS18B20内部寄存器的地址,掌握0x44、0xbe、0Xcc等指令码的功能。

7.2 对DS18b20的操作时序和读写专用函数

7.2.1 对DS18B20的操作时序

了解操作时序的具体规定。

7.2.2 关于DS18B20的读写专用函数

掌握专属函数的组成体系。

7.3 DS18b20的应用编程

掌握案例源程序的程序架构和函数调用路线,掌握DS18B20的专属函数的调用方法。

第8章含时控功能兼温度显示的电子钟项目设计

教学重点:

1 本项目的功能设计

2 本项目的组成器件

3 本项目的程序构成

4 本项目的源程序分析

教学难点:

1 本项目的程序构成

2 本项目的源程序分析

教学建议:

引导学生讨论,怎样才能实现,在单片机学习板上,让基于DS1302的单片机电子钟和基于DS18B20的电子温度计各自轮流显示一定的时间,要把这个问题拉近到定时器中断上;再提出另一问题,怎样让电子钟实现闹钟功能,要把这个讨论引到利用延时函数上:在消极的延时中进行积极的当前时间检查,并根据检查结果对某I/O 引脚置0或置1。

教学内容及要求:

8.1 项目功能说明和项目设计要点

掌握本项目的功能设计;掌握本项目的器件组成:有三总线器件、有双总线器件、有单总线器件。掌握本项目的程序整合要点。

8.2 项目源程序

掌握源程序的程序架构和函数调用路线。

8.3 项目源程序设计要点分析

掌握项目源程序中三类总线器件的专属函数调用方法,掌握四个中断资源的应用目的,掌握在原延时函数中加入时间检查的编程技巧。

第9章16×16点阵LED汉字显示屏项目设计

教学重点:

1 本项目效果说明

2 16×16点阵LED汉字显示屏电原理图

3 74HC138在汉字显示屏电路中的作用

4 74HC595在汉字显示屏电路中的作用

5 16×16点阵LED汉字显示电路板与单片机学习板的连接要点

6 汉字字模及其存储格式

7 汉字显示屏驱动程序

8 汉字字模文件的建立方法

教学难点:

1 16×16点阵LED汉字显示屏电原理图

2 汉字显示屏驱动程序及分析

3 汉字字模文件的建立

教学建议:

教师必须制作16×16点阵LED汉字显示屏一块或多块,除了作为教具使用外,还要提供给学生,以验证学生学习板上的汉字显示驱动程序效果。

教学内容及要求:

9.1 16×16点阵LED汉字显示屏电原理图

掌握电路中所有元件的名称和作用,掌握显示屏电路板与单片机学习板的连接要点。

9.2 74HC138功能简介

掌握74HC138的功能和在显示屏电路板中的作用。

9.3 74HC595功能简介

掌握74HC595的功能和在显示屏电路板中的作用。

9.4 汉字字模在二维数组中的存贮格式

了解汉字字模的作用

9.5 16×64点阵LED汉字显示屏项目源程序

9.5.1 16×64点阵LED汉字显示屏源程序

掌握源程序的组成

9.5.2 项目源程序要点分析:

掌握源程序中点阵文件包含的编程技巧,掌握四重循环的运作功能,掌握移位时钟SCK、锁存时钟RCK的产生方法

9.5.3 字模数据文件的文本内容

掌握字模文件的建立方法。

第10章使用片内EEPROM存储器

教学重点:

1 IAP和ISP的含义

2 片内EEPROM读写专属函数的组成体系

3片内EEPROM读写专属函数的调用

教学难点:

1 IAP和ISP的含义

2 片内EEPROM读写专属函数的组成体系

3片内EEPROM读写专属函数的调用

教学建议:

在程序中直接套用深圳宏晶公司的技术资料,就可实现对片内EEPROM的编程,即对片内EEPROM的读写专属函数,可不求甚解,只求能用。

教学内容及要求:

10.1 IAP和ISP简介

掌握IAP和ISP这两个术语的含义

10.2 IAP技术的接口函数

掌握片内EEPROM的读写专属函数的组成体系。

10.3 片内EEPROM编程案例

掌握使用片内EEPROM的专属函数,去读写片内EEPRM的具体方法。

10.4 用片内EEPROM取代电子钟项目中的AT24C02

掌握读写AT24C02和读写片内EEPROM的共性和差别,主要差别就在于对片内EEPROM的写入要复杂得多,一是写入前先要擦除该扇区,二是要按扇区来写

入数据。

第11章单片机与PC机的串行通信

教学重点:

1 计算机串行通信的特点

2 RS-232中关于“1”和“0”的表示方法

3 RS-232通信电平与单片机通信电平间的转换

4 单片机和PC机进行串行通信的协议

5 PC机串行通信程序的设计要点

6 单片机串行通信程序的设计要点

7 单片机串行口控制器SCON各控位的功能定义

8 与波特率相关的自动重装初值的定时器T1设置要点

9 PC机COM1口中与串行通信有关的寄存器设置

教学难点:

1 波特率的计算

2与波特率相关的自动重装初值的定时器T1设置要点

3 PC机串行口串行通信相关寄存器的设置

教学建议:

避开波特率的有关计算,直接使用具体数据进行有关设置,使双方的通信协议得以满足,从而迈出串行通信的第一步。

教学内容及要求:

11.1 RS-232C串行通信简介

了解RS-232串行通信的特点,掌握用MAX232实现的串行通信电平转换电路。

11.2 单片机与PC机的串行通信案例

11.2.1案例设计方案

掌握案例中双方通信数据的观查要点

11.2.2 案例源程序

掌握以波特率为1200时,单片机中有关寄存器的具体设置及PC机串行口相关寄存器的具体设置。

第12章单片机片外数据存储器的扩充

教学重点:

1 扩充片外数据存储器HM62256的具体电路连接图。

2 74HC573的功能

3 片外随机存储器的使用要点

4 扩充片外数据存储器W29C020的具体电路连接图

5 对W29C020编程(写入数据)的具体方法

6 绝对地址访问外部存储器的一般形式

教学难点:

绝对地址访问技术

教学建议:

由于要另外焊接电路板,且HM62256和W29C020对学生现时并不实用,因此应是教师制作一块教具,以供学生轮流验证,片外数据存储器扩充板可以W29C020为主(32DIP插座),兼顾HM62256(28DIP插座),用杜邦线来对扩充板和单片机学习板进行连接。

教学内容及要求:

12.1 HM62256存储器的扩充及使用案例

12.1.1HM62256存储器的扩充

掌握扩充片外数据存储器的基本方法,掌握74HC573的地址锁存功能,掌握扩充板与单片机学习板的电路连接要点。

12.1.2 HM62256存储器的使用

掌握用“xdata”存储器类型来使用片外随机存储器的基本方法。

12.2用HM62256存储汉字字模案例

理解用“汉字显示屏”程序和“HM62256案例”程序及“串行通信程序”

来综合和调整,以实现程序升级的思路和具体办法。

12.3 W29C020存储器的扩充和使用案例

12.3.1 W29C020存储器的扩充

掌握单片机扩充W29C020片外存储器的电原理图

12.3.2 W29C020存储器的使用

掌握对W29C020的编程步骤,掌握用绝对地址访问函数实现对W29C020读写的基本方法。

12.4 用W29C020存储字模的LED汉字显示屏项目设计

掌握根据器件操作特性,把原器件程序改为新器件程序的思路和具体方法。

第13章A/D转换与D/A转换简介

教学重点:

1 A/D转换与D/A转换的含义

2 ADC0809的引脚图

3 ADC0809与单片机的接口电路

4 关于ADC0809的引用地址

5 关于ADC0809的转换启动与地址锁存

6 关于ADC0809的查询与读取

7 DAC0832的引脚图

8 DAC0832与单片机的接口电路

9 关于DAC0832的引用地址

10 DAC0832的直通转换方式

教学难点:

1 ADC0809的引用地址

2 ADC的转换编程

3 DAC0832的引用地址

4 DAC0832的转换编程

教学建议:

由任课教师按ADC0809与单片机的接口电路和DAC0832与单片机的接口电路安装好实验电路板,供学生轮流上机验证模数转换和数模转换的相应结果。

教学内容及要求:

13.1 A/D器件ADC0809简介

了解ADC0809的引脚功能

13.2 ADC0809的使用接口与编程

掌握ADC0809的引用地址的确定方法,掌握ADC0809与单片机的接口电路,掌握案例程序中对ADC0809的三个编程语句。

13.3 D/A器件DAC0832简介

了解DAC0832的引脚功能

13.4 DAC0832的使用接口与编程

掌握DAC0832的引用地址的确定方法,掌握DAC0832直通方式下与单片机的接口电路,掌握案例程序对DAC0832的编程语句。

单片机课程教学案例

单片机课程教学案例 单片机是一门综合性、实践性极强的课程,通常分为理论教学与实践教学两部分。由于单片机的概念多、专有名词多,内容抽象,指令丰富,且软、硬件发展很快,新器件不断,故相当多数量的学生在学习单片机时感到郁闷,实际使用不知如何下手,不能真正掌握单片机技术。因此,如何安排教学内容,使学生既能了解新技术又能对单片机的应用技术融会贯通;如何设计教学方法,激发学生的学习兴趣,真正理解和掌握单片机技术,是在单片机教学中需要解决的问题。针对教学对象的特点和课程特点,我们提出了“边学边干、边干边学、理论指导实践、实践带动理论”的教学理念,以达到“精理论、重实验、会设计”的人才培养效果。 “精理论”,精化理论教学内容。从职业能力分析入手,确定教学的要求和知识点、突出课程的基本内容,精选、精讲、精练基础理论、基本概念、基本分析方法。在保证“必需、够用、管用”的原则下,坚决砍掉那些陈旧,与其他相关课程有重复或过于繁琐数学推导部分。吸收一些代表现代水平的新观点、新理论、新技术、新器件、新方法等内容,真正实现“厚基础”、“宽口径”的教学要求。 “重实验”,建立“干中学”的思路,以任务驱动学生学习潜能和兴趣,改进实验内容和方法,变单一验证性实验为多类型实验,即有仿真型又有验证型、设计型和综合型。使学生在实验课上由被动转为主动,不再是依葫芦画瓢,培养他们严谨的科学作风,在最大程度上掌握所学知识,并学以致用。

“会设计”,增设单片机课程设计,以选题的综合性和先进性为出发点。训练和提高学生综合素质,学会设计思路和方法。借鉴电子设计竞赛的经验,引入一定数量的综合性较强的电子综合系统设计的内容。 下面以单片机定时器一节为例,介绍如何安排教学以体现我们所提倡的教学理念,并达到所期望的教学效果。 授课题目:第五章单片机定时器/计数器与中断系统 第一节单片机的定时器/计数器 课时安排:1学时 授课类型:理论课 教学方式:讲授、讨论 教学资源:多媒体、实物、黑板 教学目的:知识目标--理解51单片机的计数功能、定时功能,预置数的意义;掌握计数初值的计算方法,定时器/计数器的工作方式以及相关的寄存器。 能力培养目标--培养学生学习单片机的主动性,提高动手能力,发展分析和解决利用单片机计数器/定时器进行应用设计过程中出现的问题的能力。 情感目标—激发学生强烈的求知欲,培养学生的积极探索、勇于创新的精神和工程意识。

c语言课程设计成绩记录簿

合肥学院 计算机科学与技术系 课程设计报告 2012~2013学年第二学期 课程面向过程综合设计 课程设计名称C语言成绩簿 学生姓名 学号 专业班级 指导教师 2013年6月

第一章需求分析 1.1 任务要求: 编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息(可选项)。 1.2任务问题: 如何运用我们已学的c语言知识完成要求?如何制作相应界面?switch的应用该如何实现?如何完成相应的数组或链表的实现与应用?怎样进行相应的文件的读写? 1.3任务的解决步骤: 步骤: 1.建立一个主界面。 2.用switch语句进行分类讨论。 3.分别进入录入,查询,修改,学生分数段统计等子函数。 4.将子函数与主函数相连即可。

第二章算法设计 1、设计思想 2.1 程序结构(流程图)

2.2 重要的数据结构

2.3主要算法思想(文字描述) 本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创建、输入、输出、查找、修改等。我设计的这个通讯录系统也初步实现了人员信息的显示、修改、查找、等必要的功能,并通过子函数与主函数相连来完成相应的功能。 2.设计表示 int Student_Insert( ); (添加学生成绩) void edit( ); (修改) void Student_Search( );(查找) void WriteFile( ); (写入文件) void ReadFile( ); (读取文件) void Student_Select( );(分数段选择) void PrintMark( );(打印学生分数) void NameChange( );(按姓名修改) void NumberChange( );(按学号修改) 3.实现注释 除了没有用链表进行实验的缺点外,基本可以实现任务要求,界面简洁,程序简单,易操作。 4.算法设计中一些新的想法: 本程序主要包含了结构体与动态变量的相关知识; 其中也多次用到了循环和判断结构; 本程序还可以通过子函数实现删除,排序等操作。用链表,指针也可以实现相应的任务要求。

【单片机原理与应用】课程教学总体设计

高等职业技术教育 《单片机原理与应用》课程教学总体设计 课程名称:《单片机原理与应用》课程编码:051071 适用专业:电气自动化技术 学时数:84其中:理论教学学时:54课内实训学时:30制定人:审核人: 一、课程基本信息 二、教学设计 (一)学习基础分析 (二)学习目标 (三)教学内容(含作业设计) (四)教学方法 三、考核与评价 (一)考核方式及成绩评定标准 (二)学习效果评价 四、其他 (一)参考教材、讲义、设备、网络等教学 资源 (二)其它需要说明事项 机电工程系 2008年8月18日

一、课程基本信息 1.课程名称:单片机原理与应用 2.课程类别:专业核心课 3.课程编码:051071 4.学时:84学时(理论教学54学时,课内实训30学时) 5.适应专业:电气自动化技术专业、电力系统设备及自动化方向专业 二、教学设计 (一)学习基础分析 高等数学、物理基础知识; 已经掌握电工技术、电子技术、低压电气设备、电机拖动技术、传感器技术、自动控制原理等相关内容与技能。 (二)学习目标 1.正确理解、学会使用MCS-51单片机。 2.理解并掌握MCS-51单片机的硬件结构和原理。 3.熟练使用MCS-51单片机的指令。 4.掌握MCS-51单片机的中断和定时系统。 5. 熟悉MCS-51单片机的系统扩展原理及方法。 6. 能熟练的应用MCS-51单片机指令编写简单的单片机程序。 7. 能跟据控制要求设计单片机控制系统,进行系统软硬件调试。 8.熟悉MCS-51单片机的开发环境。 (三)教学内容(含作业设计) 模块一:公共基础模块 教学内容实训与作业设计 ●微型计算机基础; ●单片机概述; ●计算机的数制与编码;●微型计算机的组成; ●单片机的主要特点; ●数制及其转换; ●作业1:通过搜集各种资料简述你所了解的微型计算机的应用领域; ●作业2:与同学们讨论:同一般的微型计算机相比,单片机具有哪些主要特点?应用在哪里?

单片机课程教学改革探讨

单片机课程教学改革探讨 长期以来,单片机教学在理论和实践方面的改革尝试均取得了一定的进步,但是还存在不少问题,例如理论和实践结合不强以及在应用上创新能力不足。因此,着重提出教学中突出以单片机应用系统为主线,着重培养学生在单片机课程中的创新能力,并提倡采用EDA等多种教学手段,以此来突出理论与实践的结合,同时 加强学生应用能力和创新能力的培养。 标签:单片机;教学改革;应用能力 0 引言 目前,单片机的应用已经相当广泛,在我们身边的很多电子产品中均可以发现它的存在,而且随着科技的进步,这些应用日新月异,创新性也变得越来越强。而单片机作为一门应用性课程进入我们的课堂,当然也具有应用性和实践性的特点。可以说,教学中注重理论和实践相结合是这门课程的重中之重,但是,在多年的教学过程中,这一点突出的还是不够的,有的教师甚至还仅仅停留在一些基础知识和基本原理的讲解上,而对其应用性视而不见,这就严重偏离了该课程的主干,我们在进行单片机课程的教学中通过不断改进教学方法,以及加强学生课内外的实验 能力和应用能力,特别总结出以下教学方法来提高教学质量。 1 教学内容的改革 长期以来,在单片机教学中,该课程常常将一些基本原理及系统各部件作为重点来介绍,但是却忽略了其系统性和整体性的重要作用。也就是说,很容易造成只见局部不见整体的不足,更重要的是这样做还使得学生感觉枯燥无味,无法形成单片机应用系统的清晰概念,甚至学习过后依然像没开过该课程似的,不知单片机究竟是什么。为了克服这些不足的地方,我们认为非常有必要对单片机课程的教学 内容做如下改革。 单片机的课程学习单从内容上,可以分为两大部分: 第一部分:单片机理论的学习,内容包括单片机的结构、指令、工作方式、通讯模式等等。因为实践虽然重要,但是理论学习毕竟是基础,只是在学习理论的同 时必须多讲一些实例,而不能是光停留在学理论的基础上。

C语言课程设计报告范例

学院C语言课程设计报告 课程名称: C语言课程设计课程编号: 报告题目 学生姓名学号 专业任课教师 成绩评阅日期

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分; 根据需求分析,该程序可分为以下四大模块: (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; A.主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do {

单片机C语言案例教程教学指南

单片机C语言案例教程教学指南 一本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材。特色在于全书以“案例+项目”的形式展开,由26个案例和5个项目组成。案例为项目的前导,即用“案例”来验证单片机原理,用“项目”来突出单片机应用。案例设计由浅到深,步步推高;项目设计贴近学生生活和学生兴趣,具有学习价值和使用价值。 本教材的教学目标,就是要激发和引导学生亲手完成基于单片机的电子钟及温度计项目、LED汉字显示屏项目设计,让学生在整个学习过程中学习知识和享受成功,从而基本掌握MCS-51单片机的应用和开发技术。 二本书的内容和参考学时 全书内容共13章,参考学时为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’而其余三位关断,再让第二位

C语言课程设计报告电子生词库软件

程序设计基础实训任务书 题目:电子生词库软件 学生姓名:学号:班级: 题目类型:软件工程(R)指导教师: 一、设计目的 1.进一步掌握和利用C语言进行程序设计的能力; 2.进一步理解和运用结构化程序设计的思想和方法; 3.初步掌握开发一个小型实用系统的基本方法; 4.学会调试一个较长程序的基本方法; 5.学会利用流程图或N-S图表示算法; 6.掌握书写实训开发文档的能力(书写实训报告); 二、设计任务及内容 根据需要,建立属于自己的生词库,这样使用起来很方便。生词选自本人经常需要的单词,对于英文单词,给出中文含义,对于中文单词给出英文含义。功能要求: (1)创建生词库。用文件建立一个单词库,中英文单词均有,对于英文单词,给出中文含义,对于中文单词给出英文含义。 (2)显示词库。显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大顺序排列。

(3)编辑词库。首先确认密码后允许添加新词、删除旧词和修改旧词。 (4)查找生词。显示所要查找的单词其及含义 主菜单和子菜单能够循环出现,每一项菜单执行之后,询问用户是否继续进行。从子菜单可以返回主菜单。 三、设计要求 1.用C语言实现系统; 2.系统具有统计、查询、排序等基本功能; 3.系统的各个功能模块要求用函数的形式实现; 4.文档:实训说明书每个学生一份,并装在统一的资料盒中; 5.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。 四、提交的成果 1. 设计任务书一份(学校统一格式) 2. 设计说明书一份,内容包括: 1) 中文摘要100字,关键词3-5个。 2) 实训题目、内容、要求。 3)总体设计(包含几大功能模块)。 4)详细设计(各功能模块的具体实现算法——流程图) 5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。

《单片机技术》课程教学实施方案

辽宁广播电视大学开放教育高等专科电气自动化专业 单片机技术课程教学实施方案 一、课程概况 本课程是开放教育高等专科电气自动化专业的一门必修专业课程。本课程的教学目的是使学生可以掌握单片机的基本性能和利用单片机构成应用系统的基本方法,具备对小型单片机应用系统进行设计、分析、调试和开发能力;培养学生科学思维和分析、解决工程实际问题的基本能力和素质,为后续专业课程的学习打下坚实的理论基础。课程主要内容包括:绪论、单片机基本知识、单片机输入/输出口、单片机中断、单片机定时/计数器、单片机总线与系统扩展、单片机实用接口技术、单片机应用系统设计设计中的实用技术。 本课程的先修课程有:电路分析、模拟电子电路、数字电子电路、计算机应用基础等二、课程说明 1.学时及学分 本课程开设一学期,共72学时(其中实践18学时),4学分。 2.教学内容及学时 绪论2学时 单片机基本知识8学时 单片机输入/输出口8学时 单片机中断系统4学时 单片机定时/计数器6学时 单片机总线与系统扩展8学时 单片机实用接口技术10学时 单片机应用系统设计中的实用技术8学时 各部分内容的教学要求见本课程教学大纲。

3.课程实验 本课程实践18学时,题目如下: 实验1:KEIL软件的使用,并并对程序进行编译、仿真 实验2:验证数据传送指令和控制转移指令的功能 实验3:验证逻辑运算指令和位操作指令的功能 实验4:使用发光二极管模拟交通灯信号,使用逻辑电平开关控制,设计交通灯控制系统。 实验5:验证算术运算作指令的功能 实验6:用单片机及6个LED数码管显示时、分、秒,以24小时计时方式运行 实验7:8255A控制LED) 实验8:设计一个具有上下限液位检测的水塔水位控制系统,有必要的状态指示灯,系统晶振为12MHz 实验9:设计一个步进电机控制键盘。要求能从键盘上输入步进电机转数,控制步进电机的正、反转及启停,并显示转数 具体内容和要求见本课程实验指导书。根据实验条件部分实验可以作为演示实验。 三、学习支持媒体 文字教材:《单片机技术》(魏海波主编,辽宁广播电视大学内部讲义(电子版)) 电子教案:全课程内容 网络发布课程的信息(如大纲、教学设计方案、考核说明、期末复习资料等)、课程的辅导材料、课程的答疑信息、典型习题练习及解答等。 电大在线主页:https://www.360docs.net/doc/519185430.html, 辽宁电大的主页:https://www.360docs.net/doc/519185430.html, BBS方式答疑集中的答疑约3次,进行章节性难点、期末复习指导。时间拟定于10月28日、11月12日、12月20日13:00-14:30,若有变化,以通知为准。 实行非实时性辅导答疑:,在课程讨论区单片机技术专业论坛

单片机C语言(非常通俗易懂)

单片机C语言(非常通俗易懂) (一) 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵 ^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使

单片机应用技术课程整体教学设计Word版

《单片机应用技术》整体教学设计 (2015~ 2016学年第2学期) 课程名称:单片机应用技术 所属系部:信息与智能工程系 制定人:郭志勇巩雪洁 合作人:李自成张留忠 制定时间: 2016.1.16 安徽电子信息职业技术学院

一、课程基本信息 一、课程定位 本课程主要是以智能控制、 智能电子产品、智能机器人工程项目为主线,采用企业真实工作任务,通过“项目驱动” 教学模式,对国内外广泛应用的MCS-51系列单片机的AT89S52 单片机工作原理、应用系统的剖析,使学生获得有关单片机硬件、软件的基本概念、基本知识和单片机应用系统的设计编程入门知识以及用C 语言进行程序设计、运行、调试等基本技能,培养学生分析问题和解决问题的能力。 1. 岗位分析: 本课程主要培养具有智能电子产品和智能控制设计、分析、调试和制作能力的技术技能型人才,可以从事智能电子产品和智能控制设计开发、生产、销售与服务等相关工作,如图1所示。 图1 课程与岗位 2. 课程分析: 本课程是计算机控制技术、物联网应用技术等相关专业的职业能力必修课程,是计算机控制技术专业核心课程。在计算机控制技术专业课程体系中,基于单片机应用技术的课程结构如图2所示。

图2 基于单片机应用技术的课程结构 位于最底层的是本课程的先修课程,也是专业基础课程;本课程是专业核心课程;位于最上层的是本课程的后续课程,既专业课程。基于单片机应用技术的课程结构实现了无缝对接,同时也是我们学校其它相关专业的骨干课程,如嵌入式技术、电子信息工程技术、机电一体化、电气自动化、数控技术等专业都开设本课程。 二、课程目标设计 总体目标: 学通过本课程的学习,学生能熟练使用Proteus仿真软件、C语言编程,能完成简单的智能电子产品和智能控制设计开发;能根据智能电子产品和智能控制设计要求进行元器件焊接组装、软硬件调试;培养学生具有一定的创新思维能力,科学的工作方法和良好的职业道德意识,为提高学生职业技能奠定良好基础。 能力目标: (1)会运用keil集成开发环境,能用C语言编写控制程序、下载调试、查阅帮助的技能; (2)会运用Proteus仿真软件,在计算机上完成从单片机电路设计、调试与仿真运行的技能; (3)会智能电子产品、智能控制的开发流程和设计方法; (4)能编制出智能电子产品、智能控制的总体设计方案; (5)能根据智能电子产品、智能控制设计要求,完成元器件采购、焊接组装、软硬件调试;

c语言课程设计_菜单设计

C语言课程设计_菜单设计 调试环境为TC2.0或者3.0。运行这个程序需要tc提供的几个头文件。建议修改options菜单中的include 目录项到tc的include的目录下(具体方法可以参见本书第一章的讲解);或者把源程序拷贝到tc目录下运行。 #include #include #include #include #include /*定义一些常数*/ #define NO 0 #define YES 1 #define NONE -1 #define MAX_MENU 7/*根据情况改变可以在菜单显示的最大项*/ /*全局参数*/ int X,Y; int Selection; int button,x,y; void *p; size_t area; /*菜单结构*/ struct MENU { /*左上角*/ int x; int y; /*右下角*/ int x1; int y1; unsigned char Active[MAX_MENU];/* 菜单项是否激活的标志*/ char *head;/* 菜单的名字(可选项)*/ }; int MouseOn(struct MENU *t); void Process(); void Xorbar(int sx,int sy,int ex,int ey,int c); void Show(); void Hide(); void Status(); /* 通过下面的参数用户可以改变按钮的位置。*/ struct MENU File={200,110,250,130}; struct MENU Edit={295,110,345,130}; struct MENU Help={390,110,440,130}; struct MENU Close={600,10,620,30}; struct MENU Neeraj={380,300,460,315}; void main() { int gd = DETECT,gm;

教学案例:单片机课程仿真案例教学改革思路

单片机课程仿真案例教学改革思路 摘要:针对高等院校单片机课程教学存在的问题进行研究,提出了单片机课程仿真案例教学为主导的教学改革方案,主要进行了单片机案例的确定、单片机案例教学的实施步骤和单片机案例教学的考核等研究。经过实际教学验证,该教学改革模式提高了学生的单片机实际应用能力,对学生参加电子竞赛具有较大帮助。 关键词:单片机;仿真;案例教学;教学改革;电子竞赛 单片机是一门综合性、实践性极强的课程。单片机的概念多、专有名词多、内容抽象、指令丰富,且软、硬件发展很快,新器件不断,故相当多的学生在学习单片机时感到郁闷,实际使用不知如何下手,不能真正掌握单片机技术。因此,如何安排教学内容,使学生既能了解新技术又能对单片机的应用技术融会贯通;如何设计教学方法,激发学生的学习兴趣,真正理解和掌握单片机技术,是在单片机教学中需要解决的问题。针对教学对象的特点和课程特点,我们提出了“案例教学”的教学理念,以达到创新人才的培养效果[1]。 一、单片机教学的现状和存在的问题 (一)传统的理论教学环节 教师上理论课时,先讲述单片机的理论知识,如讲述单片机的概述与发展,单片机的内部结构,指令系统及I/O接口电路,而讲述单片机实例的课时比较少,

达不到理想的效果,并且学生在学理论知识时,只是处于被动接受知识的一方,调动不了学生的主观能动性,学生对单片机知识的学习会感到很盲目,从而对这门课程产生不了很大的兴趣。 (二)传统的教学实践环节 教学实践环节分为实验教学环节和课程设计环节两部分。实验教学环节一般采取单片机实验箱,学生做实验时根据实验连线步骤连接好硬件电路,下载现有的实验程序,得出实验结果,一般只能起一个验证过程的作用,学生缺乏对整体电路的设计,也缺乏修改硬件电路和软件程序的机会,从而不能真正锻炼学生的动手实践能力。课程设计环节,对于设计一个单片机应用系统,要涉及到很多的单片机的专业知识,很多同学只是在网上下载一些实例,按照资料设计硬件电路图,复制其程序生成HEX文件,然后联调就基本仿真通过。如果要求他们改变或增加一些功能设计,很多同学基本完成不好,主要原因是他们还没有基本没有搞懂对应的知识。 二、单片机课程仿真案例教学的实施 (一)单片机案例教学简介 单片机案例教学就是将单片机课程所要求掌握的基本知识点、基本原理和方法都溶入到包含这些原理的实际项目例子的讨论与讲解之中,基于项目开发的过程来组织教学内容[2]。 (二)单片机案例确定

单片机C语言变量定义定稿版

单片机C语言变量定义 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

单片机教程,51单片机C语言学习 第六课变量 上课所提到变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义一个变量的格式如下: [存储种类] 数据类型[存储器类型] 变量名表 在定义格式中除了数据类型和变量名表是必要的,其它都是可选项。存储种类有四种:自动(auto),外部(extern),静态(static)和寄存器(register),缺省类型为自动(auto)。这些存储种类的具体含义和用法,将在第七课《变量的存储》中进一步进行学习。 而这里的数据类型则是和我们在第四课中学习到的名种数据类型的定义是一样的。说明了一个变量的数据类型后,还可选择说明该变量的存储器类型。存储器类型的说明就是指定该变量在C51硬件系统中所使用的存储区域,并在编译时准确的定位。表6-1中是KEIL uVision2所能认别的存储器类型。注意的是在AT89C51芯片中RAM只有低128位,位于80H到FFH的高128位则在52芯片中才有用,并和特殊寄存器地址重叠。特殊寄存器(SFR)的地址表请看附录二AT89C51特殊功能寄存器列表

表6-1 存储器类型 如果省略存储器类型,系统则会按编译模式SMALL,COMPACT或LARGE所规定的默认存储器类型去指定变量的存储区域。无论什么存储模式都可以声明变量在任何的8051存储区范围,然而把最常用的命令如循环计数器和队列索引放在内部数据区可以显着的提高系统性能。还有要指出的就是变量的存储种类与存储器类型是完全无关的。

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

51单片机C语言程序设计复习资料

2013-2014学年上期51单片机C语言程序设计重修复习提纲考试方式:闭卷考试。 考试题型: 填空题(每空1分,共18分);单项选择题(每空2分,共18分);问答及计算题(每题4分,共16分);编程及程序阅读题(5小题,共48分)。 考试分数: 卷面成绩70%+平时成绩15%+实验成绩15%,未缺席、无课堂违纪、作业全交且认真完成的同学平时成绩可获得满分,缺席一次平时成绩扣30分,实验好评次数3次以上且实验报告全优的同学实验成绩可得满分,实验缺席一次扣30分。缺席实验和旷课共3次以上者,无考试资格。 考试时间: 18周周一(12月30日)下午14:00:16:00,考试地点:具体考室另行通知希望大家认真复习,认真听讲,不懂就问,考试成绩不及格允许查卷,如查卷卷面批阅无误成绩不做更改。 编程题为实验或实验类似的题目有3题,其余2题也取自课堂讲授例题,请务必认真复习。第一章单片机概述及单片机知识回顾 掌握什么是单片机、单片机的应用、常见单片机类型、十进制、十六进制、二进制数制转换知识。掌握单片机的硬件组成、CPU的结构、程序计数器PC的功能、存储器结构、机器周期的计算、会画出单片机的最小系统电路图及回答单片机最小系统的组成。 第二章C51语言程序设计基础(本章填空题和选择题比重较大请务必认真复习)掌握C51语言进行软件开发与汇编语言相比的优点、掌握C51的数据类型、特殊功能位的定义、C51的基本运算(位运算重点复习)、数组的定义、C51的结构及函数。 第三章AT89S51片内并行端口及编程(本章有编程题) 掌握P0-P3并行端口的特点,会开关量检测及流水灯程序的编程。 第四章AT89S51单片机的中断系统(本章有编程题) 掌握中断系统的结构、中断请求响应被满足的条件、外部中断的触发选择方式、外部中断的使用与编程。 第五章AT89S51单片机的定时器/计数器(本章有编程器) 掌握定时器的结构,TOMD及TCON的使用,定时器方式0和方式1的特点、会计算定时器初值,会用定时器中断产生PWM波形,会用定时器对外部事件进行计数。 第六章AT89S51单片机的串行口(本章有计算题) 掌握串行通信的基础知识(课本没有的内容请参照课堂讲授笔记或PPT)、串行口的四种工作方式的特点、会计算奇偶校验码、会根据波特率计算T1的初值。 第七章AT89S51单片机与输入/输出外设接口(本章有编程题) 掌握数码管动态显示的原理、掌握矩阵式键盘的原理与编程(矩阵键盘编程必考,但不会考4X4键盘)。 第八章AT89S51单片机与D/A与A/D转换器的接口(本章有编程题) 掌握AD与DA转换的接口、ADC和DAC的技术指标、常用AD和DA转换器。掌握ADC0809和TLC2543的使用与编程(2器件其中之一有编程题)。 第九章AT89S51单片机应用系统与调试(本章有编程题) 掌握单片机应用系统的软件抗干扰方法。

C语言课程设计

课程设计任务书 课程设计题目:学生成绩管理 课程设计时间:2012年03月19日起——至 2012年03月30日止教研室主任年月日批准

一、课程设计的性质和任务 《程序设计基础课程设计》是软件工程专业的实践性教学环节之一,是《程序设计基础》课程的辅助教学过程,是软件工程专业的一门必修课。 本课程设计通过利用C语言实现一个小型的应用系统,使学生加深理解《程序设计基础》课程中的各种基本概念、理论和原理,掌握C语言的语法、语句和程序设计的思想,巩固课堂教学内容,锻炼学生编写程序和调试程序的能力,提高应用软件设计的能力,提高分析问题和解决问题的能力,培养创新和团队的意识,从而为后续课程学习、毕业设计以及将来更好地走向工作岗位打好坚实的基础。 二、课程设计的原始资料 随着计算机技术的飞速发展,计算机早已经从单纯的数值计算功能中解脱出来,利用计算机完成的功能越来越多,如信息的存储、多媒体应用、信息管理等。在现代的管理技术中,利用计算机来完成过去只能通过纸质手工管理的智能管理模式已经变得越来越广泛。 本题目就是利用计算机来完成学生成绩管理程序。 学生可查阅有关程序设计的案例资料,进一步理解结构化程序设计的模块化程序设计思想,并利用此思想,根据对程序设计课程的学习,编写一个比较完整的简单软件系统。通过本设计,可以加深理解利用传统程序设计思想开发一个软件系统的整个流程,提高分析问题、解决问题和软件设计、编程的实际动手能力。 三、课程设计的主要内容及要求; 1.认真阅读材料,掌握程序设计模块化的思想。 2.要求在设计的过程中,建立清晰的层次结构。 3、画出主要的功能结构图和主要模块的流程图。 4.完成一简单学生成绩管理程序。 5.实现学生管理。 6.实现成绩管理。

合泰单片机C语言教程

Holtek 微控制器應用範例–使用Holtek C 語言目錄 第一章內容簡介 第二章選定Holtek C 語言的使用環境 2.1 進入HT-IDE3000 建立新的專案時, 選定Holtek C 編譯器 2.2 已開啟專案後, 選用Holtek C 編譯器 第三章微控制器C 語言程式的速成 3.1 定義主函式main() 3.2定義副函式(sub-function) 3.3定義全域變數(global variable) 3.4定義中斷服務函式(Interrupt Service Routine : ISR) 3.5 其他 第四章 C 語言程式 4.1 C 程式架構 4.2 開始用C 語言設計一個程式 4.2.1 定義主函式main 4.2.2 將標頭檔引入(include a header file) 4.2.3 定義文字符號及變數 4.2.4 設定微控制器及裝置的初始狀態 4.2.5 設計子函式 4.2.6 設計中斷服務函式 4.3變數(variable) 及資料型態(data type) 4.3.1 變數名 4.3.2 資料型態 4.3.3 變數的有效範圍(scope) 4.3.4 變數的資料型態(data type)

整數型(integer) 浮點型(floating point) 4.3.5 bit 資料型態 4.3.6儲存類別(storage class) 與修飾詞(qualifier) 儲存類別(storage class) 修飾詞(qualifier) 4.3.7絕對變數(absolute variable) 4.3.8常數(constant) 4.3.9指標(pointer) 與陣列(array) 指標的運算子& 與* 陣列(array) 4.3.10結構(struct) 與等位(union) 結構的運算子-> 與. 4.4運算子(Operators) 運算前的型態轉換 4.5程式流程控制(program flow control) 4.5.1if-else 敘述 4.5.2switch 敘述 4.5.3for 敘述 4.5.4while 敘述 4.5.5do-while 敘述 4.5.6goto 敘述 4.5.7break 與continue 敘述 4.6函式(Functions) 4.6.1參數(arguments) 4.6.2返回值(return values) 4.7中斷服務函式(Interrupt Service Routines) 4.8在C 語言程式中嵌入組合語言(in-line assembly code) 從組合語言的程式去存取 C 語言的物件(變數) 4.9前置處理指令(Preprocessor) 4.9.1 定義文字符號(#define)

单片机应用课程设计教学大纲

《单片机及应用课程设计》教学大纲 课程类别:专业课 适用专业:电子信息工程本科、专科 学时:1周 一、课程设计的目的和意义 本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。 二、选题的原则 1.选题范围 汇编语言程序编写、启东DVCC单片机仿真实验系统的使用、定时器/计数器的应用、I/O口的应用、串行口应用及中断应用。 2.选题要求 在现有的开发装置上掌握相关硬件,正确地进行连线在计算机上编写汇编程序、调试、下载、配合外部电路进行系统功能测试,设计并实现参考选题中要求设计的系统。要求按设计要求制订方案,直至正确地实现系统功能;写出课程设计报告;理解设计方案后再自己动手修改程序,并正确联线、构成硬件电路,通过独立调试实现设计方案。 3.参考选题 (1)交通信号灯模拟控制系统设计:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间。

(2)计时器系统设计:利用单片机的定时器/计数器定时和计数,用LED数码管显示计时的时间;某键按下去计时,再按一下停止计时;另一键按下去时间清零。 (3)频率计系统设计:利用单片机的定时器/计数器定时和计数,计算出频率,用LED 数码管显示出来。 (4)模拟时钟系统设计:从键盘上输入时间初值用定时器产生0.1s定时中断对时钟计数器计数,并将数值定时送数显管显示。 (5)秒表系统设计:用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00—99秒,每秒自动加1,另设计一个“开始按键”和一个“复位”键。 (6)步进电机控制系统设计:(1)从键盘上输入正、反转命令,转速参数和转动步数并显示在显示器上,系统控制步进电机转动,直到转动步数为0时停止;(2)从键盘依次输入多组不同的参数后,系统开始依次执行各组参数,直到所有参数运行结束。 (7)小直流电机调速控制系统:用0809采样电位器的值,并在显示器上显示,将此信号值作为方波占空比,通过0832输出经放大后控制电机转速。 三、设计报告要求 要求设计报告按以下条目顺序编写: 1.封面 2.内容提要 3.正文 ?概述所作题目的意义、本人所做的工作及系统的主要功能; ?硬件电路设计及描述; ?软件设计流程及描述; ?源程序代码(要有注释)。 4.课程设计体会 5.参考文献 四、成绩评定标准 1.理论设计方案,演示所设计的系统,总成绩40%; 2.设计报告,占总成绩20%; 3.回答教师所提出的问题,占总成绩30%;

相关文档
最新文档