19 XTAL2 反向振荡器的输出端
STC89C51 单片机外部有32个端口可供用户使用,其功能如表3。2所示。
端口 引脚位置 第一功能 第二功能
符号 功能 符号 功能
P0 39-32 P0。0-P0。7 通用I/0口 AD0-AD7 地址数据总线
P1 1-8 P1。0-P1。7 通用I/0口
P2 21-28 P2。0-P2。7 通用I/0口 A8-A15 地址总线(高位)
P3 10 P3。0 通用I/0口 RXD 串行通信发送口
11 P3。1 TXD 串行通信接收口
12 P3。2 INT0 外部中断0
13 P3。3 INT1 外部中断1
14 P3。4 T0 计数器0输入端口
15 P3。5 T1 计数器1输入端口
16 P3。6 WR 外部存储器写功能
17 P3。7 RD 外部存储器读功能
表3。2 89C51并行I/O接口
P0口:P0口是一个有8位的漏级开路I/O口,而且该口是双向,它的每个端口都能接受8TTL门电流。当P1口首次执行写1指令时,就会被认作高阻输入。P0口还有一个功能就是外部程序数据存储器,可被当作数据/地址的第八位。在FIASH的编程过程中时,原码的输入口就是P0口,在FIASH检验时,原码就会从P0口输出,这时P0口的外围一定要确保被置成高电平[3]。
P1口:P1口是一个不但内部包含上拉电阻而且还是8位的双向的I/O口,P1口缓冲器可以同时具备吸收和输出4TTL门电流的功能。P1口执行写1命令后,内部就会上拉成为高电平,可以用来输入,外部把P1口下拉成低电平时,将会输出电流,这就是内部上拉的原理[4]。在FLASH编程和检验过程中,P1口的另一功能就是用作第八位地址接收。
P3口:P3口是8个不但含有内部上拉电阻而且还是双向的I/O口,具备能同时吸收和输出4TTL门电流的功能。当P3口执行写入“1”命令后,内部就会把它们都拉高,并且用来输入。用作输入时,因为外部拉低,P3口就会有电流输出,这就是上拉的原理[5]。
3。2。2 复位电路
单片机在运行时会出现程序跑飞等现象,这时按下复位按键,程序就会恢复正常,从头开始。电路如图3。5所示。