1、第第一一章章 常常用用电电子子元元器器件件 本章内容本章内容Single Chip Microcomputer特殊功能寄存器特殊功能寄存器 sRAMSTC89系列外部引脚和功能系列外部引脚和功能STC89系列单片机内部结构系列单片机内部结构直接数据存储器直接数据存储器 dRAM单片机时序和运行过程单片机时序和运行过程6-1 STC89STC89系列外部引脚和功能系列外部引脚和功能一、主电源引脚一、主电源引脚(1 1)GND(22GND(22脚脚):地线:地线(2 2)VCC(44VCC(44脚脚):电源线。接:电源线。接+5V.+5V.二、外接晶振引脚二、外接晶振引脚(1 1)XTAL1(21
2、XTAL1(21脚脚):时钟信号输入,外接晶振的一:时钟信号输入,外接晶振的一个引脚或引入外部时钟。个引脚或引入外部时钟。(2 2)XTAL2XTAL2(2020脚):时钟信号输出,外接晶振的脚):时钟信号输出,外接晶振的另一个引脚或输出外部时钟。另一个引脚或输出外部时钟。三、控制引脚三、控制引脚(1)RESET(10RESET(10脚脚):复位信号输入,高电平有效,:复位信号输入,高电平有效,复位电压为复位电压为5V5V,正常工作电压为,正常工作电压为0V.0V.复位电路有两种:上电自动复位、按键手动复位。复位电路有两种:上电自动复位、按键手动复位。由于由于STC89C54STC89C54内
3、部集成了专用复位芯片,外部可不内部集成了专用复位芯片,外部可不接复位电路,或接简单的接复位电路,或接简单的RCRC电路。电路。(2 2)ALE/PROG(33ALE/PROG(33脚脚):地址锁存允许信号输出,:地址锁存允许信号输出,用于访问单片机片外扩展存储器。常用此引脚判断用于访问单片机片外扩展存储器。常用此引脚判断单片机是否正常工作。单片机是否正常工作。STC89C54STC89C54单片机内置单片机内置16K16K程序程序存储器和存储器和1K1K扩展数据存储器,因此无需使用此引脚。扩展数据存储器,因此无需使用此引脚。(3 3)PSEN(32PSEN(32脚脚):外部程序存储器读选通信号
4、。:外部程序存储器读选通信号。当程序在片外程序存储器中运行时,此引脚输出低当程序在片外程序存储器中运行时,此引脚输出低电平,实现对外部程序存储器的读操作。电平,实现对外部程序存储器的读操作。STC89C54STC89C54无需使用此引脚。无需使用此引脚。(4 4)EA(35EA(35脚脚):访问程序存储器选择控制信号。:访问程序存储器选择控制信号。如需在单片机外部扩展程序存储器,此引脚接低电如需在单片机外部扩展程序存储器,此引脚接低电平,否则接低电平或悬空。平,否则接低电平或悬空。STC89C54STC89C54无需外扩程序无需外扩程序存储器,因此此引脚接高电平或悬空。存储器,因此此引脚接高电
5、平或悬空。四、输入、输出引脚四、输入、输出引脚数据输入数据输入/输出端口:集数据输入、数据输出、缓冲、输出端口:集数据输入、数据输出、缓冲、驱动及锁存等多项功能为一体的电路,简称驱动及锁存等多项功能为一体的电路,简称I/O口口。它。它们是单片机和外部进行联系的们是单片机和外部进行联系的唯一通道唯一通道,所有二进制数,所有二进制数据都是通过据都是通过I/O口引脚上呈现的口引脚上呈现的高、低电压高、低电压输入到单片输入到单片机或从单片机输出到外部。机或从单片机输出到外部。STC89C54单片机有单片机有P0、P1、P2、P3、P4共五组共五组I/O口。口。引脚引脚第二功能第二功能功能说明功能说明引
6、脚引脚第二功能第二功能功能说明功能说明P3.0RXD串行数据接收P3.6WR/外部RAM读选通信号端P3.1TXD串行数据发送P3.7RD/外部RAM写选通信号端P3.2INT0/外部中断0申请信号线P1.0T2定时器/计数器2计数输入端P3.3INT1/外部中断1申请信号线P1.1T2EX定时器/计数器2控制信号线P3.4T0定时器/计数器0计数输入端P4.2INT3/外部中断3申请信号线P3.5T1定时器/计数器1计数输入端P4.3INT2/外部中断2申请信号线I/O口线第二功能表口线第二功能表时钟电路CPUROMRAMT0 T1 T2中断系统串行接口并行接口P0 P1 P2 P3 P4T
7、XD RXDINT0 INT1定时计数器结构框图结构框图中央处理器中央处理器CPU:运算运算和控制功能和控制功能内部内部RAM:有:有5类类内部内部ROM:16K,用于存,用于存放程序、原始放程序、原始数据和表格。数据和表格。P片外最大可片外最大可扩展扩展64K定时定时/计数器:计数器:3个个16位的定时位的定时/计数器,实现计数器,实现定时或计数功定时或计数功能。能。并行并行I/O口:口:5组组I/O口口P0、P1、P2、P3、P4。串行口:串行口:一个全一个全双工串行口。双工串行口。中断控制系统:中断控制系统:8个中断源(外个中断源(外部中断部中断4个,定个,定时时/计数中断计数中断3个,
8、个,串行中断串行中断1个)个)时钟电路:时钟电路:可可产生时钟脉冲产生时钟脉冲序列,允许的序列,允许的最高晶振频率最高晶振频率为为40MHz6-2 STC89STC89系列单片机内部结构系列单片机内部结构PC16位计数器,存位计数器,存放将要执行的指放将要执行的指令地址令地址看门狗监控单片机是监控单片机是否正常运行否正常运行v中央处理器中央处理器CPU:由运算器和控制器组成,完成运算和控制功由运算器和控制器组成,完成运算和控制功能。能。v程序计数器程序计数器PC:16位计数器,存放将要执行的指令地址。位计数器,存放将要执行的指令地址。v内部内部RAM:主要用来存放数据,有主要用来存放数据,有5
9、类,见课本类,见课本P81。v内部内部ROM:16KROM,用于存放程序、原始数据和表格。如,用于存放程序、原始数据和表格。如果需要可在外扩展最大果需要可在外扩展最大64K。v定时定时/计数器:计数器:3个个16位的定时位的定时/计数器,实现定时或计数功能。计数器,实现定时或计数功能。v并行并行I/O口:口:5组组I/O口口P0、P1、P2、P3、P4。v串行口:串行口:一个全双工串行口。一个全双工串行口。v中断控制系统:中断控制系统:8个中断源(外中断个中断源(外中断4个,定时个,定时/计数中断计数中断3 个,串行中断个,串行中断1个)个)v时钟电路:时钟电路:可产生时钟脉冲序列,允许晶振频
10、率最大为可产生时钟脉冲序列,允许晶振频率最大为40MHz.v看门狗看门狗WTD:实际上是定时电路,监控单片机是否正常运行。实际上是定时电路,监控单片机是否正常运行。6-3 特殊功能寄存器sRAM1、算术运算寄存器、算术运算寄存器(1)A累加器,存放操作数和中间结果。累加器,存放操作数和中间结果。(2)BB寄存器,乘、除法运算用。寄存器,乘、除法运算用。(3)PSW程序状态字寄存器:是程序状态字寄存器:是8 8位寄存器,位寄存器,包含程序运行状态、信息。包含程序运行状态、信息。v程序状态字PSW:8位寄存器.表征程序执行的状态信息。CY(PSW.7)进位标志:在加减法运算中,累加器A的最高位A7
11、有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1.因此CY往往作为无符号数运算是否有溢出的标志。AC(PSW.6):辅助进位位:用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位).往往用来判断压缩的BCD码的运算处理.F0(PSW.5)用户标志位:完全由用户来定义和使用。RS1,RS0工作寄存器区选择位:确定工作寄存器R0-R7在哪个区中.单片机在上电或复位后RS1、RS0=00。当需要人为的修改RS1,RS0的值来改变工作寄存器区的位置。v 0 0:0区区 R0 R7v 0 1:1区区 R0 R7v 1 0:2区区 R0 R7v 1 1:
12、3区区 R0 R7 CYACF0RS1RS0OVF1POV(PSW.2)溢出标志位:判断有符号数(补码)加减法运算时是否有溢出.OV的结果可以用一个算法来表示:OV=CP异或CS 其中:CP为A7的进位,CS为A6的进位OV=1表明有溢出。P(PSW.0)奇偶标志位:用来标志累加器A中运算后1的个数。当P=1时,表明A中1的个数为奇数个,反之为偶数个。2、指针寄存器、指针寄存器(1 1)堆栈指针)堆栈指针SP指明栈顶元素的地址,指明栈顶元素的地址,8位,可软件设置初值,复位时位,可软件设置初值,复位时SP=07H。注意压。注意压栈和出栈栈和出栈SPSP的变化。的变化。(2 2)数据指针)数据指
13、针DPTRDPTR;指明访问的数据存储器的单元地址,;指明访问的数据存储器的单元地址,16位,位,寻址范围寻址范围64KB。DPH 和和 DPL分别为分别为DPTR的高的高8位寄位寄存器和低存器和低8位寄存器位寄存器,两个可作为一个,两个可作为一个1616位寄存器使用,位寄存器使用,也可单独作为也可单独作为8 8位寄存器使用。位寄存器使用。6-4 直接数据存储器dRAMdRAM共有共有128个单元,地址:个单元,地址:00H-7FH。地址分。地址分配如下:配如下:一、工作寄存器区一、工作寄存器区地址范围:地址范围:00H-1FH.共共32个单元分为个单元分为4个组,每组个组,每组有有8个个8位
14、寄存器,编号为位寄存器,编号为R0-R7。状态寄存器。状态寄存器PSW中中的的RS1、RS0位的状态为当前工作寄存器区。位的状态为当前工作寄存器区。二、位寻址区二、位寻址区地址范围:地址范围:20H-2FH,共,共16个单元。个单元。三、通用数据寄存器三、通用数据寄存器地址范围:地址范围:30H-7FH时序的定义:时序的定义:单片机内的各种操作都是在一系列脉冲控制下进行的,而单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。各脉冲在时间上是有先后顺序的,这种顺序就称为时序。指令周期:指令周期:即从取指到执行完,所需时间。即从取指到执行完,所需时
15、间。不同机器指令周期不一样;即使相同机器,不同的不同机器指令周期不一样;即使相同机器,不同的 指令其指令周期也不一样。指令其指令周期也不一样。机器周期:机器周期:机器的基本操作周期。一个指令周期含若干机器周机器的基本操作周期。一个指令周期含若干机器周 期(单、双、四周期)期(单、双、四周期)6-5 时序 每个状态周期含两个振荡周期,即相位每个状态周期含两个振荡周期,即相位P1、P2。振荡周期:振荡周期:由振荡时钟产生。由振荡时钟产生。振荡周期振荡周期Tosc=1/fosc 一个机器周期一个机器周期=12个振荡周期个振荡周期=121/fosc。例如,若例如,若fosc=12MHz,则一个机器周期
16、,则一个机器周期=1ss。状态周期:状态周期:一个机器周期分一个机器周期分6个状态周期个状态周期SiALE2S6S2S6S3S4S5S3S4S5S1S1S一个机器周期一个机器周期P1 P2P1 P22S1S6S1S单字节单周期指令例:INC A读操作码读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5Sv指令的字节数与指令周期之间的关系:在STC89单片机的指令系统中有:单字节;双字节;三字节指令。STC89单片机指令,可以分为六种基本的时序:1,单字节单周期指令;4,双字节单周期指令;2,单字节双周期指令;5,双字节双周期指令;3,单字节四周期指令;6,三字节双周期指令.指令特点:
17、在程序存储器ROM中仅占一个存储单元。在ALE第一次有效(S1P2)时,从ROM中读取指令的操作码,送入指令寄存器IR中.并译码执行,在ALE第二次有效时,封锁PC加一,使第二次读数无效.可见:1,ALE信号对应着从ROM中读指令,所以在一个机器周期中CPU可以读两次指令;2,对于单字节单周期的指令,CPU通过译码后封死PC,实际上指令的后半部不做任何工作.单字节单周期指令的时序:机器周期读操作码一读操作无效ALE返回S1S2S6S5S4S3 指令特点:一条指令长度为两个字节,并存储在ROM相邻的两个单元中。要想完整的将这样的指令执行完,必须从ROM中读两次操作码.在ALE第一次有效时,CPU
18、 从ROM的n单元中取出指令的第一个字节OP1-1,并送入IR译码,通过译码CPU知道这是一条双字节指令,所以使PC加一,并在ALE第二次有效时,从ROM的n+1单元取出指令的第二个字节OP1-2送入IR进行译码,并产生对应的操作.最后在S6P2时完成本条指令的运行.S1S2S6S5S4S3机器周期读操作码一读操作码二OP1-2OP1-1n+1n程序ROMPC双字节单周期指令时序ALE返回 指令特点:一条指令长度为两个字节,并存储在ROM相邻的两个单元中。要想完整的将这样的指令执行完,必须从ROM中读两次操作码.在ALE第一次有效时,CPU 从ROM的n单元中取出指令的第一个字节OP1-1,并送入IR译码,通过译码CPU知道这是一条双字节指令,所以使PC加一,并在ALE第二次有效时,从ROM的n+1单元取出指令的第二个字节OP1-2送入IR进行译码,并产生对应的操作.最后在S6P2时完成本条指令的运行.S1S2S6S5S4S3机器周期读操作码一读操作码二OP1-2OP1-1n+1n程序ROMPC双字节单周期指令时序ALE返回