C51单片机教案要点.docx
- 文档编号:9685185
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:102
- 大小:245.25KB
C51单片机教案要点.docx
《C51单片机教案要点.docx》由会员分享,可在线阅读,更多相关《C51单片机教案要点.docx(102页珍藏版)》请在冰豆网上搜索。
C51单片机教案要点
单片机教案
石新文
南阳工业学校
第一讲
单片机的概述
一.什么是单片机?
所谓单片机就是将计算机的CPU、RAM、ROM、定时器/计数器和各种I/O口(如并行口、串行口等)集成在一片芯片上而制成的大规模集成电路。
形成芯片级的计算机。
因此单片机早期的含义称为单片微型计算机,简称为单片机(SingleChipMicrocomputer)。
CPU:
是计算机的核心,叫做中央处理单元(CenterProcessUnit)。
所有的数学运算和逻辑控制都由它完成。
RAM:
随机存取存储器(RandomAccessMemory),存放运算过程中的数据。
ROM:
只读存储器(ReadOnlyMemory)。
定时器/计数器:
计算机内部重要部件。
I/O:
输入/输出口(Input/Output),包括并行口、串行口等。
单片机从其诞生就得到广泛应用,人们为增强其应用功能,将一些专用电路(A/D、D/A、比较器等)集成到单片机内部,使它的应用更方便,功能更强,现在单片机的含义本质是微控制器(Microcontroller),但习惯上仍然称为单片机。
二.单片机的发展概况
1.第一代单片机1976~1978
Intel公司的MCS-48系列
Zilog公司的Z8系列
Motorola公司的6801系列
8位单片机,属于SingleChipMicrocomputer的范围。
2.第二代单片机1978~
Intel公司的MCS-51系列
其他公司等。
这时的单片机功能已非常完善,确立了单片机的控制功能,超出了SingleChipMicrocomputer的范围,属于Microcontroller。
3.第三代单片机1982~
全面发展单片机的控制功能,不断完善高档8位单片机,改善其结构,以满足不同客户的要求。
另外还产生了16单片机和专用单片机。
MCS-96系列。
4.单片机的未来
仍将以8位单片机为主流。
8位单片机价格低廉,并能满足绝大部分应用场合。
我们学习单片机也以MCS-51系列,现在市面上的许多单片机也都和MCS-51兼容。
三.单片机的特点
1.小巧灵活,成本低,易于产品化。
2.面向控制,能针对性解决从简单到复杂的各类控制任务,因而能获得最佳性能价格比。
3.抗干扰能力强,能在恶劣的环境下可靠工作。
四.单片机的应用
1.工业方面:
电机控制、过程控制、智能传感器等
2.仪器仪表方面:
智能仪器、医疗器械等
3.民用方面:
电子玩具、家电产品、游戏机等
4.军事方面:
导弹控制、智能武器装置等
5.其它
五.单片机课程的学习方法
单片机是一门应用性很强的课程,并且它的应用涉及硬件和软件,因此学习过程中有不同与其它课程的方法。
1.加强单片机应用的训练
多做实验,探索单片机应用的新领域
2.应用时要注意硬件和软件相结合
一般情况下尽可能减少硬件电路,提高系统可靠性。
3.在老师指导下循序渐进
大胆创新,主动提出课题用单片机去解决
六、单片机的应用环节
编程器
1、设计硬件电路
2、编写程序
3、编程
4、运行
第二讲
微型计算机基础知识
〖课前复习:
〗
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、原码、反码、补码的求法
2、数制之间的转换原则
第三讲
AT89S51单片机内部结构及引脚功能
存储空间配置及功能(交通灯演示)
〖课前复习:
〗
3、数制之间的相互转换
4、原码、反码、补码的求法
〖新课内容:
〗
一.AT89S51单片机内部结构(如图)
外中断
8位并行口
看门狗
1.一个个8位的CPU
2.一个片内振荡器及时钟电路
3.4KBFlashROM(不同型号内容不同,看书P4)
4.128B内部RAM
5.可寻址64KB的外部ROM和外部RAM的控制电路
6.两个16位定时器/计数器(Timer/Counter)
7.26个特殊功能寄存器(Special FunctionRegister)
8.4个8位并行(Parallel)I/O口
9.一个串行口(Series)
10.5个中断源(Interrupt)
11.内部硬件看门狗电路
12.一个SPI串行接口,用于芯片的在系统编程
这些我们称为单片机的资源(Souce),单片机的应用就是怎么充分合理地利用这些资源,来解决实际中的问题。
二.AT89S51单片机的CPU
MCS-51的CPU包括两部分:
运算部件和控制器。
1、运算部件
运算部件组成:
包括算术逻辑部件ALU、布尔处理器、累加器A、寄存器B、暂
存器以及程序状态字寄存器PSW等。
运算部件功能:
是实现数据的算术逻辑运算、位变量处理和数据的传送操作。
ALU的功能:
可以对8位变量进行逻辑“与”、“或”、“异或”、循环、求补和清零
等基本操作,还可以进行加、减、乘、除等基本运算。
还可对位(BIT)变量进行布尔处理,如置位、清零以及逻辑“与”、“或”等操作。
累加器A:
是一个8位的累加器(也可以写为ACC),绝大部分运算和操作都同A有关。
寄存器B:
是专为执行乘法和除法操作而设置的,一般情况下也可以作为暂存
器使用。
2.控制器(Controler)
控制器是单片机的神经中枢,以振荡器的频率位基准,产生CPU时序,对指令(Command)进行译码,然后发出各种控制信号,实现各种操作。
二.AT89S51单片机的引脚及其功能
403932312821
AT89S51
1891017181920
1.电源
(1)VCC(40)——芯片电源,接+5V;(4.5~5.5)
(2)VSS(20)——电源地。
2.时钟引脚
XTAL1(18)、XTAL2(19)——外接晶体振荡或外接脉冲。
(P42)
3.控制线
RST(9)——复位引脚。
(Reset),高电平有效。
EA——片内外ROM选择
EA=1,选择片内ROM;
EA=0,选择片外ROM。
★注意★:
控制信号线写法上的差别。
有“非”表示低电平起作用,反之是高电平起作用。
4.I/O口线
P0口:
8位双向I/O口。
在访问外部存储器时,P0口可用于分时传送低8位地址
总线和8位数据总线。
能驱动8个LSTTL门。
P1口:
8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。
能驱动
4个LSTTL门。
P2口:
8位准双向I/O口。
在访问外部存储器时,P2口可用于高8位地址总线。
能驱动4个LSTTL门。
P3口:
8位准双向I/O口。
能驱动4个LSTTL门。
P3口还有第二功能。
三、AT89S51单片机的存储器结构(如图1所示)
MCS-51单片机的组织结构可以分为三个不同的存储空间,分别是:
(1)64KB的程序存储器(ROM),包括片内和片外;
(2)64KB的外部数据存储器(外RAM);
(3)内部数据存储器(内RAM)。
这三种不同的存储器在物理结构上是相互独立的,它们有各自的寻址系统、控制信号,CPU是通过不同的指令来访问或操作这些存储器。
外部
RAM
(64KB)
三种存储空间的编址有重叠,CPU是怎么处理的?
它是分别通过不同的指令来实现对它们操作。
用MOVC指令访问ROM空间,用MOV指令访问内部RAM,用MOVX指令访问外部RAM。
1.程序存储器(ROM)
程序存储器用于存放程序和表格常数,程序的存放是从0000H单元开始存放。
在ROM的开始一段区间(0003H~0023H)被用于存放中断的入口地址,因此,编制的主程序应存放在它的后面。
至于这段空间的用法我们学习中断的时候再详细研究。
程序上是通过在0000H单元开始的地方设置跳转指令,跳过该区域。
2.外部数据存储器(略)
第四讲
AT89S51单片机内部数据存储器
一.内部数据存储器
AT89S51内部数据存储器共128个字节,字节地址是00H~7FH,它又分为三部分:
工作寄存器区,位寻址区和数据缓冲区。
堆栈、数据缓冲区
(30H~7FH)
位寻址区(20~2FH)
工作寄存器3区(18H~1FH)
工作寄存器2区(10H~17H)
工作寄存器1区(08H~1FH)
工作寄存器0区(00H~07H)
1.工作寄存器区
00H~1FH共32个单元,分为4组,每次只有一组处于当前工作状态,通过改变状态寄存器PSW中RS1,RS0的设置来改变当前使用的工作寄存器。
指令系统中有专用于工作寄存器的操作,读写速度比一般内RAM要快,另外还具有间接寻址功能,使用很方便。
2.位寻址区
20H~2FH共16个单元为位寻址区,每个单元也就是一个字节8位,共计128位,每位对应一个地址,位地址的范围为00H~7FH。
位寻址区的主要用途是存放各种标志位信息和位数据。
3.数据缓冲区(Buffer)
内RAM中30H~7FH为数据缓冲区,用于存放各种数据和中间结果。
在这里我们先来熟悉一下编程环境,以后我们编的程序都可以在这个环境下来仿真运行了,仿真软件用的是伟福软件,界面如下:
(1).进入wave编程环境,熟悉常用指令操作
如:
文件的建立、保存和打开
注意1;在编程序之前首先在D盘建立一个自己的文件夹
D:
/wang
注意2:
在保存文件时,要注意文件的扩展名一定为.asm
并且主文件名不能超过8个字符
(2).编写程序
打开或建立文件后就可以编写或修改文件。
(3).汇编或编译
(a)编制好的文件是源文件,要把汇编语言编写的程序转换成机器码,才能装到芯片内部。
(b)汇编
用鼠标点击菜单"项目编译(F9)"即可,如果程序正确,编译通过,有一对话框提示。
如有错误,会提示错误的信息,把错误修改后再编译,直到通过。
(c)在wave环境中仿真自己编写的程序.
(d)编译自动产生十六进制文件
在wave编程环境中的内部RAM结构如上图,其中第1,2两行地址为00H—1FH为工作寄存器区,第3行20H—2FH为位寻址区,第4行到第8行为数据缓冲区地址为30H---7FH。
二.特殊功能寄存器SFR
SFR也属于内部存储器,由于它是专用的,人们通常讲的内部RAM只指前面的128个,而不包括SFR。
共计21个,它们离散的分布在80H~FFH内。
参看P36页的表。
★对特殊功能寄存器应注意以下几个问题★:
1.那些SFR是可以位寻址的?
字节地址的末位为0或8。
2.可位寻址的SFR的几种操作方式?
字节操作或位操作
3.不可位寻址的SFR的操作方式。
只能字节操作
4.80H~FFH中剩余单元,用户不能使用。
5.程序状态寄存器PSW
位编号
PSW.7
PSW.6
PSW5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0
位地址
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
位定义名
CY
AC
F0
RS1
RS0
OV
P
RS1、RS0=00——0区(00H~07H)
RS1、RS0=01——1区(08H~0FH)
RS1、RS0=10——2区(10H~17H)
RS1、RS0=11——3区(18H~1FH)
CY与OV的区别:
CY为无符号数运算时的进位或借位标志,
OV为有符号数运算时的溢出标志。
6.堆栈指针SP(略)。
一、程序计数器PC
PC不属于特殊功能寄存器,它在物理结构上是独立的。
它是一个16位的地址寄存器,用于指出程序的地址,因此也叫地址指针。
CPU每从ROM中读出一个字节,自动执行(PC)+1PC。
当执行转移指令时,PC会根据该指令修改下一次读ROM的新地址。
(以跳过中断入口区为例,略)
小结:
1、内部128RAM的分区及其作用
2、如何区分位地址和字节地址
第五讲
MCS-51的指令格式与常用符号
〖课前复习:
〗
1、内部128RAM的分区及其作用
2、如何区分位地址和字节地址
〖新课内容:
〗
一、AT89S51单片机的指令格式
[标号:
]操作码[(目的操作数),(源操作数)][;注释]
⑴标号:
指令地址的符号表达形式。
①一般用英文字母和数字组成,但是必须以字母开头。
②系统的保留字不能作标号。
例如:
Acc、PSW,B等等
③标号必须用冒号“:
”与操作码分隔
④标号是可以选择的
⑵操作码:
表示指令的操作功能。
①操作码是表示指令功能的助记符,
它代表了指令的操作功能。
例如:
MOV数据传送指令的操作码
ADD加法运算指令的操作码
②操作码是指令的必需部分,
是指令的核心,不可缺少。
⑶操作数:
参加操作的数据或数据地址
①操作数可分为目的操作数和源操作数。
②操作数可用二进制数、十进制数或十六进制数表示。
③操作数的个数可以是0~3个。
④第1个操作数与操作码之间用空格分隔,
⑤操作数与操作数之间用逗号“,”隔开。
⑷注释:
指令功能说明。
①注释是可以选择的,是为便于阅读,对指令功能作的说明和注解。
②注释必须以“;”开始。
二、指令中部分常用的符号
Ri:
工作寄存器R0和工作寄存器R1,i=0或1
Rn:
工作寄存器R0~R7,n=0~7
@Ri:
寄存器R0和R1间接寻址8位的存储单元。
Direct:
8位直接地址,内部RAM的地址或SFR的地址。
#data8:
8位的立即数。
数的范围为0~255。
Bit:
位地址。
片内RAM和SFR中的可寻址位。
#data16:
16位立即数
addr16:
16位目的地址,用于LJMP和LCALL指令。
addr11:
11位目的地址,用于AJMP和ACALL指令。
rel:
带符号的8位偏移地址,用于SJMP和转移指令。
addr16、addr11、rel三个符号在具体的指令中都表现为标号的形式。
DPTR:
数据指针,特殊功能寄存器。
DPTR是DPH、DPL的组合,DPTR存放的是16位数据,其中的高8位
就是DPH中的内容,低8位就是DPL中的内容。
三、内部RAM间的数据传送和位操作
操作码:
MOV(即Move的缩写)
1.以累加器A为目的字节的传送指令。
MOVA,Rn;
MOVA,direct;
MOVA,@Ri;
MOVA,#data;
2.以Rn为目的字节的传送指令
MOVRn,A;
MOVRn,direct;
MOVRn,#data;
3.以直接地址为目的字节的传送指令
MOVdirect,A;
MOVdirect,Rn;
MOVdirect,#data;
MOVdirect1,direct2;
MOVdirect,@Ri;
4.以寄存器间接地址为目的字节的传送指令
MOV@Ri,A;
MOV@Ri,direct;(direct:
直接的)
MOV@Ri,#data;
讲解例题
Rn
第六讲
对内部RAM的操作指令
〖课前复习:
〗
1、AT89S51的指令格式、常用符号
〖新课内容:
〗
1、清零与取反指令
CLRA;对累加器清零
CPLA;将累加器中的内容按位取反
注意:
清零和取反指令只能对A操作
如果要对内部RAM的某个单元清零,只能用MOV30H,#0
2、位操作指令
1)、位传送指令
MOVC,bit;C即PSW中的Cy
MOVbit,C;bit为可寻址位
2)、位修正指令
CLRC;
CLRbit;清零
CPLC;
CPLbit取反;
SETBC;
SETBbit;置1
3)bit的形式
bit可以是位编号、位地址、位定义名三种形式中的任何一种
三、例题
设内部RAM中各单元的内容均为FFH,执行下列程序后,写出单元内容发生变化的单元,并写出具体内容。
SETBRS0
CLRRS1
MOVR1,#55H
CLRRS0
MOVR1,#0AAH
MOVA,#40H
MOVR0,#30H
MOV@R0,A
MOVR1,A
MOV@R1,#20H
MOV20H,#0
SETB07H
CPL08H
CLR70H
MOV60H.,#1
如果(60H)=
把这段程序输入到伟福仿真软件中,可以得到如下的仿真结果
(60H)=01H(00H)=30H(01H)=40H(09H)=55H
(20H)=80H(21H)=01H(30H)=40H(40H)=20H
注意:
输入到wave中的程序必须是完整的程序结构。
总结:
如何区别bit和direct?
1、一般在MOV后面,指的是direct,除了指令中含有C时,则指bit
2、在SETBCLRCPL后都指bit
3、CLRA,CPLA这两条指令是对8位数据的操作
第七讲
I/O口结构原理与操作
〖课前复习:
〗
2、AT89S51的指令格式、常用符号
3、对内部RAM的数据传送指令
〖新课内容:
〗
1.P0口结构及工作原理
V1
P0口有两种功能,一个是作为通用的I/O口;另一个是作为地址/数据总线(Bus),用于扩展外部的ROM和RAM,我们以后再研究。
(1)P0口用作输出口:
控制线上信号为0,电子开关与B接通。
同时与门输出
为0,V1截止。
(2)由于V1截止,输出级处于开漏状态,用作输出口时,需外接上拉电阻。
如果没有上拉电阻,在输出高电平时,V1、V2都截止,输出引脚悬空,不
能输出高电平。
(3)用作输入口时,也就是要把引脚上的信号读进来。
我们看一下,假设V2导通,这时不管外电路施加什么电平,都被V2短路,读进来的始终是低电平。
因此要想把它作为输入口,必须保证V2截止,要使V2截止,需先向该端口写入“1”,这点要特别注意。
(4)P0口的每一位可任意作为输入或输出。
既可以用数据传送指令来整体操作,也可用位操作指令一位一位地操作。
(5)带负载能力:
8个LSTTL电平(0.36毫安/20微安)。
(6)操作举例(略)。
2.P1口结构
R
(1)作为输出口时,不需外接上拉电阻。
(2)作为输入口时也要先向该端口锁存器写入“1”,然后再读。
(3)每位也可分别用作输入或输出。
(4)带负载能力:
4个LSTTL门电路。
3.P2口结构(同P1口)
4.P3口结构(同P1口)
5.I/O口的操作
可以用I/O口去控制发光二极管,使其亮灭,或者控制继电器使其吸合,在WAVE环境下,编写一小段程序,通过在线编程,把程序下载到单片机中,去控制发光二极管,给学生演示,使学生更加直观的了解I/O口的应用和操作.
小结:
1、P0口用作输出口时,需外接上拉电阻。
而P1~P3口不要接上拉电阻
2、P0~P3口作为输入口使用,都要先向该端口锁存器写入“1”,
3、P0~P3口每位也可分别用作输入或输出。
4、对口的操作,对字节操作用数据传送指令,对位操作用位操作指令。
5、带负载能力
P0口带8个LSTTL门电路,而P1~P3口能带4个LSTTL门电路
第八讲
MCS-51单片机最小应用系统
--------以AT89S51为例
〖课前复习:
〗
1、清零、取反指令的功能
4、P0~P3口作为一般的输入\输出口使用的注意事项
〖新课内容:
〗
一、最小硬件系统
1、最小硬件系统的组成
所谓最小硬件系统是指单片机能工作所必须具备的硬件条件,它包括四个部分:
1)电源
芯片接上5V电源,即40脚接5V电源的正,20脚接地。
2)时钟电路
18、19脚接晶体振荡器和电容构成时钟电路,如图所示。
3)程序存储器选择EA
89C5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 教案 要点