P0口:一组8位漏极开路的准双向并行I/O口,扩展片外存储时的地址/数据总线复用口。作为输出口用时,每位能驱动8个LS型TTL负载,对端口P0写“1”时,可作为高阻抗输入端用。P0口与其他几组I/O口的最大区别是其内部不带有上拉电阻。
P1口:是一组带内置上拉电阻的8位双向并行I/O 口,P1的输出缓冲级可驱动4个TTL 负载。对端口写“1”,通过内部的上拉电阻把端口拉至高电平后,可作输入口。作输入口使用时,因为内部存在上拉电阻,引脚被外部信号拉低时会输出电流。
另外,P1的P1.0和P1.1口存在第二功能,见下表。
表1 P1口的第二功能
引脚号 P1.0 P1.1
功能特性
T2(定时/计数器2的外部计数输入),时钟输出 T2EX(定时/计数器2的捕捉/重载触发信号和方向控制)
P2口:是一组带有内部上拉电阻的8 位双向I/O并行 口,P2 的输出缓冲级可驱动4个TTL负载。作输入及输出口时,情况与P1口相似。扩展片外存储时,作为低8位地址总线口。
P3口:是一组带有内部上拉电阻的8 位双向并行I/O 口。P3口输出缓冲级可驱动4个TTL负载。作为输入及输出口时,情况与P1口相似。P3 口还能接收一些用于Flash存储器编程和程序校验的控制信号。
P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,见表2。 2.其他引脚
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
EA/VPP:外部访问允许。要让CPU只访问外部程序存储器(地址为0000H—FFFFH),EA 端必需保持低电平(或接地)。当EA端为高电平(接Vcc端)时,CPU会执行内部程序存储器中的指令。
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 VCC:接电源+5V。 GND:接地端。
11
表2 P3口的第二功能
引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
功能特性 RXD(串行输入) TXD(串行输出) INT0(外部中断0) INT1(外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) WR(外部数据存储器写有效) RD(外部数据存储器读有效)
3.3.2 PCF8591模数及数模转换芯片介绍
(1)PCF8591芯片的主要功能特征
PCF8591是一个单片集成、单独供电、低功耗及8位CMOS工艺制造的AD-DA器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0、A1和A2可用于硬件地址编程。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
图11 PCF8591的内部原理图
(2)PCF8591芯片的引脚功能
12
图12 PCF8591的引脚图
图12所示为PCF8591的引脚图。 1.AIN0~AIN3:模拟信号输入端; 2.A0~A2:引脚地址端; 3.VDD、VSS:电源端(2.5-6V);
4.SDA、SCL:I2C总线的数据线、时钟线; 5.OSC:外部时钟输入端,内部时钟输出端;
6.EXT:内部、外部时钟选择线,采用内部时钟时EXT接地; 7.AGND:模拟信号地; 8.AOUT:数模转换输出端; 9.VREF:基准电源端。 3.3.3 LCD1602液晶显示器介绍
(1)LCD1602液晶显示器的基本特征
LCD1602是工业字符型液晶,能够同时显示16×02共32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,目前市面上的1602液晶大多数是基于HD44780液晶芯片的,其控制原理是完全相同,因此基于HD44780写的控制程序可以很方便地应用于大部分1602字符型液晶。
(2)LCD1602液晶显示器的引脚功能 LCD1602液晶显示器的引脚功能如表3所示。
13
表3 1602液晶的引脚功能
引脚
1 2 3 4 5 6 7 8
符号 VSS VDD VL RS R/W E D0 D1
功能 电源地 电源正极 液晶显示偏压信号 数据/命令选择端(H/L)
读/写选择(H/L)
使能信号 数据I/O口 数据I/O口
引脚
9 10 11 12 13 14 15 16
符号 D2 D3 D4 D5 D6 D7 BLA BLK
功能 数据I/O口 数据I/O口 数据I/O口 数据I/O口 数据I/O口 数据I/O口 液晶背光源正极 液晶背光源负极
3.4 硬件电路设计 3.4.1 电源部分
图13 电源部分原理图
如图13所示,POWER端接外部直流电源,另外可以利用USB(Universal Serial Bus)端口直接提供5V电压。7805是三端稳压集成芯片,起稳压输出的作用,通过外围电路的组合,可以稳定输出5V直流电压。图中的LED灯可以作为电源电路开始工作的提示器。
3.4.2 电压衰减电路
14
图14 电压衰减电路原理图
如图14所示,R1和R2是分压电阻,其阻值均为按档位需要计算后所得,可以将20V的直流电压衰减为2V输出,配合20V的直流电压挡。 3.4.3 电流衰减电路
图15 电流衰减电路原理图
如图15所示,R15和R16是分流电阻,其阻值均为按档位需要计算后所得,可以将2A的直流电流衰减为200mA,并将电流变换成电压以供模数转换器测量,配合2A的直流电流档使用。
3.4.4 电阻-电压变换电路
15