第三章 计算机系统的组成与工作原理
任课教师:刘忠国 山东大学课程中心网站: http://course.sdu.edu.cn/G2S/stcmcu.cc 网站:http://www.mcu001.com keil μvision软件下载及指导手册(Help→μvision Help) http://www.keil.com/ 何宾STC单片机原理及应用 > http://www.gpnewtech.com/study/stc/
第三章 计算机系统的组成与工作原理 本章学习目标 3.1 理解模型机的结构及工作过程 3.2 掌握单片机的结构 3.2.1单片机的内部结构 3.2.2 单片机的引脚及功能 3.3 掌握单片机I/O口的使用 3.4 掌握单片机应用系统的典型构成 21:33
(Low-profile Quad Flat Package) 3.2.2 单片机的引脚及功能 1.STC15F2K60S2单片机的引脚 封装:LQFP-44封装 (Low-profile Quad Flat Package) 图3-12 STC15F2K60S2单片机的引脚图 21:33
Dual Inline-pin Package双列直插式封装技术 1、STC15F2K60S2单片机的引脚 DIP-40封装 Dual Inline-pin Package双列直插式封装技术 和LQFP-44相比, 没有P4.0, P4.3, P4.6, P4.7引脚 图3-12 STC15F2K60S2单片机的引脚图 21:33
STC15F2K60S2单片机的逻辑符号图 1、STC15F2K60S2单片机的引脚 DIP-40封装无 21:33
1、STC15F2K60S2单片机的引脚 DIP-40封装的STC15F2K60S2单片机和LQFP-44封装相比,除了没有P4.0、P4.3、P4.6、P4.7引脚外,其他资源和的单片机完全相同。 由于DIP封装的单片机焊接比较容易,因此,对于初学者,最好选用DIP封装的单片机进行学习。 注意:在实际应用中,设计单片机应用系统的原理图时,一般应使用逻辑符号图,以便进行电路分析,而设计应用系统的印刷电路板图时,必须使用单片机的引脚图。 21:33
1、STC15F2K60S2单片机的引脚 电源引脚 外接晶体引脚 控制和复位引脚 输入/输出(I/O)引脚 引脚 (1)电源引脚 Vcc:一般接电源的+5V。具体的电压幅度应参考 单片机的手册。 GND:接电源地。 21:33
1、STC15F2K60S2单片机的引脚 (2)外接晶体引脚 XTAL1和XATL2 /P1.6 芯片内部一个反相放大器的输入端和输出端。常用于连接晶体振荡器。 /P1.7 晶振频率可在4MHz~48MHz间选择,典型值是11.0592MHz(因设计单片机通信应用系统时,用这个频率的晶振可准确地得到9600bits/s和19200bits/s的波特率)。 电容C1、C2对时钟频率有微调作用,可在5~100pF之间选择,典型值是47pF。 21:33
(2)外接晶体引脚 STC15F2K60S2单片机内部集成高精度R/C时钟,工作时钟可用内部振荡器或外部晶振产生的时钟。 内部集成的高精度R/C时钟工业环境下温漂为±1%,常温下温飘5‰,频率范围为5MHz~35MHz,可在编程时设置。 对时钟频率要求不太敏感的场合,内部R/C振荡器完全能够满足要求 用内部R/C振荡器时钟时, XTAL1和XTAL2引脚悬空。 用在系统编程(In-System Programming,ISP)工具对STC15F2K60S2单片机下载用户程序时,可在选项中设置选用外部晶振时钟或者选用内部R/C振荡器时钟。 21:33
(3)控制和复位引脚 ALE(与P4.5复用) 功能:当访问外部存储器或外部扩展的并行I/O口时, ALE(地址锁存使能)输出用于锁存地址的低位字节。 标准8051单片机的ALE 脚对系统时钟进行6分频输出, 可对外提供时钟。 当8051单片机时钟频率较高时,ALE脚是一干扰源。 STC15F2K60S2单片机直接禁止ALE脚对系统时钟进行6 分频输出,彻底清除此干扰源,有利于系统抗干扰设计。 若设计中需要单片机输出时钟,可用STC15F2K60S2单片 机的可编程时钟输出脚(P5.4/MCLKO, T2CLKO/P3.0, T1CLKO/P3.4和T0CLKO/P3.5,见7.2节)对外输出时钟。 STC15F2K60S2单片机的ALE引脚在用MOVX指令访问片外 扩展器件时输出地址锁存信号。 21:33
1、STC15F2K60S2单片机的引脚 RST(与P5.4复用) 当振荡器运行时,在此引脚上出现两个机器周期的高 电平将使单片机复位。 如果需要单片机接上电源就可以复位,则需要使用上 电复位电路。 VPD: 传统C51单片机备用电源引脚 SS_3/MCLKO/RST /P5.4 图3-15 上电复位电路图 21:33
RST(与P5.4复用) 引脚 P5.4/RST/MCLKO脚出厂时默认为I/O口,可在STC-ISP 编程软件下载程序时,将其设置为RST复位脚。 STC15F2K60S2单片机内部 集成了MAX810专用复位电 路,时钟频率在12MHZ以 下时,复位脚可接1K电阻 再接地,也可用图3-15所示 的传统复位电路。 图3-15 上电复位电路图 21:33
(4)输入/输出(I/O)引脚 STC15F2K60S2单片机最多可有42根I/O口线: P0口(8根):P0.0~P0.7 4种模式:准双向口/弱上拉,推挽/强上拉,输入/高阻 和开漏模式。复位后为准双向口/弱上拉模式。 每个口的工作模式由2个控制寄存器中的相应位控制 (PnM0和PnM1,n=0、1、2、3、4、5)。 21:33
1)I/O口的工作模式 4种工作模式:准双向口/弱上拉,推挽/强上拉,输 入/高阻和开漏模式。 每个口的工作模式由2个控制寄存器中的相应位控制 (PnM0和PnM1,n=0,1,2,3,4,5)。 例如: P0M0和P0M1用于设定P0口的工作模式: 位号 D7 D6 D5 D4 D3 D2 D1 D0 P0M0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P0M1 寄存器 P0M0 1 P0.3 P0.2 P0.1 P0.0 P0M1 工作 模式 准双 向口 推挽 输入/高阻 开漏 以此类推 21:33
1)I/O口的工作模式 表3-5 I/O口工作模式设置 PnM1 [7:0] PnM0 I/O口工作模式 准双向口 (传统8051单片机I/O口模式), 灌电流可达20mA,拉电流为270μA,由于制造误差,实际为270uA~150uA 1 推挽输入输出(强上拉输出, 可达20mA, 要加限流电阻, 尽量少用) 仅为输入 (高阻) 开漏(Open Drain), 内部上拉电阻断开, 要外加上拉电阻 21:33
1)I/O口的工作模式 例, 若设置P1.7为开漏模式, P1.6为强推挽输入输出模 式, P1.5为高阻输入模式, P1.4, P1.3, P1.2, P1.1和P1.0 为弱上拉(准双向口 )模式, 则P1M0和P1M1设置如下: P10口 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P1M0 1 P1M1 工作 模式 开漏 推挽 输入/高阻 准双 向口 则可用下面代码设置: MOV P1M0, #11000000B; MOV P1M1, #10100000B; 或MOV P1M0, #C0H 或MOV P1M1, #A0H 21:33
1)I/O口的工作模式 STC15F2K60S2单片机的每个I/O口在弱上拉时能承受20mA的灌电流(最好使用限流电阻,如1KΩ)。 整个芯片的工作电流推荐不要超过90mA。即从MCU-Vcc流入的电流不超过90mA,从MCU-GND流出的电流不超过90mA,整体流入/流出电流都不能超过90mA。 输出低时,灌电流最大可达20mA 准双向口/弱上拉模式 21:33
1)I/O口的工作模式 在强推挽输出时能输出20mA拉电流(也要加限流电阻)。 整个芯片的工作电流推荐不要超过90mA。即从MCU-Vcc流入的电流不超过90mA,从MCU-GND流出的电流不超过90mA,整体流入/流出电流都不能超过90mA。 输出高时,拉电流最大可达20mA 强推挽输出 输出低时,灌电流最大可达20mA 21:33
2)I/O口的复用功能 P0口: 用作普通I/O。 用作数据总线(D7~D0)或地址总线低8位(A7~A0)。 P1口: 用作普通I/O。 复用为ADC转换输入、捕获/比较/脉宽调制、SPI通信线、第一二串口或者第二时钟输出(STC12系列) 接晶振, 如表所示。 引脚 复用功能 P1.0 ADC0/CCP1(捕获/比较/脉宽调制通道1)/RxD2(串口2输入) P1.1 ADC1/CCP0(捕获/比较/脉宽调制通道0)/TxD2(串口2输出) P1.2 ADC2/ECI(可编程计数器阵列定时器的外部时钟输入)/SS(SPI从器件选择) P1.3 ADC3/ MOSI(SPI主机输出从机输入) P1.4 ADC4/ MISO(SPI主机输入从机输出) P1.5 ADC5/ SCLK(SPI时钟) P1.6 ADC6/ XTAL2(接晶振引脚)/RxD_3(串口1输入备用切换引脚) P1.7 ADC7/ XTAL1(接晶振引脚)/TxD_3(串口1输出备用切换引脚) External Clock Input 21:33
2)I/O口的复用功能 P2口: 用作地址总线的高8位输出。 用作通用I/O口使用。 用于SPI和捕获/比较/脉宽调制的备用切换端口。 引脚 A8/RSTOUT_LOW(复位后输出低电平引脚) P2.1 A9/ SCLK_2(SPI时钟备用切换引脚) P2.2 A10/ MISO_2(SPI主机输入从机输出备用切换引脚) P2.3 A11/ MOSI_2(SPI主机输出从机输入备用切换引脚) P2.4 A12/ /ECI_3(可编程计数器阵列定时器的外部时钟输入备用切换引脚)/SS_2(SPI从器件选择备用切换引脚) P2.5 A13/CCP0_3(捕获/比较/脉宽调制通道0备用切换引脚) P2.6 A14/ CCP1_3(捕获/比较/脉宽调制通道1备用切换引脚) P2.7 A15/ CCP2_3(捕获/比较/脉宽调制通道2备用切换引脚) 21:33
P3口: 用作通用I/O口使用。可复用为外部中断输入、计数器输入、时钟输出、第一串口,如表所示。 引脚 P3口复用功能 P3.0 RXD(串口1输入)/ /INT4 (外部中断4, 只能下降沿中断) /T2CLKO(T2的时钟输出) P3.1 TXD(串口1输出)/T2CLKO(T2的外部输入) P3.2 /INT0(外部中断0输入,既可上升沿中断也可下降沿中断) P3.3 /INT1(外部中断1输入,既可上升沿中断也可下降沿中断) P3.4 T0(定时器0外部输入)/ T1CLKOU(T1时钟输出)/ECI_2(可编程计数器阵列定时器的外部时钟输入备用切换引脚) P3.5 T1(定时器1外部输入)/ T0CLKOU(T0时钟输出)/ CCP0_32 (捕获/比较/脉宽调制通道0备用切换引脚) P3.6 /INT2(外部中断2输入, 只能下降沿中断)/RxD_2(串口1输入备用切换引脚)/ CCP1_2(捕获/比较/脉宽调制通道1备用切换引脚) P3.7 /INT3(外部中断3输入, 只能下降沿中断)/TxD_2(串口1输出备用切换引脚)/ CCP2(捕获/比较/脉宽调制通道2)/ CCP2_2(捕获/比较/脉宽调制通道2备用切换引脚) 21:33
2)I/O口的复用功能 P4口: 作通用I/O口使用。有复用功能, 可配置为SPI通信 线, 外部总线读/写控制, 第二串口线, 地址锁存信号等。 引脚 P4口的复用功能 P4.0 MOSI_3(SPI主输出从输入备用切换引脚) P4.1 MISO_3(SPI主输入从输出备用切换引脚) P4.2 (外部总线写控制信号) P4.3 SCLK_3(SPI时钟备用切换引脚) P4.4 (外部总线读控制信号) P4.5 ALE(地址锁存控制信号,主要用于外部总线扩展) P4.6 RxD2_2(第二串口输入备用切换引脚) P4.7 TxD2_2(第二串口输出备用切换引脚) 21:33
2)I/O口的复用功能 P5口 P5.4/RST(复位脚)/MCLKO(主时钟输出;输出频率可为 MCLK/1,MCLK/2或MCLK/4)/SS_3(SPI接口的从机选 择信号备用切换引脚)。 该引脚默认为I/O口,可以通过ISP编程将其设置为 RST(复位)引脚。 P5.5 没有复用功能。 21:33
2)I/O口的复用功能——引脚切换 捕获/比较/脉宽调制(CCP)通道的引脚切换、SPI接口 的引脚切换以及串口的引脚切换由辅助寄存器AUXR1 (也称P_SW1,地址: A2H,复位值:0000 0000B)和外设功能 切换寄存器P_SW2(地址: BAH, 复位值: xxxx xxx0B) 确定。 位号 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 AUXR1 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS P_SW2 S2_S 21:33
2)I/O口的复用功能 捕获/比较/脉宽调制 (CCP) 通道可以在三个地方切换, 由CCP_S1和CCP_S0两个控制位选择。 位号 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 AUXR1 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS P_SW2 S2_S CCP_S1 CCP_S0 CCP通道的切换引脚 CCP在[P1.2/ECI,P1.1/CCP0, P1.0/CCP1,P3.7/CCP2] (3脚在P1口) 1 CCP在[P3.4/ECI_2,P3.5/CCP0_2,P3.6/CCP1_2,P3.7/CCP2_2] (都在P3口) CCP在[P2.4/ECI_3,P2.5/CCP0_3,P2.6/CCP1_3,P2.7/CCP2_3] (都在P2口) 无效 21:33
2)I/O口的复用功能 SPI可以在三个地方切换,由SPI_S1和SPI_S0两个 控制位选择,其选择方法如表3-11所示。 位号 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 AUXR1 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS P_SW2 S2_S SPI_S1 SPI_S0 SPI的切换引脚 SPI在[P1.2/SS,P1.3/MOSI,P1.4/MISO,P1.5/SCLK] (都在P1口) 1 SPI在[P2.4/SS_2,P2.3/MOSI_2,P2.2/MISO_2,P2.1/SCLK_2] (都在P2口) SPI在[P5.4/SS_3,P4.0/MOSI_3,P4.1/MISO_3,P4.3/SCLK_3] (3脚在P4口) 无效 21:33
2)I/O口的复用功能 串口1可以在三个地方切换,由S1_S1和S1_S0两个 控制位选择,其选择方法如表3-12示。 S1_S1 位号 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 AUXR1 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS P_SW2 S2_S S1_S1 S1_S0 串口1的切换引脚 串口1在[P3.0/RxD,P3.1/TxD] 1 串口1在[P3.6/RxD_2 /XTAL2, P3.7/TxD_2 /XTAL1], 串口1在[P1.6/RxD_3/XTAL2, P1.7/TxD_3/XTAL1], 串口1在P1口时要使用内部时钟 无效 21:33
2)I/O口的复用功能 串口2可以在两个地方切换,由S2_S0控制位选择: 0:串口2在[P1.0/RxD2,P1.1/TxD2] DPS:数据指针选择位。 0:使用缺省数据指针DPTR0; 1:使用另一个数据指针DPTR1。 位号 寄存器名称 D7 D6 D5 D4 D3 D2 D1 D0 AUXR1 S1_S1 S1_S0 CCP_S1 CCP_S0 SPI_S1 SPI_S0 DPS P_SW2 S2_S DPS 21:33
(4)输入/输出(I/O)引脚 3)STC15F2K60S2单片机I/O口的结构 准双向口工作模式的结构 P0~P5 30μA 20mA 200μA 强 极弱 弱 P0~P5 图3-16 准双向口工作模式的I/O位结构 21:33
准双向口工作模式的结构 I/O口可用作输出和输入功能而不需重新配置口线输出 状态。 当口线输出锁存器为“1”时I/O口高电平驱动能 力很弱,允许外部装置将其拉低(即允许输入低电平, 此 时T3与施密特管形成正反馈, 引脚钳位在0电平,输入低)。 引脚输出为低时, 其驱动能力很强, 可吸收20mA大电 流。 1 1 30μA 20mA 200μA 1 强 极弱 弱 P0~P5 1 截止 通 通 截止 1 止 止 1 1 输出低时,灌电流最大可达20mA 通 21:33
准双向口工作模式的结构 每个端口都包含一个锁存器,即特殊功能寄存器 P0~P5。这种结构在数据输出时,具有锁存功能, 即在重新输出新的数据之前,口线上的数据一直保 持不变。 但对输入信号是不锁存的,所以外设输入的数据必 须保持到取数指令执行为止。 为了便于叙述,以后将6个端口及其锁存器都表示 为P0~P5。 21:33
准双向口工作模式的结构 当口线锁存器由0到1跳变时,T1用来加快准双向口由逻辑0到逻辑1的转换。发生这种情况时,T1导通约2个时钟使引脚能迅速地上拉到高电平。 准双向口带有一个施密特触发输入及干扰抑制电路。 延迟2时钟1 1 30μA 20mA 200μA 1 强 极弱 弱 P0~P5 1 截止 止 通 止 通 1 2个时钟为0 导通 2个时钟 1 1 通 21:33
准双向口工作模式的结构 当从端口引脚上输入数据时,T4应一直处于截止状态。 30μA 20mA 200μA 强 极弱 弱 P0~P5 截止 通 截止 1 1 1 外部 输入0 截止 通 1 21:33
3)STC15F2K60S2单片机I/O口的结构 推挽输出工作模式的结构 图3-17 推挽输出工作模式的I/O位结构 1 导通 截止 1 截止 导通 图3-17 推挽输出工作模式的I/O位结构 21:33
推挽输出工作模式的结构 推挽输出工作模式的下拉结构与准双向口的下拉结构 相同, 但当锁存器为“1”时可提供持续的强上拉。推挽 工作模式一般用于需更大驱动电流的情况。 此时,若输出高电平,拉电流最大可达20mA;若输出低电 平,灌电流也可达20mA。 推挽输出模式,也带有施密特触发输入及干扰抑制电路。 输出高时,拉电流最大可达20mA 输出低时,灌电流最大可达20mA 21:33
3)STC15F2K60S2单片机I/O口的结构 仅为输入(高阻)工作模式的结构 输入口带有一个施密特触发输入以及一个干扰抑制电路。 注意,仅为输入(高阻)工作模式下, I/O口不提供20mA灌电流的能力。 图3-18 仅为输入(高阻)工作模式的I/O位结构 21:33
3)STC15F2K60S2单片机I/O口的结构 开漏输出工作模式的结构 图3-19 开漏输出工作模式的I/O位结构 21:33
开漏输出工作模式的结构 当口线锁存器为0时,(开漏输出关断所有上拉场效应管),T2开启。当作为一个逻辑输出时,这种配置方式必须有外部上拉电阻,即通过电阻外接到Vcc。 这种方式的下拉结构与准双向口模式下拉结构相同。 这种工作模式下,输出低电平时,灌电流可达20mA。 开漏端口带有一个施密特触发输入及干扰抑制电路。 Vcc 1 输出低时,灌电流最大可达20mA 开启 21:33
§3.3单片机的I/O口的使用 1、P4口和P5口的使用 对STC15F2K60S2单片机P4口和P5口的访问,如同 访问常规的P0/P1/P2/P3口一样,并且均可按位寻址, P4的地址C0H,P5口的地址在C8H。 2、上拉电阻的连接 虽然作为准双向口使用时,单片机内 部已集成了上拉场效应管,但在实际 应用时,一般情况下,最好还是外接上 拉电阻。例如,当外接的是SPI/I2C等 漏极开漏的电路时。 以P0.0为例,电路连接如图所示。典型上拉电阻阻值为5.1K或者10K。 21:33
3、拉电流方式和灌电流方式 STC15F2K60S2单片机I/O口线作为输出可提供20mA 的驱动能力, 使用时, 可采用拉电流或灌电流方式。 以P0.0控制发光二极管电路为例,电路连接如图所示。 发光二极管驱动电流大约数mA ~20mA。 特别注意 图中限流电阻不能省略,否则,会毁坏I/O口。 图3-21 拉电流方式和灌电流方式 21:33
3、拉电流方式和灌电流方式 采用灌电流方式时,应将单片机的I/O口设置为弱上拉/准双向口工作模式; 在实际使用时,应尽量采用灌电流方式,这样可以提高系统的负载能力和可靠性。有特别需要时,可以采取拉电流方式,如供电线路要求比较简单时。 使用时应该特别注意 在按键扫描电路中的两侧需要各加300的限流电阻, 或者在编程时不要出现按键两端的I/O口同时为低的 情况。 21:33
3、拉电流方式和灌电流方式 做行列矩阵按键扫描电路时,也需加限流电阻。因为实 际工作时可能出现2个I/O口均输出低电平的情况,并且 在按键按下时,就短接在一起,而按要求一个CMOS 电 路的2个输出脚是不应该直接短接在一起的,Why? 其原因是在按键扫描电路中,一个口为了读另外一个口 的状态,必须先置高才能读另外一个口的状态, 而8051单片机的弱上拉口在由0变为1时,会有2个时钟的 强推挽高输出电流输出到另外一个输出为低的I/O口,就 有可能造成I/O口损坏。 建议在按键扫描电路中的两侧各加300的限流电阻, 或在编程时不要出现按键两端I/O口同时为低的情况。 21:33
4、典型的三极管控制电路 单片机I/O引脚本身驱动能力有限,如果需要驱动功率较大的器件,如小型继电器或者固态继电器,可用单片机I/O引脚控制三极管进行输出。以P0.0为例。 若用弱上拉控制,建议加上拉电阻R1(3.3K~10K);若不加上拉电阻R1, 建议R2值在15K以上, 或用强推挽输出。 三极管基极电流IB是数十μA级别的 图3-22 典型的三极管控制电路 21:33
4、典型的三极管控制电路 ULN2008 当需要驱动的功率器件较多时,建议采用ULN2003(16引 脚,或18脚ULN2803;TI, ST等公司产),其内部采用达林 顿结构,是专门用来驱动继电器的芯片,甚至在芯片内 部做了一个消去线圈反电动势的二极管。 ULN2003输出端允许通过IC电流200mA(最大500mA),饱 和压降VCE约为1V左右(200mA时),耐压BVCEO约为50V。 输出口的外接负载可根据以上参数估算。采用集电极 开路输出,输出电流大,可以直接驱动继电器或固体 继电器(SSR)。 ULN2003(ULN2803)可以驱动7(8)个继电器。 ULN2008有关资料没查到! 21:33
§3.3单片机的I/O口的使用 5、I/O外部状态的输入 存在的问题: 当I/O口工作于准双向口时, 由于 STC15F2K60S2单片机是1个时钟周期(1T)的8051 单片机,速度很快, 如果通过指令执行由低变高指令后立即读外部状 态,此时由于实际输出还没有变高,有时可能读 入的状态不对。 解决方法:在软件设置由低变高后加1到2个空操 作指令 (NOP) 延时,然后再读I/O口的状态。 21:33
6、P1.7/XTAL1与P1.6/XTAL2的特别说明 STC15F2K60S2系列单片机的所有I/O口上电复位后 均为准双向口/弱上拉模式。 但是由于P1.7和P1.6口还可以分别作外部晶体或时钟 电路的引脚XTAL1和XTAL2,所以P1.7/XTAL1和 P1.6/XTAL2上电复位后的模式不一定就是准双向口/ 弱上拉模式。 当P1.7和P1.6口作为外部晶体或时钟电路引脚XTAL1 和XTAL2使用时,P1.7/XTAL1和P1.6/XTAL2上电复 位后的模式是高阻输入。 21:33
6、P1.7/XTAL1与P1.6/XTAL2的特别说明 每次上电复位时, 单片机对P1.7/XTAL1和P1.6/XTAL2 的工作模式按如下步骤进行设置: 首先,单片机短时间(几十个时钟)会将P1.7/XTAL1和 P1.6/XTAL2设置成高阻输入; 然后,单片机会自动判断上次用户用ISP烧录程序时将 P1.7 /XTAL1和P1.6/XTAL2设置成普通I/O口,还是 XTAL1/XTAL2; 若上一次用户是将P1.7/XTAL1和P1.6/XTAL2设置成普 通I/O口,则单片机会将P1.7/XTAL1和P1.6/XTAL2上电 复位后的模式设置成准双向口/弱上拉; 若上一次用户是将P1.7/XTAL1和P1.6/XTAL2设置成 XTAL1/XTAL2,则单片机会将P1.7/XTAL1和P1.6/XTAL2 上电复位后的模式设置成高阻输入。 ISP烧录程序只在调试时用, 设置项: 21:33
7、管脚P5.4/RST的特别说明 P5.4/RST即可作普通I/O使用,也可作复位管脚。当用 户用ISP烧录程序将P5.4/RST设置成普通I/O口用时, 其 上电后为准双向口/弱上拉模式。 每次上电时, 单片机会自动判断上次用户用ISP烧录程 序是将P5.4/RST设置成普通I/O口还是复位脚。 若上一次用户是将P5.4/RST设置成普通I/O口,则单片 机会将P5.4/RST上电后的模式设置成准双向口/弱上拉。 若上次是将P5.4/RST设成复位脚, 则上电后, P5.4/RST 仍为复位脚。 ISP烧录程序只在调试时用, 设置项: 21:33
§3.4单片机应用系统的典型构成 1、单片机最小系统构成 在实际工程应用中,由于应用条件及控制要求的不同, 单片机外围电路的组成各不相同。 单片机最小系统是指在尽可能少的外部电路条件下,能 使单片机独立工作的系统。 STC15F2K60S2集成了60KB程序存储器、2048字节RAM、高可靠复位电路和高精度R/C振荡器,一般不需外部复位电路和外部晶振。 只需要接上电源, 并在Vcc和GND之间接上滤波电容C1和C2。 21:33
1、单片机最小系统构成 为了能够给单片机下载程序,可在RXD和TXD引脚上连接RS232和TTL的转换电路,以连接计算机,通过下载工具将用户程序下载到单片机中。 RS232和TTL的转换电路: MAX232, MAX3232 图3-24 RS232和TTL转换电路 21:33
§3.4单片机应用系统的典型构成 3、总线扩展方式的单片机应用系统构成 应用背景 3、总线扩展方式的单片机应用系统构成 应用背景 组成单片机应用系统时,如果存储器容量不够,或 需要扩展并行I/O,则可使用端口进行系统的扩展。 21:33
一个带有数据存储器和并行I/O扩展的单片机应用系统图 图3-25 带总线扩展的STC15F2K60S2单片机应用系统的连接示意图 21:33
一个带有数据存储器和并行I/O扩展的单片机应用系统图 21:33
3、总线扩展方式的单片机应用系统构成 为了说明STC15F2K60S2单片机访问外部RAM的过程, 首先介绍标准8051单片机时序中的相关概念。 (1)时钟周期 (T状态):CPU的基本时间计量单位, 与晶振频率有关。 (2)机器周期:单片机的基本操作周期为机器周期。 标准8051单片机的一个机器周期分为6个状态(S1~ S6),每个状态由两个脉冲组成(称为两相),前一 个周期叫P1,后一个周期叫P2。 21:33
3、总线扩展方式的单片机应用系统构成 一个机器周期由12个时钟周期(也称为振荡周期)组成,如图所示。 图3-26 标准8051的时序 图3-26 标准8051的时序 21:33
3、总线扩展方式的单片机应用系统构成 STC15F2K60S2单片机是1时钟周期/机器周期的8051单 片机,在同样的外部时钟频率下执行同样的代码,其 指令执行速度要比标准8051单片机快8~12倍。 当用户在较低的外部时钟频率下运行时,与标准8051 内核相比,不仅降低了系统噪声和电源功耗,而且提 高了处理能力。 STC15F2K60S2单片机的总线速度是可以设置的。通过 设置总线速度控制寄存器BUS_SPEED寄存器相关的位, 可以达到设置总线速度的目的。 21:33
3、总线扩展方式的单片机应用系统构成 BUS_SPEED寄存器(地址:A1H,复位值:XXXXXX10B)定义: 位号 D7 D6 D5 位名称 - EXRTS1 EXRTS0 EXRTS1和EXRTS0设置外部RAM定时选择(Extand RAM Time Selector)。 执行MOVX指令时读写控制信号的脉冲宽度可设置,设置关系表: 表3-13 EXRTS1和EXRTS0的设置 EXRTS1 EXRTS0 建立/保持/读写时间 1个时钟周期 1 2个时钟周期 4个时钟周期 8个时钟周期 图3-27中的 EXRAC时钟周期数 利用MOVX指令访问外部RAM所需的时钟如表3-14所示。 21:33
3、总线扩展方式的单片机应用系统构成 表3-14 利用MOVX指令访问外部RAM所需的时钟 BUS_SPEED寄存器(地址:A1H,复位值:XXXXXX10B)定义: 片内扩展 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 - EXRTS1 EXRTS0 与EXRTS1,0无关 EXRTS1和EXRTS0设置外部RAM定时选择(Extand RAM Time Selector)。 执行MOVX指令时读写控制信号的脉冲宽度,设置关系表: 片 外 扩 展 表3-13 EXRTS1和EXRTS0的设置 EXRST1 EXRTS0 建立/保持/读写时间 1个时钟周期 1 2个时钟周期 4个时钟周期 8个时钟周期 利用MOVX指令访问外部RAM所需的时钟如表3-14所示。 21:33
3、总线扩展方式的单片机应用系统构成 访问物理上片外扩展RAM指令所需时钟, 可用下面计算 公式: MOVX @R0/R1 write(写操作):5×N+3 read(读操作):5×N+2 MOVX @DPTR write(写操作):5×N+2 read(读操作):5×N+1 当EXRTS[1:0] = [0,0]时,上式中N=1; 当EXRTS[1:0] = [0,1]时,上式中N=2; 当EXRTS[1:0] = [1,0]时,上式中N=4; 当EXRTS[1:0] = [1,1]时,上式中N=8. N是图3-27中的EXRAC时钟周期数 BUS_SPEED寄存器: 位号 D7 D6 D5 D4 D3 D2 D1 D0 位名称 - EXRTS1 EXRTS0 21:33
3、总线扩展方式的单片机应用系统构成 STC15F2K60S2单片机访问片外扩展RAM指令速度是可调的。 写操作:5×N+2 读操作:5×N+1 图3-27 访问单片机外部RAM时的时序图 21:33
3、总线扩展方式的单片机应用系统构成 需要特别注意 当STC15F2K60S2应用于总线扩展方式时,用于总线 方式的P0、P2和P4口的P4.2和P4.4不可再用于普通 I/O口功能,即使在地址空间较宽裕时P2口没有用于 高8位地址线的I/O口线也不可用于普通I/O功能。 因在总线扩展方式下, P0口作地址/数据总线口用时, 由于访问外部存储器的操作不断,P0口不断出现低8 位地址或数据,故此时P0口不能再作通用I/O口使用。 此时P2口已当作地址总线口使用,由于访问外部存储 器的操作不断,P2口不断送出高8位地址,故此时P2口 也不能再作通用I/O口使用。 21:33
3、总线扩展方式的单片机应用系统构成 以上介绍了STC15F2K60S2单片机的应用系统 构成方式。由于STC15F2K60S2单片机内部已 经有60KB程序存储器和2048字节RAM,这对 于一般应用的存储器需求已经足够。 因此,非总线扩展方式的应用最常见。 21:33