『镇上宝塔』单片机简介( 三 )


本文插图
复位
在振荡器运行时 , 有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时 , 将
使单片机复位 , 只要这个引脚保持高电平 , 单片机便一直处于复位状态 。 复位后P0~P3口均
置1 , 引脚表现为高电平 , 程序计数器和特殊功能寄存器SFR全部清零 。 当复位引脚由高电平
变为低电平时 , 芯片从ROM的00H处开始运行程序 。 复位操作不会对内部RAM有所影响 。 常用
的复位电路如图2.4所示 。 当单片机上电时 , 由于电容的作用 , RST引脚会处于短暂的高电平
状态 , 直到电容充电到一定程度时 , RST引脚的电平会被8.2K的电阻拉低 , 单片机开始运行
程序 。 图中的按键为手动复位按键 , 当按下复位按键后 , RST引脚会被1K的电阻上拉至高电
平 ,单片机复位 ,按键松开后 ,RST恢复低电平 ,单片机重新从程序存储器的00H处运行程序 。
手动复位按键在单片机的最小系统中并不是必须的 , 但对单片机的复位控制会方便些 。
『镇上宝塔』单片机简介
本文插图
常用的复位电路
输入输出引脚
(1)P0端口[P0.0~P0.7] P0是一个8位漏极开路型双向I/O端口 ,端口置1 (对端口写1)
时作高阻抗输入端端口置1 (对端口写1)时作高阻抗输入端 。 作为输出口时能驱动8个TTL 。P0端口要外接上拉电阻 。
(2)P1端口[P1.0~P1.7] P1是一个带有内部上拉电阻的8位双向I/0端口 。输出时可驱
动4个TTL 。端口置1时 , 内部上拉电阻将端口拉到高电平 , 作输入用 。 对内部Flash程序存
储器编程时 , 接收低8位地址信息 。 除此之外P1端口还用于一些专门功能 ,
3)P2端口[P2.0~P2.7] P2是一个带有内部上拉电阻的8位双向I/0端口 。输出时可驱
动4个TTL 。端口置1时 , 内部上拉电阻将端口拉到高电平 , 作输入用 。 对内部Flash程序存
储器编程时 , 接收高8位地址和控制信息 。 在访问外部程序和16位外部数据存储器时 , P2口
送出高8位地址 。 而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变 。
(4)P3端口[P3.0~P3.7] P2是一个带有内部上拉电阻的8位双向I/0端口 。输出时可驱
动4个TTL 。端口置1时 , 内部上拉电阻将端口拉到高电平 , 作输入用 。 对内部Flash程序存
储器编程时 , 接控制信息 。 除此之外P3端口还用于一些专门功能 ,
其它的控制或复用引脚
(1)ALE/-PROG 30 访问外部存储器时 , ALE(地址锁存允许)的输出用于锁存地址的
低位字节 。即使不访问外部存储器 ,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频
率的1/6) 。 在访问外部数据存储器时 , 出现一个ALE脉冲 。 对Flash存储器编程时 , 这个引脚
用于输入编程脉冲PROG 。
(2)PSEN 29 该引脚是外部程序存储器的选通信号输出端 。当S52由外部程序存储器取
指令或常数时 , 每个机器周期输出2个脉冲即两次有效 。 但访问外部数据存储器时 , 将不会
有脉冲输出 。
(3)-EA/Vpp 31 外部访问允许端 。 当该引脚访问外部程序存储器时 , 应输入低电平 。
要使S52只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平 。 当使
用内部的程序存储器时 , 此引脚应与Vcc相连 。 当使用内部的程序存储器时 , 此引脚应与Vcc相连 。 对Flash存储器编程时 , 用于施加Vpp编程电压 。
C2051 的引脚功能与 C51 相仿 , 在此不另外介绍了