1、1-1 单片机及其特点 单片微型计算机(Single-Chip Microcomputer),简称单片计算机.就是将CPU,RAM,ROM,定时/计时器和多种接口集成在一块芯片上的微型计算机. ※ 其主要特点如下: 片内存储容量较小: 原因是受集成度的限制.ROM一般小于8KB,RAM一般小于256B,但可以在外部扩展.通常ROM,RAM可分别扩展至64KB. 可靠性高: 因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机. 系统软件(如:程序指令,常数,表格)固化在ROM中,不易受病毒破坏. 许多信号的通道均在一个芯片内,故运作时系统稳定可靠. 便于扩展: 片内
2、具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统. 控制功能强: 具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令. 实用性好: 体积小,功耗低,价格便宜,易于产品化. 1-2 单片机的发展 第1阶段(1971年—1978年),以MCS-48系列为代表,称4位单片机. 在片内: CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,无串行接口;只有1个8位的定时/计时器;中断源只有2个. 在片外: 寻址范围只有4KB;芯片引脚有40个. 第
3、2阶段(1978年—1983年),以MCS-51系列为代表,称8位单片机. 在片内: CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2个或3个16位的定时/计时器;中断源有5至7个. 在片外: 寻址范围有64KB;芯片引脚有40个. 第3阶段(1983年以后),以MCS-96系列为代表,称16位单片机. 在片内: CPU有16位;ROM有8KB;RAM有232B;有串/并行接口;有4个16位的定时/计时器;中断源有8个;增加了D/A和A/D转换电路. 在片外: 寻址范围有64KB;芯片引脚有48个或68个. ※ 以上MCS-51系列以其
4、优良的性价比,在我国得到了广泛的应用. 1-3 单片机的应用 单片机主要有单机应用和多机应用. 单机应用:(一个系统使用一块单片机——普通应用模式) 家用电器: 如高档的洗衣机,空调器,电冰箱,彩电,DVD,音响,手机,高档电子玩具等电器,用单片机做自动控制. 智能设备: 用单片机改造普通仪器,仪表,读卡机等,使其(集测量,处理,控制功能为一体)智能化,微型化. 网络与通信的智能接口: 在大型计算机控制的网络或通信电路与外围设备的接口电路中,用单片机来控制或管理,可大大提高系统的运行速度和接口的管理水平. 工业测控: 对工业设备(如机床,汽车,高档中西餐厨具,锅炉,供水系
5、统,生产自动化,自动报警系统,卫星信号接收等)进行智能测控,大大地降低了劳动强度和生产成本,提高了产品质量的稳定性. 多机应用:(一个系统使用多块单片机——高科技应用模式) 功能弥散系统: 并行多机处理系统: 局域网络系统: 单片机的发展趋势 单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。 纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:
6、 1.低功耗CMOS化 MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 2.微型单片化 现在常规的单片机普遍
7、都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成
8、的系统正朝微型化方向发展。 3.主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走
9、的是依存互补,相辅相成、共同发展的道路。 MCS-51单片机原理 一、 MCS-51单片机的基本组成(以AT89C51为例) 1.单片机内部有几个并行I/O端口?名称是什么?(答:4个,是P0~P3 ) 2.内部程序存储器ROM空间是多大?六个特定单元的作用是什么? (答:内部集成了4K的程序存储器ROM. 在ROM中有六个单元具有特定作用: 0000H单元:复位时程序计数器PC所指向的单元; 0003H单元:外部中断/INT0的程序入口地址; 000BH单元:定时器T0溢出中断的程序入口地址; 0013H单元:外部中断/INT1的程序入口地址; 00
10、1BH单元:定时器T1的溢出中断的程序入口地址; 0023H单元:串行口的中断程序入口地址。) 3.内部的数据存储器RAM空间多大?普通数据存储区和SFR各自的位置? (答:内部具有256B的数据存储器RAM. 内部RAM从功能上将256B空间分为二个不同的块:低128B的普通数据存储区RAM块,特殊功能寄存器 SFR在256B字节中的高128B中,仅仅使用了21寄存器.) 4.哪些SFR(特殊功能寄存器)可以按位寻址?(答:凡是SFR的地址能被8整除,则这些单元就可以按位寻址. 如: 累加器A E0H 程序状态字PSW D0H 中断允许寄存器IE A8
11、H 定时器控制寄存器TCON 88H 并行端口P0~P3 80H、90H、A0H、B0H等) 5.单片机内部定时/计数器有几个?名称是什么?(答:2个16位的定时/计数器 T0、T1) 6.MCS-51单片机的中断源有几个?各是什么? (答:设有5个中断源T0、T1、Int0、Int1、ES ) 二、MCS-51单片机的指令系统 1.51单片机的指令系统有多少条指令?几种寻址方式?(答:111条指令和7种寻址方式) 2. 什么是指令的长度?什么是指令周期? (答:指令的长度是指令的字节数.单字节,双字节和三字节.指令周期
12、是执行一条指令所需要的时间,它是时序图中最大的时间单位。) 3.若系统采用12MHZ晶体,一个单机器周期的指令执行时间是多少?(答:1/12µs×12×1=1µs) 三、使用指令分别完成下面操作: 1.开放(使能)串口中断;(答:SETB EA ) 2.将定时/计数器T0设定为定时方式、模式一;(答:MOV TM0D,#01H ) 3.将累加器A中的数据通过串行口发送出去;(答:MOV SBUF, A ) 4.将累加器A赋值0FH并通过P1口输出; (答:MOV A,0FH MOV P1,A) 四、编程 试编程,将数据存储器20H~2FH单元分别赋值0
13、0H~0FH; 答:MOV CX, 0FH MOV AX, 00H MOV BX, 001FH LP: INC BX MOV [BX],AX INC AX LOOP LP MOV [0020H],00H MOV [0021H],01H MCS-51单片机存储器结构 MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC
14、 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。 程序内存ROM 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM;EA = 0,寻址外部ROM 地址长度:16位 作用: 存放程序及程序运行时所需的常数。 七个具有特殊含义的单元是: 0000H —— 系统复位,PC指向此处; 0003H —— 外部中断0入口 000BH —— T0溢出中断入口 0013H
15、 —— 外中断1入口 001BH —— T1溢出中断入口 0023H —— 串口中断入口 002BH —— T2溢出中断入口 内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。 作用:作数据缓冲器用。 上图是8051单片机存储器的空间结构图 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题
16、的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。
17、 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。 另一组特
18、殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H—000AH 外部中断0中断地址区。 000BH—0012H 定时/计数器0中断地址区。 0013H—001AH 外部中断1中断地址区。 001BH—0022H 定时/计数器1中断地址区。 0023H—002AH 串行中断地址区。 可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来存放一个中断服务
19、程序显然是不可能的。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。 下图是ROM的地址分配图: 从上图中大家可以看到,0000H-0002H,只有三个存储单元,3个存储单元在我们的程序存放时是存放不了实际意义的程序的,通常我们在实际编写程序时是在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的用户ROM区域,再来安排我们的程序语言。从0033开始的用户
20、ROM区域用户可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到。 数据存储器 数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。 MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即: 数据存
21、储器空间(低128单元); 特殊功能寄存器空间(高128单元); 这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。下面我们就来详细的与大家讲解一下: 低128单元: 片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址
22、寄存器。 从上图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清楚地看出它们的结构分布。 1、通用寄存器区(00H-1FH) 在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器——程序状态字
23、寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如下表所示。惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。 2、位寻址区(20H-2FH) 片内RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分配如下表所示: ++++++++ CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理
24、功能,布尔处理的存储空间指的就是这些为寻址区。 3、用户RAM区(30H-7FH) 在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应说明的是,堆栈一般开辟在这个区域。 高128单元:(80H-FFH) 前面提到,在片内的RAM中,高128位是专用寄存器区,因这节比较重要,所以我们单独的安排一节课跟大家介绍。下节课我们就重点介绍51单片机片内RAM的高128位,即专用寄存器区。 MCS—51单片机的硬件结构 第一节 MCS — 51 单
25、片机的 逻辑 结构及信号引脚 要求:熟悉 MCS-51 结构、内部逻辑结构与单片机的引脚信号 (一) MCS — 51 单片机系列 按工艺划分: ◆ HMOS 工艺产品:如 8031 、 8051 、 8751 等; ◆ HCMOS 工艺产品:如 80C31 、 80C51 、 87C51 等;按 ROM 的类型划分: ◆ ROM 型产品、 ◆ PROM 型产品、 8051 ◆ EPROM 型产品、 87C51 、 87C52 ◆ Flash 型产品: AT89C51 、 AT89C52 (二) MCS — 51 单片机的内部结构 一、 8051 微处理
26、器 CPU ◆ 1 、运算器 :由算术逻辑单元 ALU、累加器ACC、B寄存器、两个暂存寄存器、程序状态寄存器组成 PSW ; 8 位,可以进行算术云算(加,减,乘,除,乘除运算与寄存器 B 有关)、逻辑运算及移位运算等。 ◆ 2 、控制器:由指令寄存器 IR 、指令译码器 ID 、定时及控制逻辑电路、程序计数器 PC 组成,使单片机的运行控制中心。 PC 的结构与功能: 16 位的程序寄存器,控制程序的执行。 IR , ID 的功能; 二、 8051 的片内存储器 ◆ ROM : 4KB ,地址 0000H--0FFFH (使用时) ◆ RAM : 128B ,地址
27、00H--7FH 三、 8051 的 I/O 端口电路 四、定时器 / 计数器: 2 个 16 位的定时器 / 计数器 五、中断控制系统: 5 个中断源,其中两个外部中断、两个定时 / 计数器中断、 1 个串行口中断。 六、串行口: 1 个全功能异步串行口 七、时钟电路:在时钟电路的外部添加晶振及电容就可以组成完整的震荡电路,为系统工作提供时钟。 八、总线:通过内部总线把系统的各个部分连成一个有机的整体。 (三) MCS-51 单片机的信号引脚 一.引脚简介: 输入 / 输出口线: ◆ P0 口:地址 / 数据复用口 ◆ P2 口:高 8 位地址口 ◆ P1
28、 口:一般 I/O 口 ◆ P3 口:一般 I/O 口、第 2 功能口(串行口) 口及口线的表示方法: P0 、 P1 、 P2 、 P3 ; P1.0 、 P1.1 ALE :地址锁存控制信号,用于外部存储器或 I/O 端口总线访问的同步控制,从而使总线上的地址 / 数据信号有序的流动。 PSEN :外部程序存储器读选通信号,当 PSEN 信号为低时表示对外部程序存储器进行访问。 RST :系统复位信号,该引脚上的高电平(两个时钟周期以上)会使系统进入复位状态。 XTAL1 、 XTAL2 :外接晶振引脚 VSS 、 VCC :地、电源 二. 信号引脚的第二功
29、能 1). P3 口的第二引脚功能 RXD(P3.0) :串行数据接收端 TXD(P3.1) :串行数据发送端 /INT0(P3.2) :外中断 0 申请信号输入端 /INT1(P3.3) :外中断 1 申请信号输入端 T0(P3.4) :定时器 / 计数器 0 计数输入端 T1(P3.5) :定时器 / 计数器 1 计数输入端 /WR(P3.6) :外部 RAM 写选通 /RD(P3.7) :外部 RAM 读选通 /PROG(ALE) :编程脉冲输入端 Vpp(/EA) :编程电压加入端 VPD(RST) :备用电源输入端 三. 单片机的三总线
30、结构: 地址总线: P0 : A0~A7 , P2 : A8~A15 数据总线: P0 : D0~D7 控制总线: /WR 、 /RD 、 /PSEN 、 ALE 、 /EA (四) MCS--51 单片机的时钟与时序 一、时钟方式: ( 1 )、内部时钟方式: ( 2 )、外部时钟方式: XTAL1 — GND , XTAL2 —外部时钟信号 二、时序信号: ◆ 晶振周期: T0 ◆ 状态周期: 2T0 ◆ 机器周期: 12T0 ◆ 指令周期:至少 12T0 三、 8051 的取指与指令的执行 (一)、单周期指令 (二)、双周期指令 (
31、三)、多周期指令 第二节 MCS--51 单片机的 内部 存储器 要求:掌握 MCS-51 单片机的内部数据存储器的机构及用途,掌握堆栈操作的基本方法,掌握程序存储器的分配与使用。 一内部 RAM 低 128 字节单元:地址: 00H~7FH 1、 通用寄存器区:(地址: 00H~1FH ) 分为 4 组:第 0 组: 00H~07H 第 1 组: 08H~0FH 第 2 组: 10H~17H 第 3 组: 18H~1FH 当前寄存器组:由 PSW 寄存器的 RS1 、 RS0 的组合决定 支持的访问方式:寄存器寻址、直接寻址、间址寻址方式 2 、位寻
32、址区: (20H~2FH 、共 16 个字节单元, 128 个位单元 ) 位地址的编排: 00H~7FH 位地址空间的访问:按字节方式访问 按位寻址方式访问 3 、 RAM 区:(地址范围: 30H~7FH ,共 80 个单元 ) 该空间可以由用户自由安排使用,主要用作堆栈的开辟和用户使用变量的存储。 二 内部 RAM 高 128 字节单元 MCS-51 单片机的特殊功能寄存器被分配到内部 RAM 的高 128 字节单元,共有特殊功能寄存器 22 个,其中可以访问的寄存器 21 个,除去寄存器 ] 占用的单元以外剩余的单元不可以再被用户使用,而是被系统保留以后扩展设
33、计时使用。 主要的 SFR 简介: 程序指针寄存器 PC(PROGRAM COUNTER) 16 位、可以访问的程序存储器空间 64K ,用户不能用指令直接修改该寄存器的值,但执行转移、调用、返回等指令可以引起 PC 值的改变。 累加器 A(Accumulator) : ACC 是算术运算和逻辑运算的主要场所、也是运算结果的存储场所、是数据传送的中转站,还可以用于变址寻址等,该寄存器的使用频率非常的高,其使用非常重要。 B 寄存器:主要与 ACC 配合使用完成乘法、除法运算。 程序状态寄存器 PSW ( PROGRAM STATUS WORD ): CY AC
34、 F0 RS1 RS0 OV / P CY :进位或借位标志位 AC :辅助进位标志位 F0 :用户标志位 RS1\RS0 :通用寄存器组选择位 OV :溢出标志位 P :奇偶标志位 数据指针 DPTR : 16 位的数据指针,可以分为两个 8 位的寄存器使用( DPL 、 DPH ),主要用作访问外部数据空间的地址寄存器和程序存储器的查表访问。 特殊功能寄存器的寻址问题: SFR 按字节访问只能使用直接寻址方式,具体的使用方法举例如下: MOV P0,#55H MOV 80H,#55H 这两条指令的功能和指令代码完全一样
35、也就是说对于特殊功能寄存器的访问可以用寄存器的名称也可以用寄存器的地址,这里 80H 就是 P0 口的寄存器地址。 专用寄存器的位访问:有 11 个特殊寄存器可以按位进行访问,这些特殊功能寄存器的对应位都有相应的位地址,对这些位的访问举例如下: CLR 80H CLR P0.0 这两条指令的功能也是完全相同的,只是表示方法有所差异,也就是说可以通过对应位的位地址或通过位的名称来访问具体的位,而寄存器中的其他位不受影响。 三、 MCS-51 单片机的堆栈及其操作 堆栈的主要功能:保护断点和程序现场 保存用户数据 堆栈的操作规则:先进后出 堆栈的具体操作:
36、 堆栈的创建:通常堆栈指针在初始化时要指向用户 RAM 区 堆栈的入栈操作: PUSH direct_address ; SP+1 → SP,(direct_address) → 栈顶 单元 堆栈的出栈操作: POP direct_addree ;栈顶单元的内容→ (direct_address),SP-1 → SP. 四、 MCS--51 单片机的 ROM 空间分配与使用 ◆ 0000H--0002H:程序入口地址; ◆ 0003H--000AH:INT0入口地址; ◆ 000BH--0012H:TIMER0中断入口地址; ◆ 0013H--001AH:INT1入
37、口地址: ◆ 001BH--0022H:TIMER1中断入口地址; ◆ 0023H--002AH:串行口中断入口地址; ◆ 002BH—FFFFH:由用户分配使用; 小结 : ROM 空间 : ◆ 内部 4KB ( 0000H--0FFFH ) +外部60KB ( 1000H—FFFFH ) =64KB ( EA=1 ); ◆外部 64KB(0000H—FFFFH)(EA=0); RAM空间: ◆内部 RAM:00H—FFH(独立); ◆外部 RAM:0000H—FFFFH(与内部RAM无关); 第三节 MCS--51 单片机的并行口结构与操作 要
38、求: 熟悉 MCS-51 单片机并行口的结构,掌握各个并行口的主要功能。 (一) P0 、 P2 口的结构: 一、 P0 口结构 (一) P0 口用作 I/O 口: MOV 指令, MUX 打向 /Q , T1 止 ( 1 )、 P0 用作输出:输出锁存, OC 门输出 ( 2 )、 P0 用作输入:读入的状态与当前寄存器的状态不一定相同,如要输入外部引脚的状态可先向相应的引脚写高电平,关闭 T2 。 (二)、 P0 口用作地址 / 数据总线: MOVC 、 MOVX 指令, MUX 打向 A/D 线 ◆ P0 用作总线读:先输出地址低 8 位,后输出数据 ◆ P0
39、 用作总线写:先输出地址低 8 位,后输入数据 二、 P2 口的结构 (一)、 P2 用作通用 I/O 口 C=0 , MUX 与 Q 相连 输出内部上拉,输出锁存; 输入情况与 P0 类似 (二)、 P2 口用作地址总线 C=1 , MUX 打向地址 执行指令 MOVX 、 MOVC , P2 口在指令执行期间输出地址的高 8 位 (二) P1 、 P3 口的结构 一、 P1 口的结构 准双向口,内部设有上拉电阻。 输出数据:写 0 , T 管饱和导通,输出为低 写 1 , T 管截止,输出上拉为高 输入数据:读锁存器 读引脚:读入前,先
40、向输出锁存器写高电平使输出管截止 二、 P3 口的结构 P3 口作为一般的 I/O 口使用:类 P1 口用作 I/O 口,输出时第二输出功能信号 W=1 P3 口作为第二功能口使用: Q=1 , W 为第二功能输出信号,输入的信号从‘第二功能输入'功能读入对应的模块 P3 的第二功能信号: RXD(P3.0) :串行数据接收端 TXD(P3.1) :串行数据发送端 /INT0(P3.2) :外中断 0 申请信号输入端 /INT1(P3.3) :外中断 1 申请信号输入端 T0(P3.4) :定时器 / 计数器 0 计数输入端 T1(P3.5) :定时器 /
41、 计数器 1 计数输入端 /WR(P3.6) :外部 RAM 写选通 小结: 1 、通常情况下, P0 口和 P2 口主要用作总线信号扩展,其中 P0 口作为地址 / 数据复用信号使用,而 P2 口用作地址信号的高 8 位输出。 2 、当 P0 口作为一般 I/O 口使用时其输出是漏极开路输出,因此必须在口线外部加上拉电阻。 3 、 P1 和 P3 口的主要功能是一般 I/O 口,其中 P3 口还具有第二功能。 2 . 3 . 3 并行端口的负载能力 灌电流负载(即低电平负载电流): ◆ PO 口 ----4mA (可驱动 8 个 LSTTL ) ◆ P1 ,
42、 P2 , P3 口 ----2mA (可驱动 4 个 LSTTL ) 拉电流负载:很小 第四节 MCS-51单片机时钟电路与时序 要求: 熟悉 MCS-51单片机的时钟电路及其时序定时单位,了解其指令执行的时序,掌握MCS-51单片机的复位电路,熟悉其工作方式。 一、 时钟电路 ( 1 )、内部时钟方式:外加晶振及微调电容即可与内部电路构成完整的振荡电路 ( 2 )、外部时钟方式: XTAL1 — GND , XTAL2 —外部时钟信号 二、 时序定时单位 ◆ 晶振周期: T0 ◆ 状态周期: 2T0 ◆ 机器周期: 12T0 ◆ 指令周期:至少 12T0
43、 三、 8051 的取指与指令的执行 指令按字节划分 :单字节指令、双字节指令、三字节指令 指令按周期划分 :单周期指令、双周期指令、四周期指令 综合划分 :单字节单周期指令、单字节双周期指令、单字节四周器指令、双字节单周期指令、双字节双周期指令、三字节双周期指令 典型指令时序分析: 1、 单字节单周期指令 2、双字节单周期指令 3、单字节双周期指令 第五节 MCS-51 单片机工作方式 1 、复位操作与复位电路 复位信号的要求: RST 端加至少两个机器周期的高电平。 复位状态:单片机内各个特殊功能寄存器均被设置为特定的状态位程序的执行做好准备, PC
44、0000H , PO~P3=0FFH , SP=07H , PSW=00H 等;内部 RAM 的状态:随机值。 复位电路: ◆ 1 上电复位电路; ◆ 2 按键复位电路; ◆ 3 脉冲复位电路; 2 、掉电保护方式 A/ 数据的转存 B/ 接通备用电源 3 、 80C51 的低功耗方式 80C51 单片机的低功耗方式有待机工作方式和掉电保护方式,由特殊功能寄存器 PCON 的相关位来控制, PCON 的定义如下: SMOD / / / GF1 GF0 PD IDL 待机工作方式: ◆ 进入:设置 IDL=1 , ◆ 待机状态: CPU 时钟关闭,外设时钟正常工作 ◆ 待机状态的退出:复位或中断操作 掉电工作方式: ◆ 进入:设置 PD=1 ◆ 掉电工作状态:系统晶振关闭, CPU 及外设中断都停止工作 ◆ 掉电工作状态的退出:复位 MCS-51 单片机最小系统 ◆系统的组成: 8031 、 74LS373 、 2732 等,注意理解各部分的组成关系及总线信号的传输关系。 ◆ 作用与用途






