单片机原理及应用课程实施大纲.docx
《单片机原理及应用课程实施大纲.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课程实施大纲.docx(90页珍藏版)》请在冰点文库上搜索。
单片机原理及应用课程实施大纲
一、知识目标
1)掌握MCS-51系列单片机原理与内部结构,掌握其存储器结构、总线结构、指令系统、定时器/计数器、中断系统和串行接口的相关知识点。
2)掌握MCS-51系列单片机的最小系统构成及外围接口技术。
3)掌握MCS-51系列单片机汇编指令和C51语言的指令格式、编程方法。
4)掌握MCS-51系列单片机应用设计的基本步骤、思路和方法。
5)掌握MCS-51系列单片机系统开发平台的使用方法。
第1章单片机基础知识概述
单片机及其发展概况;单片机的特点和应用;单片机的发展趋势;单片机学习的预备知识;Proteus应用简介。
第2章MCS-51单片机的结构及原理
MCS-51单片机的结构;引脚功能;存储器结构;CPU时序和工作方式;并行I/O口。
第3章单片机的汇编语言与程序设计
MCS-51指令系统概述;寻址方式;数据传送类、算术运算类、逻辑运算与移位类控制转移类、位操作类和I/O口访问指令。
第4章单片机的C51语言
C51的程序结构;C51的数据结构;C51与汇编语言的混合编程;C51仿真开发环境。
第5章单片机的中断系统
中断的概念;中断控制系统;中断处理过程;中断的编程和应用举例。
第6章单片机的定时/计数器
定时/计数器的结构与工作原理;定时/计数器的控制;定时/计数器的工作方式;定时/计数器的编程和应用。
第7章单片机的串行口及应用
串行通信概述;MCS-51的串行口控制器;串口工作方式及其应用。
第8章单片机接口技术
单片机的系统总线;简单并行I/O口扩展;可编程并行I/O口扩展;D/A转换与DAC0832应用;A/D转换与ADC0809应用;开关量功率接口技术。
第9章单片机应用系统的设计与开发
单片机系统的设计开发过程;单片机系统的可靠性技术;单片机系统设计开发应用举例——智能仪器;单片机串行扩展单元介绍。
6.2教学重点、难点
一、教学重点
本课程教材的重点章是第1~8章,重点的知识点具体如下所列。
1)单片机的概念、特点和应用;单片机的发展趋势;单片机学习的预备知识。
2)MCS-51单片机的结构;引脚功能;存储器结构;CPU时序和工作方式;并行I/O口。
3)MCS-51指令系统概述;寻址方式;数据传送类、算术运算类、逻辑运算与移位类控制转移类、位操作类和I/O口访问指令。
4)C51的程序结构;C51的数据结构;C51语言的编程应用。
5)中断的概念;中断控制系统;中断处理过程;中断的编程和应用。
6)定时/计数器的结构与工作原理;定时/计数器的控制;定时/计数器的工作方式;定时/计数器的编程和应用。
7)串行通信基本概念;MCS-51的串行口控制器;串口工作方式及其应用。
8)单片机的系统总线;简单并行I/O口扩展;D/A转换与DAC0832应用;A/D转换与ADC0809应用。
二、教学难点
本课程属于较为基础的专业课,对于微机原理和C语言学得好的同学来说应该不困难,下文所列的只是相对较难的知识点。
1)单片机的特点和应用;单片机的发展趋势。
2)MCS-51单片机的基本结构;引脚功能;存储器结构;CPU时序和工作方式。
3)MCS-51指令系统概述;寻址方式;数据传送类、算术运算类、逻辑运算与移位类控制转移类、位操作类和I/O口访问指令。
4)C51的程序结构;C51的数据结构;C51语言的编程应用。
5)中断控制系统;中断处理过程;中断的编程和应用。
6)定时/计数器的结构与工作原理;定时/计数器的控制;定时/计数器的工作方式;定时/计数器的编程和应用。
7)串行通信基本概念;MCS-51的串行口控制器;串口工作方式及其应用。
8)D/A转换与DAC0832应用;A/D转换与ADC0809应用。
教学内容
重点:
单片机的概念和特点;单片机的主要发展方向和主流技术;几种常见的单片机产品。
难点:
单片机基本概念;单片机、微控制器、嵌入式系统等概念的区分与联系。
教学方法
多媒体演示、实物演示
作业安排及课后反思
作业:
P16,第1、2题。
思考:
试分析一下今后单片机将向那个方向发展,为什么?
课前准备情况及其他相关特殊要求
预习1.1
参考资料(具体到哪一章节或页码)
教材第1-3页
谢维成,杨加国.单片机原理与应用及C51程序设计(第3版)[M].北京:
清华大学出版社,2014.第1章
7.2教学单元二
教学日期
第2次课
教学目标
梳理单片机学习的基本知识,掌握数制、编码等基础知识;
了解单片机开发环境Proteus及Keil的使用方法。
教学内容
1.2单片机学习的预备知识
1.3Proteus应用简介
重点:
十进制、二进制、十六进制直接的转换;基础门电路的功能和使用方法。
难点:
十进制小数和整数转换为二进制数。
教学过程
1.2单片机学习的预备知识
一、计算机中数的表示
计算机只识别和处理数字信息,数字是以二进制数表示的;它易于物理实现,同时,资料存储、传送和处理简单可靠;运算规则简单,使逻辑电路的设计、分析、综合、方便,使计算器具有逻辑性。
(一)数制及数制之间的转换
1、各种进位计数及其表示方法
数字符号:
0、1、2、……9——数码。
数码的个数——基数。
进位规则:
逢十进一
例如,十进制数,10个数码;采用“逢十进一”
30681=3×104+0×103+6×102+8×101+1×100
例如,二进制数,2个数码,采用“逢二进一”
(11010100)2=1×27+1×26+0×25+1×24+0×23+1×22+0×21+0×20
总之,N进制数,N个数码,“逢N进一”
二进制数与十六进制数的相互转换
a)二进制转换十六进制:
规律是:
以小数点为界限,分别往前往后每四位二进制数一组进行分组,(整数部分不够的位直接在高位补0,小数部分不够的位在往其低位补0),之后把每一组转换成对应得到十六进制数码即可。
b)十六进制转换二进制:
规律是:
上述转换的“逆”,即把每位十六进制数码都转换成对应四位二进制数,按照十六进制数正常的顺序排列即可。
c)十进制转换十六进制:
方法:
可以先转换成二进制数,在转换成十六进制数(较简单些)。
(二)有符号数表示方法
1、机器数与真值
机器只认识二进制数:
0、1。
这是因为,电路状态常有两个,如通、断;高电平、低电平;…可用0、1表示。
这种0、1、0、1…1在机器中的表现形式——机器数。
一般为8位。
无符号数:
00000000B、……11111111B即00H~FFH
机器数有:
带符号数:
+1010110B、-1101001真值
符号位和数值位:
计算机中通常都是用最高位来表示一个数的符号。
并且分别用“0”和“1”表示正和负。
有符号数有三种表示方法。
原码、反码和补码。
a)、原码(PrimaryCode)
正数的原码与原来的数相同。
负数的原码符号位“置1”,数值位不变。
举例(略:
+5、-5、+0、-0)
原码数的范围:
-127~+127
b)、反码(DiminishedRadixComplement)
正数的反码与原来的数相同。
负数的反码符号位“置1”,数值位按位取反得到。
举例(略:
+5、-5、+0、-0)
反码数的范围:
-127~+127
c)、补码(ComplementaryCode)
正数的补码与原来的数相同。
负数的补码由它的绝对值求反加1后得到,符号位“置1”。
举例(略:
+5、-5、0)
数的范围:
-128~+127
(三)8421BCD码(BinaryCodedDecimalCode)
由于人们习惯上用十进制数通过计算机输入输出数据,而计算机需要用二进制进行分析计算,因此需要计算机将十进制转换成二进制,影响计算机的工作速度。
用二进制数对每位十进制数进行编码称为BCD码,或叫二—十进制数。
用标识符[]BCD表示
1、BCD码与十进制数的转换
BCD码与二进制不能直接转换,一般先转换成十进制,再转成二进制。
01000011B=67D=[01100111]BCD
注意:
不能将BCD码看成是二进制数。
1.3Proteus应用简介
开发工具——PROTEUS单片机仿真软件
开发工具——Keil集成开发环境软件
仿真运行效果
教学方法
多媒体演示,仿真软件演示。
作业安排及课后反思
作业:
P16,第5、6、7题。
思考:
试分析一下今后单片机将向那个方向发展,为什么?
课前准备情况及其他相关特殊要求
预习1.2,1.3节;阅读教材204页(阅读材料1)
参考资料(具体到哪一章节或页码)
教材第3-16页。
谢维成,杨加国.单片机原理与应用及C51程序设计(第3版)[M].北京:
清华大学出版社,2014.第1章。
单片机课程学习网站(
各大电子类专业网站。
7.3教学单元三
教学日期
第3次课
教学目标
掌握MCS-51单片机的存储器结构与复位方式,引脚功能,内部结构和工作原理。
教学内容
第2章MCS-51单片机的结构及原理
2.1MCS-51单片机的结构
2.2MCS-51的存储器结构
2.3单片机的复位、时钟与时序
2.4并行I/O口
重点:
80C51单片机的引脚功能和内部结构,单片机的存储器结构与复位方式。
难点:
单片机的内部结构和工作原理。
教学过程
MCS-51单片机的基本结构
2.1.1MCS-51单片机硬件结构特点
1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如表2-1所示)。
2.输入/输出(I/O)端口
3.外部程序存储器和外部数据存储器寻址空间
4.中断与堆栈
5.定时/计数器与寄存器区
6.指令系统
2.1.2MCS-51单片机内部结构
1.运算器
运算器由8位算术逻辑运算单元ALU(ArithmeticLogicUnit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatusWord)、8位暂存寄存器TMP1和TMP2等组成。
2.控制器
主要由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、时钟发生器及定时控制逻辑等组成。
2.2MCS-51单片机的存储器配置
2.2.1片内数据存储器
2.2.2片外数据存储器
2.2.3程序存储器
2.2.1片内数据存储器
片内数据存储器结构如图2-9(a)所示;其具体位地址单元如表2-3所示;专用寄存器的地址映像如表2-4所示。
单片机复位电路及复位状态
1.复位电路
单片机复位电路包括片内、片外两部分。
外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。
MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。
如图2-14所示。
2.单片机复位后的状态
单片机运行出错或进入死循环时,可按复位键重新运行。
21个特殊功能寄存器复位后的状态为确定值,如表2-6所示。
3、时钟电路
(1)振荡周期/时钟周期:
为单片机提供时钟信号的振荡源的周期。
(3)机器周期:
通常将完成一个基本操作所需的时间称为机器周期。
(4)指令周期:
是指CPU执行一条指令所需要的时间。
一个指令周期通常含有1~4个机器周期。
若80C51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:
振荡周期=1/12MHz=1/12μs=0.0833μs
时钟周期=1/6μs=0.167μs
机器周期=1μs
指令周期=1~4μs
4、80C51指令时序
二、80C51单片机的引脚功能结构框图(如上图)
1.主电源引脚VCC和VSS
2.外接晶振引脚XTAL1和XTAL2
3.控制或其他电源复用引脚RST/VPD、ALE/、和/VPP
4.输入/输出引脚P0、P1、P2、P3(共32根)
三、引脚功能
(1)主电源引脚Vcc和Vss
VCC:
接+5V电源正端;
VSS:
接+5V电源地端。
(2)外接晶体引脚XTAL1和XTAL2
XTAL1:
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。
XTAL2:
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。
(3)输入/输出(I/O)引脚P0口、P1口、P2口及P3口
(a)P0口(39脚~32脚):
P0.0~P0.7统称为P0口。
(b)P1口(1脚~8脚):
P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。
(c)P2口(21脚~28脚):
P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。
(d)P3口(10脚~17脚):
P3.0~P3.7统称为P3口。
教学方法
多媒体演示
作业安排及课后反思
作业:
P34,第5、6、8、9题。
课前准备情况及其他相关特殊要求
预习第2章
参考资料(具体到哪一章节或页码)
教材第17-34页。
谢维成,杨加国.单片机原理与应用及C51程序设计(第3版)[M].北京:
清华大学出版社,2014.第2章。
单片机课程学习网站(
7.4教学单元四
教学日期
第4次课
教学目标
掌握单片机的寻址方式,指令特点,功能和使用。
教学内容
第3章单片机的汇编语言与程序设计
3.1汇编语言概述
3.2MCS-51指令系统简介
重点:
51单片机汇编语言的指令系统;指令表的查阅方法和指令功能的描述。
难点:
51单片机汇编语言的指令系统。
教学过程
3.1汇编语言概述
MCS-51单片机指令系统有如下特点:
(1)指令执行时间快。
(2)指令短,约有一半的指令为单字节指令。
(3)用一条指令即可实现2个一字节的相乘或相除。
(4)具有丰富的位操作指令。
(5)可直接用传送指令实现端口的输入输出操作。
3.1MCS-51指令系统的分类、格式及一般说明
3.1.1指令分类
3.1.2指令格式
3.1.3指令描述符号介绍
3.1.1指令分类
按指令功能,MCS-51指令系统分为数据传递与交换、算术运算、逻辑运算、程序转移、布尔处理操作、CPU控制等6类。
布尔处理操作类指令又称位操作指令。
3.1.2指令格式
在MCS-51指令中,一般指令主要由操作码、操作数组成。
指令应具有以下功能:
(1)操作码指明执行什么性质和类型的操作。
例如,数的传送、加法、减法等。
(2)操作数指明操作的数本身或者是操作数所在的地址。
(3)指定操作结果存放的地址。
3.1.3指令描述符号介绍
Rn——当前选中的寄存器区中的8个工作寄存器R0~R7(n=0~7)。
Ri——当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。
direct—8位的内部数据存储器单元中的地址。
#data——包含在指令中的8位常数。
#data16——包含在指令中的16位常数。
addr16——16位目的地址。
addr11——11位目的地址。
rel——8位带符号的偏移字节,简称偏移量。
DPTR——数据指针,可用作16位地址寄存器。
bit——内部RAM或专用寄存器中的直接寻址位。
A——累加器。
B——专用寄存器,用于乘法和除法指令中。
C——进位标志或进位位,或布尔处理机中的累加器。
@——间址寄存器或基址寄存器的前缀,如@Ri,@DPTR。
/——位操作数的前缀,表示对该位操作数取反,如/bit。
×——片内RAM的直接地址或寄存器。
(×)——由×寻址的单元中的内容。
——箭头左边的内容被箭头右边的内容所代替。
3.2寻址方式
3.2.1立即寻址
3.2.2直接寻址
3.2.3寄存器寻址
3.2.4寄存器间接寻址
3.2.5变址寻址
3.2.6相对寻址
3.2.7位寻址
3.2.1立即寻址
指令中直接给出操作数的寻址方式。
立即操作数用前面加有#号的8位或16位数来表示。
例如:
MOVA,#60H;A←#60H
MOVDPTR,#3400H;DPTR←#3400H
MOV30H,#40H;30H单元←#40H
上述三条指令执行完后,累加器A中数据为立即数据60H,DPTR寄存器中数据为3400H,30H单元中数据为立即数40H。
3.2.2直接寻址
指令中直接给出操作数地址的寻址方式,能进行直接寻址的存储空间有SFR寄存器和内部数据RAM。
例如:
MOVPSW,#20H;PSW←#20H
PSW为直接寻址寄存器的符号地址。
MOVA,30H;A←30H内部RAM单元中的内容
30H为直接给出的内部RAM的地址。
3.2.3寄存器寻址
以通用寄存器的内容为操作数的寻址方式。
通用寄存器指A、B、DPTR以及R0~R7。
例如:
CLRA;A←0
INCDPTR;DPTR←DPTR+1
ADDR5,#20H;R5←#20H+R5
3.2.4寄存器间接寻址
以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。
间接寻址的存储器空间包括内部数据RAM和外部数据RAM。
能用于寄存器间接寻址的寄存器有R0,R1,DPTR,SP。
其中R0、R1必须是工作寄存器组中的寄存器。
SP仅用于堆栈操作。
例如:
MOV@R0,A;内部RAM(R0)←A其指令操作过程示意图如图3-1所示。
又如:
MOVXA,@R1;A←外部RAM(P2R1)其指令操作过程示意图如图3-2所示。
再如:
MOVX@DPTR,A;外部RAM(DPTR)←A
其指令操作过程示意图如图3-3所示。
3.2.5变址寻址
变址寻址只能对程序存储器中数据进行操作。
由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,在指令符号上采用MOVC的形式(如图3-4所示)。
例如:
MOVCA,@A+DPTR;A←(A+DPTR)
又如,MOVCA,@A+PC;A←(A+PC)
这条指令与上条指令不同的是,基址寄存器是PC。
3.2.6相对寻址
以当前程序计数器PC的内容为基础,加上指令给出的一字节补码数(偏移量)形成新的PC值的寻址方式。
相对寻址用于修改PC值,主要用于实现程序的分支转移。
例如,SJMP08H;PC←PC+2+08H
指令操作示意图如图3-5所示。
3.2.7位寻址
位寻址只能对有位地址的单元作位寻址操作。
位寻址其实是一种直接寻址方式,不过其地址是位地址。
例如:
SETB10H;将10H位置1若22H单元中存放着数据40H,22H单元的D0位的位地址为10H,执行上述指令后(22H)=41H。
又如:
MOV32H,C;32H←进位位C
ORLC,32H;C←C∨32H
教学方法
多媒体演示,借助软件做演示实验,增强学生对知识的理解,提高他们对本课程的兴趣。
作业安排及课后反思
作业:
P56,第1、6题。
课前准备情况及其他相关特殊要求
课前预习3.1,3.2节
参考资料(具体到哪一章节或页码)
教材第35-51页。
谢维成,杨加国.单片机原理与应用及C51程序设计(第3版)[M].北京:
清华大学出版社,2014.第3章。
各大电子类专业网站。
7.5教学单元五
教学日期
第5次课
教学目标
掌握单片机的寻址方式,指令特点,功能和使用。
教学内容
3.3汇编语言的编程方法
重点:
51单片机汇编语言的指令系统;指令表的查阅方法和指令功能的描述。
难点:
51单片机汇编语言的指令系统。
教学过程
3.3.1数据传送类指令
•数据传送类指令共28条,是将源操作数送到目的操作数。
指令执行后,源操作数不变,目的操作数被源操作数取代。
数据传送类指令用到的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP8种。
•源操作数可采用寄存器、寄存器间接、直接、立即、变址5种寻址方式寻址,目的操作数可以采用寄存器、寄存器间接、直接寻址3种寻址方式。
MCS-51单片机片内数据传送途径如图3-6所示。
1.以A为目的操作数
MOVA,Rn;A←Rn
MOVA,direct;A←(direct)
MOVA,@Ri;A←(Ri)
MOVA,#data;A←#data
2.以Rn为目的操作数
MOVRn,A;Rn←A
MOVRn,direct;Rn←(direct)
MOVRn,#data;Rn←#data
3.以直接地址为目的操作数
MOV@Ri,A;(Ri)←A
MOV@Ri,direct;(Ri)←(direct)
MOV@Ri,#data;(Ri)←#data
4.以间接地址为目的操作数
MOV@Ri,A;(Ri)←A
MOV@Ri,direct;(Ri)←(direct)
MOV@Ri,#data;(Ri)←#data
例如:
设(30H)=6FH,R1=40H,执行MOV@R1,30H后,30H单元中数据取出送入R1间接寻址的40H单元,(40H)=6FH。
5.以DPTR为目的操作数
MOVDPTR,#data16;DPTR←#data16
例如执行MOVDPTR,#2000H后,
(DPTR)=2000H。
6.访问外部数据RAM
MOVXA,@DPTR;A←(DPTR)
MOVX@DPTR,A;(DPTR)←A
MOVXA,@Ri;A←(P2Ri)
MOVX@Ri,A;(P2Ri)←A
7.读程序存储器
MOVCA,@A+DPTR;A←(A+DPTR)
MOVCA,@A+PC;A←(A+PC)
例如已知A=30H,DPTR=3000H,
程序存储器单元(3030H)=50H,执行MOVCA,@A+DPTR后,A=50H。
8.数据交换
字节交换
XCHA,Rn;A<=>Rn
XCHA,direct;A<=>(direct)
XCHA,@Ri;A<=>(Ri)
半字节交换
XCHDA,@Ri;A0~3<=>(Ri)0~3
SWAPA;A0~3<=>A4~7
9.堆栈操作
所谓堆栈是在片内RAM中按“先进后出,后进先出”原则设置的专用存储区。
数据的进栈出栈由指针SP统一管理。
堆栈的操作有如下两条专用指令:
PUSHdirect;SP←(SP+1),(SP)←(direct)
POPdirect;(direct)←(SP),SP←SP-1
PUSH是进栈(或称为压入操作)指令。
指令执行过程如图3-7所示。
【例3.1】将片内RAM30H单元与40