AT89C2051双向温度监控系统的设计
时间:02-14
来源:超前科技开发网
点击:
图3中AT89C205l的Pl与AD574A的高8位数据线直接相连,AD574A的低4位数据线与单片机的高半4位P1.4~P1.7直接相连,读取数据是依据单片机的控制线分时选通。P3.4接AD574A的字节短周期控制线(A0),P3.5接读转换数据控制引脚(R/C)。这样只能输出8位,故12/8的数据模式选择端直接接地,输出的控制信号通过单片机的串口P3.1驱动升温或降温控制电路。采用10 V量程的输入模式,故AD574A的10 VIN为被测电压的输入端,AT89C205l的P3.6接AD574A的片选CS,转换器使用±12 V电源电压供电,工作电压为+5 V。P3.7输出报警信号,驱动一只发光二极管报警。工作状态指示信号端STS与AT89C2051的P3.2相连,当STS=l时,转换器处于转换状态;当STS=0时,表明转换结束。因此,通过该信号判断A/D转换器的工作状态,用于单片机的中断或查询信号。当AT89C205l的P3.2查询到STS端转换结束信号后,先将转换的12位A/D数据的高8位写入AT89C205l,然后再写入低4位。无论AD574A处于启动、转换和输出结果的何种状态,其使能端CE都必须为1,因此CE端接+5 V。上述为AD574A的全控状态时,AD574A的CE、12/8、CS、R/C和A0对其工作状态的控制过程如下:
当CE=l、CS=0时,AD574A则正常工作;当AD574A处于工作模式,R/C=0时A/D转换;R/C=1时读取数据。12/8和AO用于控制启动转换方式和数据输出格式。A0=0时,按完整12位数据方式启动;当AO=1时,则按8位A/D转换方式启动。当R/C=l,即当AD574A处于数据状态时,A0和12/8控制数据输出状态的格式。当12/8=l时,数据以12位并行方式输出;当l2/8=0时,数据以8位分两次输出。当AO=O时,输出转换数据的高8位,AO=l时输出A/D转换数据的低4位,这4位占1个字节的高半字节,低半字节补零。如果需AD574A工作于单一模式,只需将CE、12/8端接+5 V电源,CS和A0接至O V,仅用R/C控制A/D转换的启动和数据输出。当R/C=O时,启动A/D转换器。经35μs后,STS=1,表明A/D转换结束,此时R/C置1,即可从数据端读取数据。
4 系统软件设计
系统软件设计采用模块化结构。整个温度测控过程由主程序、温度测量子程序、定时中断子程序、A/D转换程序、显示子程序等组成。各模块分别只有一个入口和出口,各模块间相互独立,避免因某功能模块出现异常而导致整个系统瘫痪。这里仅给出主程序流程图(图4)和温度测量子程序的流程图(图5)。
5 结语
该系统设计的创新点是采用温度范围为+10℃~+1.50℃的热敏电阻。该电阻具有灵敏度高,体积小、重量轻,热惯性小,寿命长及价格便宜等优点,而AT89C205l是一个功能强大的单片机.适用于节能减排的电器控制,应用广泛。
- 单片机控制步进电机驱动器工作原理(10-19)