频率为500kHz,再接到ICL7135的CLOCKIN上。稳压管为TCL431,扒春通过多圈电位器给ICL7135的参考电压分为1V,
ICL7135的负电压端通过ICL7660来供给(接近-5V就行了),ICL7135的电容要用CBB电容,质量好一些。
有一个值得注意的问题,单片机、显示、还有7135的模块要共地。如果熟悉单片机,想看下边的程序应该不会碧搏
很难。 */
#include<reg52.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
sbit BUSY=P3^2
uint tt,temp
float v,Rx,t
double c
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f}
uchar code table1[]={0xbf,0x86,0xdb,0xcf,
0xe6,0xed,0xfd,0x87,
0xff,0xef}
void delay(uchar z)
{
uchar x,y
for(x=20x>0x--)
for(y=zy>悔此祥0y--)
}
void init()
{
EA=1
TMOD=0x09
TH0=0
TL0=0
ET0=1
// IT0=1
}
void main()
{
uint i
init()
while(1)
{
while(BUSY)
TH0=0
TL0=0
TR0=0
while(!BUSY)
TR0=1
while(BUSY)
TR0=0
temp=(TH0*256+TL0)/2-10001
v=(float)(temp)/10000
v=v/50.4
Rx=5000/(50.0/51.0-v/2.45)-5000
c=39.08*39.08-4*0.58*(Rx-100)
t=(39.08-sqrt(c))*100/(2*0.58)
for(i=0i<50i++)
{
P2=table[(unsigned int)(t*100)%10]
P0=0xf7
delay(10)
P2=table[(unsigned int)(t*10)%10]
P0=0xfb
delay(10)
P2=table1[(int)(t)%10]
P0=0xfd
delay(10)
P2=table[(int)(t/10)%10]
P0=0xfe
delay(10)
P0=0xff
}
}
}
直接与稿租单片机连接就改敬颂好了,就两条线,busy和CLK,另外地线是必须连一起的单片机核郑的P32口连BUSY,P34接CLK,单片机定时器工作在门控计数器方式,下面是程序:
void int0 ()interrupt 0
{
TR0=0
adc=TH0//读取转换数据
adc=ADC*8+TL0
TL0=0xef //清除定时器0
TH0=0xd8
TR0=1
t_sign1=1 //AD转换完毕标志
}
void MCUInit()
{
TMOD=0x0d
EX0=1
IT0=1 //边沿触发模式
TL0=0xf0 //清除定时器0
TH0=0xd8
TR0=1
EA=1
}
时钟频率太低,肯定影响芯片的转换速度和精举带唯度,要求是120K,你只有5K,相差太大。
下图也是用51单片机读取数据的应用实例,正培用的是STC单片机,就可以输出可编程的时钟信号,不知行粗你用的什么单片机。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)