表1 P3口各引脚功能
P3口各引脚 第二功能 信号名称
P3.0 RXD 串行数据接收口
P3.1 TXD 串行数据发送口
P3.2 INT0 外部中断0输入
P3.3 INT1 外部中断1输入
P3.4 T0 定时器/计数器0外部入口
P3.5 T1 定时器/计数器1外部入口
P3.6 WR 外部RAM写选通信号
P3.7 RD 外部RAM读选通信号
(3)控制线
○1 RST复位端,保持24个时钟周期以上的高电平,则单片机复位。
○2ALE/ 当访问外部存储器时,地址锁存允许即ALE引脚输出的脉冲用来锁存地址的低八位字节,即便不访问外部存储器,地址锁存允许引脚仍以时钟振荡频率的六分之一输出固定的正脉冲信号,既可以输出时钟又可以定时。需要记住的是,当访问外部数据存储器时,就会跳过ALE信号。Flash编程时,此引脚还可以用于编程脉冲(PROG)。
如果将特殊功能寄存器8EH单元中D0位置位,那么ALE就无法工作,而且要想ALE恢复,仅有一条MOVX和MOVC指令。单片机执行外部指令时,需设置该引脚无效。
○3 /VPP即外部访问允许引脚,CPU仅访问外部程序存储器时,EA端必须保持低电平,
通常接地。加密位LB1如果被编程了,那么复位时EA端状态会被锁存。源-自/优尔+文,论`文'网]www.youerw.com
○4XTAL1是振荡器反相放大器及内部时钟发生器的输入端,XTAL2是振荡器反相放大器的输出端[5]。
AT89C51单片机的时钟可片内振荡也可片外振荡,本系统采用第一种方式,在XTAL1和XTAL2引脚外接石英晶体,一般频率为1.2~12MHz;振荡电容一般为10~30pF。
ADC0808转换器与AT89C51单片机接口图
3.2 A/D转换器ADC0808
本次我选用了ADC0808转换芯片,它的精度是8位。ADC0808转换器既提供八位的逐次逼近,又提供了八位的模拟多路开关和通道寻址逻辑,实现了低成本、高性能、多数据采集的系统,现实中的物理量为模拟量,ADC0808转换器在此设计中承担了将模拟量转换为数字量的职能,可以将各个单端的模拟信号分时转换。它是单片机外接电路不可或缺的一部分,因此在实际应用中普遍使用。
3.2.1 逐次逼近型ADC0808转换原理
逐次逼近型ADC0808转换器根据内部寄存器从高位到低位逐位比较。首先将寄存器清零,变换前将最高位置“1”,然后把数据送入转换器进行转换,其结果与输入的模拟量比较,若前者小于后者,则保留1;反之,则不保留1,并且从第二位开始至最后一位依次循环上述操作。