好文档 - 专业文书写作范文服务资料分享网站

水位自动检测与控制系统的设计

天下 分享 时间: 加入收藏 我要投稿 点赞

MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3 口

P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST

复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。

PSEN

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP

外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V 编程电压VPP。

XTAL1

振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2

振荡器反相放大器的输出端。

特殊功能寄存器在AT89C52 片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE),SFR 的地址空间映象如表2 所示。

并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的 单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单 元数值总是“0”。

STC89C52除了与STC89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。定时/计数器2的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。 4.2.2 A/D转换设计

TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、POUT三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs, TLC549为40 000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,V(REF-)接地,V(REF+)-(VREF-)≥1V,可用于较小信号的采样[17]。

a.芯片简介

TLC549的内部框图和引脚名称如图4.3所示。

图4.3 A/D转换器引脚

极限参数

TLC549的极限参数如下: ●电源电压:6.5V;

●输入电压范围:0.3V~VCC+0.3V; ●输出电压范围:0.3V~VCC+0.3V; ●峰值输入电流(任一输入端):±10mA; ●总峰值输入电流(所有输入端):±30mA; ●工作温度: TLC549C:0℃~70℃ TLC549I:-40℃~85℃ TLC549M:-55℃~125℃

b.工作原理

TLC549均有片内系统时钟,该时钟与I/O CLOCK是独立工作的,无须特殊的速度或相位匹配。

当CS为高时,数据输出(POUT)端处于高阻状态,此时I/O CLOCK不起作用。这种CS控制作用允许在同时使用多片TLC549时,共用I/O CLOCK,以减少多路(片)A/D并用时的I/O控制端口。

c.一组通常的控制时序为:

(1)将CS置低。内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATA OUT端上。

(2) 前四个I/O CLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、

D4、D3),片上采样保持电路在第4个I/O CLOCK下降沿开始采样模拟输入。 (3)接下来的3个I/O CLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位,

(4)最后,片上采样保持电路在第8个I/O CLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的A/D转换。第8个I/O CLOCK后,CS必须为高,或I/O CLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。如果CS为低时I/O CLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。

在36个内部系统时钟周期结束之前,实施步骤(1)-(4),可重新启动一次新的A/D转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。

若要在特定的时刻采样模拟信号,应使第8个I/O CLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/O CLOCK时钟下降沿开始采样,却在第8个I/O CLOCK的下降沿开始保存。

STC89C52与ADC接口时三个注意事项: ①要给START线送一个100ns宽的启动脉冲。

②获取EOC线上的状态信息,因为它是A/D转换结束的标志。

③要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。

STC89C52和ADC接口通常采用查询和中断两种方式。采用查询法传送数据时STC89C52应对EOC线查询它的状态:若查询到EOC变为高电平,则给OE线送一个高电平,以便从D0—D7线上提取A/D转换后的数字量。采用中断方式传送数据时,EOC线作为CPU的中断请求线。CPU响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。A/D转换器串行I/O接口如图4.4所示。

图4.4 A/D转换器串行I/O接口

4.2.3起振电路设计

石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以使STC89C52片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率FOSC为0.5~16MHz,典型值为12MHz或11.0592MHz。电容C1和C2可以帮助起振,典型值为30pf,调节它们可以达到微调FOSC的目的。本设计中,晶振采用12MHz,CI和C2取30pf。其连接电路如图4.5起振电路所示[9]。

图4.5 晶振

4.2.4显示设计 LCD1602液晶

本设计中由于要对水位进行显示,所以选择液晶显示屏1602模块作为输出。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。管脚功能如表4.2所示[18]:

表4.2 LCD1602引脚功能

引脚 1 2 符号 VSS VDD 功能说明 一般接地 接电源(+5V)

水位自动检测与控制系统的设计

MOVX@RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为
推荐度:
点击下载文档文档为doc格式
7gda4185cn3pit886asl2xn8u9whcj004ao
领取福利

微信扫码领取福利

微信扫码分享