学习任务一51系列单片机AT89S51基础知识单片机应用技术教案文档格式.docx
《学习任务一51系列单片机AT89S51基础知识单片机应用技术教案文档格式.docx》由会员分享,可在线阅读,更多相关《学习任务一51系列单片机AT89S51基础知识单片机应用技术教案文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
电子课件。
教学学时
14
教学内容与教学过程设计
注释
学习任务一51系列单片机(AT89S51)基础知识
〖任务说明〗
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、多种I/O端口和中断系统、定时器/计数器等(有的单片机还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域具有广泛的应用。
在本学习任务中,主要学习单片机的发展历史、结构组成、存储结构、输入输出设备及单片机编程语言等。
通过实验使学生加深对单片机编程语言的理解,掌握单片机编程的基本思路和流程以及其运行和控制的基本规律。
〖任务准备〗
一、单片机概述
1.单片机简介
明确任务。
RAM和ROM的区别;
不同型号芯片的比较。
由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统)。
和计算机相比,单片机只缺少了外围设备。
单片机的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择,它最早被用在工业控制领域。
2.单片机的发展及应用
单片机的型号有8031、8051、80C51、80C52、8751、89S51等。
8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路74LS373(74LS373为8位地址锁存器),外接的程序存储器多为EPROM(一种断电后仍能保留数据的计算机储存芯片,即非易失性的芯片。
8051片内有4KB的ROM,无须外接外存储器和74LS373,更能体现“单片”的简练。
在众多的51系列单片机中,ATMEL公司的AT89C51、AT89S51更实用。
二、51系列单片机(AT89S51)的结构组成
1.单片机的内部组成
1)微处理器(CPU)
2)数据存储器(FlashRAM)
3)程序存储器(ROM)
4)中断系统
5)定时器/计数器
6)看门狗定时器(WDT)
7)串行口
8)P1口、P2口、P3口、P0口
9)特殊功能寄存器(SFR)
2.单片机的引脚功能
引脚按其功能可分为如下三类。
(1)电源及时钟引脚。
(2)控制引脚。
(3)I/O端口引脚。
几个比较重要的引脚功能介绍
1)电源引脚
2)时钟引脚
3)控制引脚
3.单片机的外围电路
1)时钟电路及时序
(1)内部时钟方式。
图1-3AT89S51的内部时钟方式电路
(2)外部时钟方式。
图1-4AT89S51的外部时钟方式电路
2)时钟周期、机器周期与指令周期
(1)时钟周期。
时钟周期是时钟控制信号的基本时间单位。
(2)机器周期。
CPU完成一个基本操作所需时间为机器周期。
(3)指令周期。
指令周期是指执行一条指令所需的时间。
3)复位操作和复位电路
(1)复位操作。
复位操作即单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可以使AT89S51复位。
复位时,PC初始化为0000H,程序从0000H单元开始执行。
(2)复位电路。
复位电路分为上电自动复位和按键复位两种。
三、单片机的存储器结构
1.单片机的数据存储器RAM
1)内部RAM
(1)工作寄存器区。
内部RAM的00H~1FH为工作寄存器区,共32个字节,分为4组,每组为8个8位寄存器(R0~R7)。
在任一时刻,CPU只能使用其中的一组寄存器,当前程序使用的工作寄存器组是由程序状态字PSW的RS0、RS1位来选择的。
(2)位寻址区。
内部RAM的20H~2FH字节为可位寻址区域,这16个字节共128位,每一位都有一个位地址,位编址为00H~7FH,用户可用程序对它们直接进行清零、置位、取反和测试等操作。
位寻址区的RAM单元也可按字节寻址,作为一般的数据缓冲器使用。
(3)用户RAM区。
内部RAM的30H~7FH字节为用户RAM区,即通用数据缓冲区,共80个单元,作为一般数据缓冲使用。
52子系列的用户RAM区为30H~FFH范围内的208个字节。
对于用户RAM区,只能以存储单元的形式来使用,没有其他任何规定和限制。
2)单片机的特殊功能寄存器SFR
常用的特殊功能寄存器如下。
(1)ACC,累加器,通常用A表示。
(2)B,B寄存器。
在做乘、除法时存放乘数或除数,不做乘、除法时,使用比较随意。
(3)AUXR,辅助寄存器,它的各位功能见表1-5。
(4)PSW。
程序状态字。
(5)数据指针DPTR0和DPTR1。
双数据指针寄存器,便于访问数据存储器。
(6)AUXR1。
辅助寄存器,它的各位功能见表1-7。
(7)SP堆栈指针。
(8)WDT。
看门狗定时器。
2.单片机的程序存储器ROM
ROM用于存放程序及表格常数,读取ROM的指令为“MOVC”。
AT89C51片内有4KB的ROM,外部可用16位地址线扩展到最大64KB的ROM空间。
片内ROM和外部扩展ROM是统一编址的。
四、单片机的输入/输出(I/O)端口
1.P0口(~)
1)P0口用作地址/数据总线
2)P0口用作通用I/O端口
(1)P0口作输出口使用时,来自CPU的“写”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并由引脚输出。
(2)P0口作输入口使用时,有两种读入方式:
“读锁存器”和“读引脚”。
口(~)
P1口只能作为通用的I/O端口使用。
(1)P1口作输出口使用时,若CPU输出1,Q=1,Q=0,场效应管截止,P1口引脚的输出为1;
若CPU输出0,Q=0,Q=1,场效应管导通,P1口引脚的输出为0。
(2)P1口作为输入口使用时,分为“读锁存器”和“读引脚”两种方式。
(3)P1口由于内部上拉电阻,无高阻抗输入状态,故为准双向口。
3.P2口(~)
P2口某一位的位电路结构P2口的工作过程分析如下。
1)P2口用作地址总线
2)P2口用作通用I/O端口
3)P2口的特点
P3口的工作过程分析如下。
1)P3口用作第二输入/输出功能
2)P3口用作第一功能——通用I/O端口
3)P3口的特点
O端口的使用
图1-14发光二极管与AT89S51并行口的直接连接
五、单片机编程语言
(一)单片机指令概述
令格式:
指令的表示方法。
指令通常由两部分组成:
操作码和操作数。
操作码:
指令进行的操作。
操作数:
指令操作的对象,可能是一具体数据,也可能是指出到哪里取得数据的地址或符号。
1.单片机寻址方式
寻址方式所要解决的主要问题就是如何在整个存储器和寄存器的寻址空间内快速地找到指定的地址单元。
1)寄存器寻址方式
2)直接寻址方式
3)寄存器间接寻址方式
4)立即数寻址方式
5)基址寄存器加变址寄存器间接寻址方式
6)相对寻址方式
7)位寻址方式
2.单片机指令分类
AT89S51共111条指令,按功能分为5类:
数据传送类(28条)、算术运算类(24条)、逻辑操作类(25条)、控制转移类(17条)、位操作类(17条)。
指令用到的符号见表1-10。
(二)数据传送指令
数据传送类指令使用最频繁,一般数据传送类指令的助记符为“MOV”,通用格式如下。
MOV<
目的操作数>
,<
源操作数>
数据传送类指令是把源操作数传送到目的操作数。
指令执行之后,源操作数不改变,目的操作数修改为源操作数。
所以此类指令虽说称为“传送”类操作却属“复制”性质,而不是“搬家”。
本类指令不影响标志位CY、AC和OV,但不包括奇偶标志位P。
1.以累加器为目的操作数的指令
2.以Rn为目的操作数的指令
3.以直接地址direct为目的操作数的指令
4.以寄存器间接地址为目的操作数的指令
5.16位数传送指令
6.堆栈操作指令
1)进栈指令PUSHdirect
首先将栈指针SP加1,然后把direct中的内容送到SP指示的内部RAM单元中。
2)出栈指令POPdirect
将SP指示的栈顶单元的内容送入direct字节中,然后SP减1。
7.累加器A与外部数据存储器RAM/IO传送指令
8.查表指令
1)MOVCA,@A+PC
该指令的优点是不改变特殊功能寄存器及PC的状态,根据A的内容就可以取出表格中的常数;
缺点是表格只能存放在该条查表指令所在地址的+256个单元之内,表格大小受到限制,且表格只能被一段程序所用。
2)MOVCA,@A+DPTR
DPTR为基址寄存器,A的内容(无符号数)和DPTR的内容相加得到一个16位地址,把由该地址指定的程序存储器单元的内容送到累加器A。
9.字节交换指令
这组指令的功能是将累加器A的内容和源操作数的内容相互交换。
源操作数有寄存器寻址、直接寻址和寄存器间接寻址等方式。
10.低半字节交换指令
(三)算术运算指令
1.不带进位加法指令
2.带进位加法指令
3.增1指令
4.十进制调整指令
5.带借位的减法指令
6.减1指令
7.乘法指令
8.除法指令
(四)逻辑操作指令
1.累加器A清零指令
2.累加器A求反指令
3.左环移指令
4.带进位左环移指令
5.右环移指令
6.带进位右环移指令
7.累加器半字节交换指令
8.逻辑与指令
9.逻辑或指令
10.逻辑异或指令
(五)跳转与循环指令
1.长转移指令
2.相对转移指令
3.绝对转移指令
4.间接跳转指令
5.条件转移指令
6.比较不相等转移指令
7.减1不为0转移指令
8.调用子程序指令
1)长调用指令
2)绝对调用指令
9.子程序的返回指令
10.中断返回指令
11.空操作指令
(六)布尔指令(位操作指令)
1.数据位传送指令
2.位变量修改指令
3.位变量逻辑与指令
4.位变量逻辑或指令
5.条件转移类指令
(七)单片机伪指令
:
预留存储区命令
定义位命令
通知汇编器使用的是哪一个工作寄存器组
用来改变汇编器的计数器,从而设定一个新的程序起始地址
用来控制汇编结束
用于将一个数值或寄存器名赋给一个指定的符号名
用于将一个内部RAM的地址赋给指定的符号名
以表达式的值的字节形式初始化代码空间
数据地址赋值伪指令
(八)关于AT89S51指令部分的说明
1.关于操作数的字节地址和位地址的区分问题
2.关于累加器A与ACC的书写问题
3.书写2位十六进制数据前要加0
〖任务〗
单片机功能体验——LED灯的“眨眼”节奏控制
工作内容及要求
本任务通过单片机对接在口上的一只发光二极管LED进行闪烁控制。
控制过程为上电后发光二极管LED灯点亮,持续点亮一段时间后,LED灯熄灭,熄灭相同的时间后再点亮……这样周而复始地进行下去,形成“眨眼睛”的效果。
通过实训体验单片机控制外围设备的方法,了解单片机硬件系统和软件指令系统协调工作的过程,激发学生学习单片机应用