教 案 首 页
(以2课时为单元)
课 序 课 题 授课日期 授课班次 授课教师 薛凯凯 批准人 目的要求 教学内容 重点难点 教学方法 理论讲述为主,结合举例进行讲解 手 段 1) 回顾与提问 2) 课程讲解 教学步骤 3) 课堂讨论 4) 小结 5) 布置作业 复 习 提 问 题 作业题目 预习内容 课时分配(以分钟计算) 教学环节 时间分配
复习提问 3 新课讲解 85 课堂讨论 7 每课小结 4 布置作业 1 教 学 内 容 课堂组织 【回顾与提问】 第三讲 单片机存储器及I/O接口 一、单片机的存储器 MCS-51单片机有两种存储器,即程序存储器和数据存储器。程序存储器用来存储编入的程序;而数据存储器用来存放单片机工作时用到的一些临时数据。从物理地址空间来看,MCS-51有四个存储地址空间,即片内程序存储器和片外程序存储器,以及片内数据存储器和片外数据存储器。 1、程序存储器 对单片机进行编程时,一般现在计算机中用软件编写程序,再通过编程器将编好的程序写入程序存储器。 MCS-51单片机在一般情况下使用内部程序存储器,当内部存储空间不够时需要使用外部程序存储器。程序存储器受EA端外接电平的控制。 ▲ 当EA=0(接地)时,单片机只能使用外部程序存储器 ▲ 当EA=1(接+5V电源)时,单片机先使用内部程序存储器,容量不够时自动使用外 部程序存储器。 89C51系列单片机内部有4KB程序存储器,存储单元的地址编号是0000H——0FFFH,当扩展外接60KB程序存储器时,外部程序存储器的地址编码是1000H——FFFFH。 MCS-51单片机上电复位后程序计数器PC的内容为0000H,因此系统从0000H单元开始取指令执行程序。 2、数据存储器 MCS-51单片机的数据存储器分为两个地址空间:一个为内部数据存储器;另外一个为外部数据存储器,需要采用不同的方式访问。 内部数据存储器有256B空间,地址编号为00H——FFH;外部数据存储器的地址编号为0000H——FFFFH,有64KB存储空间。最常用的是内部数据存储器,其结构如下图。 从图中可以看出来,内部数据存储器分为四个区:工作寄存器区、位寻址区、数据缓冲区和特殊功能寄存器区。 二、单片机的I/O口 对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,亦或接受外部的控制,都是通过I/O口进行的。单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。 1、P0口的结构及工作原理 上图为P0口的某位P0.n(n=0~7)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。 (1)P0口作为普通I/O口 ▲输出时CPU发出控制电平“0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。 ▲输入时分读引脚或读锁存器。读引脚(由传送指令(MOV)实现)下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。读锁存器时上面一个缓冲器用于读端口锁存器数据。 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。 (2)P0作为地址/数据总线 CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。 P0引脚输作为出地址/输入数据时,输入信号是从引脚通过输入缓冲器进入内部总线。 此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。 2、P2口的结构及工作原理 (1)P2口作为普通I/O口 CPU发出控制电平“0” ,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。 (2)P2口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过256B (用MOVX @DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。 3、P1口、P3口的内部结构 (1)P1口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成----准双向口。 (2)P3口的内部结构 ▲作为通用I/O口与P1口类似----准双向口(W=1) ▲P3第二功能(Q=1) 综上所述: (1)当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。 (2)当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。 (3)P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 (4)P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 (5)P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。