电气与自动化工程学院 传感器课程设计
6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC): A/D转换结束信号,输出当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):数据输出允许信号,输入高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 12(VREF(+))和16(VREF(-)):参考电压输入端。 11(Vcc):主电源输入端。 13(GND):地。
23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路
2.8.3输出端注意:
Out8为最低位out1为最高位,out8-out1分别接单片机的P0.0到P0.7端。
13
电气与自动化工程学院 传感器课程设计
图2.9 设计接线图
2.9显示电路设计
由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。为了简化数字式压力计的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口的驱动能力,使得LED能按照正常的亮度显示出数字。
图2.9.1显示电路设计
14
电气与自动化工程学院 传感器课程设计
3、软件部分的设计:
3.1主程序框图
开始 初始化 调用A/D转换子程调用显示子程序 结束 图3.115
主程序框图
电气与自动化工程学院 传感器课程设计
3.2总体流程图
开始 初始化 启动A/D转换 将采集的模拟量转化为对应的压力 扫描数据并 进行数据显示 结束
图3.2 总体流程图
3.3软件设计(程序代码)
#include
code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //七段共阴数码管编码表 sbit START=P3^0; sbit EOC=P3^1; sbit OE=P3^2;
16
电气与自动化工程学院 传感器课程设计
void delay(uint m) //LED显示延时子程序 {
while(m--); }
delay1(uint c) //循环间隔延时C毫秒子程序 {
uchar a,b; for( ;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--); }
void fun1(uint i) //AD转换及数据处理子程序 {
uint P;
extern uint PP; //定义全局变量PP START=1; START=0;
while(i>0) //fun1只执行i次 { if(i>0)
{
OE=1; //转换结束输出使能 P=P0; //AD转换结果赋给P
P=P*1.0/255*207; //完成对应关系的电压——压力的转换 OE=0; //停止输出 P2=0xfe; //个位位选 P1=table[P]; //个位段选
delay(500); //个位显示延时约1ms P2=0xfd; //十位位选
17