G
Guest
Guest
Привіт ...
Я імітувати ADC ATMega8535 використанням Proteus та скомпілювати C код з
Код Vision AVR.
Ось воно схематично.
<img src="http://images.elektroda.net/56_1169724096.gif" border="0" alt=""/>
Я намагаюся читати аналогових входів з допомогою PORTA.0 режимі вільного ходу,
і відображення значення на РК-дисплеї.
Тут це з кодом ..
# Включити "mega8535.h"
# Включити "stdio.h"
# Включити "delay.h"
# Включити "lcd.h"
# АНМ / / Алфавітно-цифровий РК-модуль функції
. Equ __lcd_port = 0x15
# Endasm
Непідписані INT ADC_VALUE;
Непідписані INT read_adc (непідписані символ adc_input)
(
ADMUX = adc_input;
ADCSRA | = 0x40;
в той час як ((ADCSRA
І 0x10) == 0) / / Чекати оголошень перетворення для завершення
ADCSRA | = 0x10;
повернутися ADCW;
)
Основними недійсним (недійсними)
(
Непідписані символ sbuf [16];
Непідписані INT TEMP;
DDRA = 0x00;
DDRC = 0xFF;
lcd_init (16); / / LCD модуль ініціалізації
ADCSRA = 0x85;
SFIOR
І = 0xEF;
в той час як (1)
(
ADC_VALUE = read_adc (0);
lcd_gotoxy (0,0);
sprintf (sbuf, "значення:% 4D", ADC_VALUE);
lcd_puts (sbuf);
delay_ms (10);
)
)джерело зібраний з CVAVR і моделювання з використанням Proteus грунтується на схемі вище.
симуляції роботи .. но значення відображається на ЖК (LCD відображати "1023" послідовно) не змінюється при зміні potensiometer цінність ..
Що не так з моїм кодом?Дякуємо за допомогу ....
Я імітувати ADC ATMega8535 використанням Proteus та скомпілювати C код з
Код Vision AVR.
Ось воно схематично.
<img src="http://images.elektroda.net/56_1169724096.gif" border="0" alt=""/>
Я намагаюся читати аналогових входів з допомогою PORTA.0 режимі вільного ходу,
і відображення значення на РК-дисплеї.
Тут це з кодом ..
# Включити "mega8535.h"
# Включити "stdio.h"
# Включити "delay.h"
# Включити "lcd.h"
# АНМ / / Алфавітно-цифровий РК-модуль функції
. Equ __lcd_port = 0x15
# Endasm
Непідписані INT ADC_VALUE;
Непідписані INT read_adc (непідписані символ adc_input)
(
ADMUX = adc_input;
ADCSRA | = 0x40;
в той час як ((ADCSRA
І 0x10) == 0) / / Чекати оголошень перетворення для завершення
ADCSRA | = 0x10;
повернутися ADCW;
)
Основними недійсним (недійсними)
(
Непідписані символ sbuf [16];
Непідписані INT TEMP;
DDRA = 0x00;
DDRC = 0xFF;
lcd_init (16); / / LCD модуль ініціалізації
ADCSRA = 0x85;
SFIOR
І = 0xEF;
в той час як (1)
(
ADC_VALUE = read_adc (0);
lcd_gotoxy (0,0);
sprintf (sbuf, "значення:% 4D", ADC_VALUE);
lcd_puts (sbuf);
delay_ms (10);
)
)джерело зібраний з CVAVR і моделювання з використанням Proteus грунтується на схемі вище.
симуляції роботи .. но значення відображається на ЖК (LCD відображати "1023" послідовно) не змінюється при зміні potensiometer цінність ..
Що не так з моїм кодом?Дякуємо за допомогу ....