为什么 我在仿真上运行 这个程序的时候,在没改变 输入电压的时候 会读出两个值呢..例如 我把输入电压 调到3.5v的时候,他读的就是 3490和4894..帮忙找找是哪出的错啊..
这个是 那块程序..
#include "tlc549.h"
#include "delay.h"
unsigned char TLC549_GetValue()
{
unsigned char i,temp;
TLC549_CS=1;
TLC549_SCLK=0;
TLC549_CS=0;
TLC549_SDO=1;
for(i=0;i<8;i++)
{
if(TLC549_SDO) temp=temp|(0x80>>i);
TLC549_SCLK=1;
TLC549_SCLK=0;
}
TLC549_CS=1;
delay(20);
return temp;
}
unsigned int TLC549_GhangValue()
{
unsigned char value;
unsigned int a;
value=TLC549_GetValue();
a=195*value;
return a;
} |