各位大哥大姐帮帮忙!!!基于51单片机和ADC0809数字温度计

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:13:20
各位大哥大姐帮帮忙!!!我做的S51单片机数字温度计采用ADC0809数模转换,但运行不起来.我的硬件是这样接的: 单片机的P0.0到P0.7接ADC0809的D0-D7. P1.0-P1.7接数码显示电路. ADC0809上的ST和ALE相连接到单片机P3.0RXD,OE线接到P3.1TXD,EOC接P3.2INT0,CLK接P3.3INT1,我选择的是IN0通道所以把ABC到接地,CLk的工作时钟是用软件做的TH1=(65536-4000)/216;TL1=(65536-4000)%216;供电运行时候ADC0809的D0-D7没有输出这是什么地方错了,请请各各大哥指点指点,小弟不盛感激!!!!(我的程序是这样的sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;

void main(void)
{
ST=1;
OE=1;
TMOD=1
TH0=0x216;
TL0=0x216;
TH1=(65536-4000)/216;
TL1=(65536-4000)%216;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
ST=1;
ST=0;
getdata=148;
while(1)
{
;
}
}

void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}

void t1(void) interrupt 3 using 0
{

TH1=(65536-4000)/216;
TL1=(65536-4000)%216;

if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=(getdata*2350);
temp=temp/128;
if(temp<

“供电运行时候ADC0809的D0-D7没有输出”是什么意思

根据你的描述,你对用的不是总线接法,所以,P0口要接上拉才能读到正确的数据

另外你测一下CLK,看有没有信号出来