-
The ground is divided into digital ground and analog ground, the input end of your 0809 must be an analog signal, you are connected to the analog ground, the analog ground must be isolated from the digital ground, otherwise it will be interfered with digitally, the voltage is not zero, so that your 0809 output is definitely not zero, you had better isolate the digital ground and the analog ground on the hardware circuit, otherwise you will have to compensate, of course, the software compensation is much more convenient. Just like a scale, you now simulate a certain potential, which is equivalent to a pallet on an electronic scale, and you have to subtract its weight as a zero benchmark to know the true value being measured. You see what the value of each output of the analog ground is, if it is basically fixed, use the software to subtract this value from the conversion result, and the compensation correction is realized.
-
What is the result of this non-zero? Is it stable? It should be normal for the result to be non-zero, because there is interference with the level on the ground. As long as the results are stable.
-
I want a more complete program, the package scrapes "Start a D Conversion" -- Data Extension "-- Binary Values Converted to BCD Code" -- and finally "LCD Subroutine". Please be able to give me a more complete program. The device is the ADC0809
8259,62256.Do not use monolithic machines. Thank you!!
-
According to what you said, the accuracy is 5*(1 256), and the voltage of the replacement to 0x05 is, so if the voltage is less, it should be if(getdata<=0x05).
-
The ADC0809 is 8-bit A D, and the converted result is dependent on the reference voltage. If the reference voltage is 5V, then the input voltage range is 0 - 5V, and the decimal data after the conversion is .
0 - 255.At that time x 255 = x = decimal point removed, it should be around 64. In the same way, when the input is 2V, the output conversion data is 102
-
Hello! Your ADC0809 program doesn't have a problem, it should be a problem with the data reading and converting.
-
ADC0809, if you only use 1 input, connect the ABC to ground, the address is 000, the analog channel to be selected is in0, you can input the analog voltage in in0.
In addition, it is used as a chip selection, and the chip selection will be connected to the chip selection terminal of the chip to be controlled, and when it is buried low (or high), this chip is selected blindly, and the chip can be read and written at this time. The P2 port can be used for many purposes, depending on the design and application.
-
First of all, you need to know the function of each pin of the ADC0809, and then use the microcontroller to control each pin according to the following pin function requirements.
in0 in7: 8 analog inputs.
2-1 2-8: 8-bit digital output.
ale: Address latch allows signal, input, active-high.
start: a d converts the start signal, input, active high.
EOC: A D conversion end signal, output, when A D conversion ends, this end output a high level ** during the change period remains low).
OE: Data output allows signal, input, active high. When the AD conversion ends, the input at this end is high to open the output tri-state gate and output a digital quantity.
CLK: clock pulse input. The clock frequency is required to be no higher than 640kHz.
ref(+)ref(-) reference voltage.
VCC: Power supply, single 5V.
GND: Ground.
The ADC0809 works by first entering a 3-bit address and making ale=1 to store the address in the address latch. This address is decoded and gated into one of the 8 analog inputs to the comparator.
The start rising edge will approach the register reset one by one. The falling edge initiates the AD conversion, after which the EOC output signal becomes low, indicating that the conversion is in progress. Until the AD conversion is complete, the EOC goes high to indicate the end of the AD transition, and the resulting data has been stored in the latch, which can be used as an interrupt request.
When the OE input is high, the output gate is opened, and the digital output of the conversion result is transferred to the data bus.
The above is actually a program process expressed in natural language, and then you use assembly language to implement the above natural language process.
-
I don't think it's necessary to figure it out so clearly, knowing that it's an analog-to-digital converter will do the trick !
-
temp=getdata*;The getdata in the data conversion is only 0 255.
Divide by a number as large as 255 and then multiply by 500, which produces a large error.
To simplify it and change it to:
temp = getdata * data conversion.
It's better to be a policewoman. Of course, in terms of output, VN is more tiger in the later stage. But after all, if you just play AD, it is not recommended to play VN in the first place. >>>More
Or Obama, say it's cut, it's weakened, and it can be said that there is almost no weakening, and when the stealth of the mouse becomes damaged, 6 seconds of stealth, it's already not good, or Obama's first adc!