简易数字直流电压表电路及程序
设计一个简易数字直流电压表。(量程0V-2V、测量速度为大于等于2次/秒、测量误差在±0.05V以内,有超限报警、数码管显示。)
3.5.1模块1:系统设计
(1)分析任务要求,写出系统整体设计思路
从试题的要求分析,主要包括的内容为ADC转换电路的控制、采用定时器定时读取ADC转换器的数据、将ADC转换器的数据计算为对应的电压值,最后在数码管上显示出来。
整体设计思路:硬件采用单片机的P0输出数码管的7段码,P2口输出数码管的位控信号。用P1的三个I/O管脚连接ADC转换器的接口,通过查询定时器T0中断标志是否有效来启动ADC转换器的工作,并读取ADC转换器的转换结果。然后,根据ADC转换器的参考电压将ADC转换器的转换结果计算为对应的电压值,并在数码管上显示出来。
(2)选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图
采用MCS51系列单片机At89S51作为主控制器,外围电路器件包括数码管驱动、AD转换器TLC549、基准电压TL431等。
数码管驱动采用2个四联共阴极数码管显示,由于单片机驱动能力有限,采用74HC244作为数码管的驱动。在74HC244的7段码输出线上串联100欧姆电阻起限流作用。
AD转换器的参考电压由精密基准电源TL431提供,标准参考电压Vref+为2.5伏, Vref-为0伏。由于0V-2V内的测量误差控制在±0.05V内,因此8 位A/D转换器即可满足要求。AD转换器TLC549是以8位开关电容逐次逼近A/D转换器为基础而构造的CMOS A/D转换器。 它们设计成能通过3态数据输出和模拟输入与微处理器或外围设备串行接口。TLC549仅用输入/输出时钟(I/O CLOCK)和芯片选择 (CS)输入作数据控制。TLC549的IO CLOCK输入频率最高可达1.1MHz。
TLC549提供了片内系统时钟,它通常工作在4MHz且不需要外部元件。片内系统时钟使内部器件的操作独立于串行输入/输出的时序并允许TLC548和TLC549象许多软件和硬件所要求的 I/O CLOCK和内部系统时钟一起可以实现高速数据传送以及对于TLC549为每秒40,000次转换的转换速度。TLC549 的引脚排列分别如图3-17下。
如图3-17 TLC549 的引脚排列
TLC549 的工作时序如图3-18所示。