一、课程性质
课程名称:单片机C51程序设计
课程代码:109025
学 时 数:84
其中课内实验学时数:34
学 分 数:6
1、课程知识目标
掌握单片机基本原理,熟悉KEILL软件的使用,熟悉基于proteus软件的单片机的仿真方法,熟悉MCS-51的结构与应用设计方法,掌握C51结构与基本的程序设计方法,通过应用实例熟悉单片机C语言的在单片机应用设计中的用法。 2、课程技能目标
通过本课程的教学,要求学生初步具有用C语言进行单片机系统设计的能力。
3、职业能力目标
掌握电子产品设计的基本方法,能够以单片机作为核心进行电子产品的设计与开发。
三、课程内容
本课程由理论教学模块、实验教学模块两大模块组成。其中理论教学模块50学时、占60%,实践(含实验和实训)教学模块34学时,占40%。各教学模块如下:
1、理论教学模块
教学模块 | 模块结构 | 模块内容 | 教学方法手段 | 学时 |
C51开发软件应用 | KEIL软件应用 | 1.KEIL51软件使用 | 仿真教学 | 2 |
Proteus应用 | 2.Proteus软件使用 | 仿真教学 | 2 |
C51语言编程方法 | C51基础 | 3.数据类型 | txue问题法 | 2 |
4.存储区域与存储模式 | 问题法 | 2 |
5.算术、赋值表达式 | 问题法 | 2 |
6.关系、条件表达式 | 问题法 | 2 ktkp-073 |
C51基本程序设计 | 7.基本语句与分支语句 | 案例教学 | 2 |
8.循环语句与辅助语句 | 案例教学 | 2 |
C51函数 | 9.基本函数与函数调用 | 案例教学 | 2 |
10.标准库函数 | 案例教学 | 2 |
11.中断函数 | 案例教学 | 2 |
C51数组和指针 | 12.一维数组与二维数组 | 案例教学 | 2 |
13.指针 | 案例教学 | 2 |
C51综合应用 | LED彩灯项目 | 14.单片机的中断系统 | 项目教学 | 2 |
15.外部中断的应用 | 项目教学 | 2 |
16.定时器的结构 | 项目教学 | 2 |
17.定时器应用 | 项目教学 | 2 |
电子打铃装置项目 | 18.串行通信原理 | 项目教学 | 2 |
19.串行通信应用 | 项目教学 | 2 |
20.输入输出端口 | 项目教学 | 2 |
21.LED数码管显示器 | 项目教学 | 2 |
22.LED点阵显示器 | 项目教学 | 2 |
智能温度测控装置项目 | 23.液晶显示器 | 项目教学 | 2 |
24.模数转换 | 项目教学 | 2 |
25.数模转换 | 项目教学 | 2 |
| | | | |
2、实验教学模块
教学模块 | 模块内容 | 实验场所 | 教学方法手段 | 学时 |
C51开发软件应用 | P1口亮灯 | 单片机实验室 | 项目教学 | 2 |
C51语言编程方法 | P1口灯闪烁发亮 | 交通评估 单片机实验室 | 项目教学 | 2 |
跑马灯 | 单片机实验室 | 项目教学 | 2 |
分支程序设计 | 单片机实验室 | 项目教学 双人雨披 | 2 |
键盘控制LED | 单片机实验室 | 项目教学 | 2 |
碱式氧化锰交通信号灯控制 | 单片机实验室 | 项目教学 | 2 |
数字密码锁 | 单片机实验室 | 项目教学 | 2 |
C51综合应用 | LED点阵 | 单片机实验室 | 项目教学 | 4 |
LCD应用 | 单片机实验室 | 项目教学 | 4 |
电子打铃装置 | 单片机实验室 | 项目教学 | 6 |
智能温度测控装置 | 单片机实验室 | 项目教学 | 6 |
| | | | |
四、学生学习指南
模块一 keil软件与proteus软件的使用
Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选。Proteus ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点:① 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。③ 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。④ 支持大量的存储器
和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。
在本任务教学通过点亮一个发光二极管闪烁,来学习Keil和Proteus软件的使用。
教师采用边示范,学生跟着做的方法进行教学。
模块二、C51语言编程方法
本模块主要讲述C51usb暖手鼠标垫语言数据类型及存储类型、C51语言对单片机主要资源的控制、C51语言的基本运算与流程控制语句、C51语言的构造数据类、C51语言函数C51语言程序设计的其他问题,使学生具有C51编程的基本能力。
本任务教学过程中采用4个子模块分解进行教学,并分小组进行讨论,程序设计、总结和考核。
1、 C51基础
掌握C51的各种数据类型的特点和使用方法;理解常量和变量的差异;理解C51数据存储
类型与单片机存储器结构关系;理解51单片机硬件资源的C51定义及使用方法;掌握算术运算符、关系运算符、逻辑运算符、位操作运算符和自增减运算符的特点和典型应用。单片机的发展及特点,单片机的种类。
重点:C51数据类型;基本运算符的应用。
2、C51基本程序设计
掌握C51程序结构特点和典型程序结构;掌握选择语句if—else、if—else if—else、switch—case的语法特点;掌握典型分支结构程序设计和调试方法;掌握循环语句while、do—while、for的语法特点;掌握典型循环程序设计和调试方法。
重点:C51程序结构及语法特点;常用程序的设计和调试方法。
3、 C51函数定义及应用
掌握C51函数的分类及典型函数结构;掌握C51函数的定义及函数说明;掌握函数的参数传递及返回值的编写方法;掌握函数的调用方法及调用形式。
重点:C51函数结构;C51函数的调用。
4、 C51中数组与指针
理解C51中数组的基本概念及分类;理解一维数组、二维数组的定义及存储区域;掌握数组的典型应用程序设计方法;理解C51中指针的基本概念及分类;掌握指针的典型应用程序设计方法;
重点:数组与指针的典型应用程序设计。
模块三、C51综合应用
理解51系列单片机的中断系统;掌握中断服务程序中寄存器组的切换方法和中断服务程序的设计方法;掌握外部中断应用程序设计;掌握定时器/计数器硬件资源的应用;掌握定时器/计数器中断程序设计。了解常用接口芯片的逻辑功能;掌握系统扩展的总线结构;熟悉常用人机接口的设计方法。
1、 LED彩灯项目
通过单片机产品参观与讲解,介绍单片机应用特点、单片机应用系统的构成,以建立单片机应用系统的概念; 讲授 掌握典型 51单片机的内部逻辑结构、引脚功能; 51单片机内部数据存储器和程序存储器的结构;单片机的时钟和时序; 掌握单片机复位电路的设计。
通过循环彩灯项目制作,讲授掌握循环彩灯的构成和工作原理; 单片机最小系统的概念;延时程序、子函数、循环语句的概念及其设计;讲授Keil集成开发软件的使用;讲授掌握 编程器的使用。
本任务教学过程中要求在单片机实验板完成实际制作,并分小组进行讨论,程序设计、硬件调试、总结和考核。
2、电子打铃装置项目
通过电子打铃装置项目制作,讲授数码管静态和动态显示及接口;按键的输入和去抖;单片机输出接口;进一步掌握常用定时器、中断、串行口基本概念及其应用;程序设计方法和流程图的绘制、培养一定的程序阅读能力;单片机应用系统的软硬件设计;单片机应用系统开发的一般流程;仿真器的使用、单片机应用系统的仿真和调试。
本任务教学过程中要求制作实际电路板,并分小组进行分析讨论、查阅资料、程序设计、硬件制作与调试、总结和考核。
3、 智能温度测控装置项目
通过智能温度测控装置项目制作,讲授智能温度测控装置的组成和基本工作原理; 讲授A/D 转换的基本原理和芯片选型;A/D 芯片( ADC0809 )的结构、典型应用和相关硬件线路的设计和软件编程;D/A 转换的基本原理和芯片选型;D/A 芯片( DAC0832 )的结构、典型应用和相关硬件线路的设计和软件编程;单片机应用系统的软硬件设计的基本方法;单片机应用系统开发的一般流程;讲授 智能温度测控装置的硬件设计和调试;智能温度测控装置的软件设计和调试;智能温度测控装置的仿真和软硬件联调。