Z
zanor
Guest
Привет!
Я использую ADC на 16f819 и бит треск результат моего ПК.Но ADC результат настолько нестабильно, оно постоянно прыгает вверх и вниз (напр. 950 прыжков между 947 и 953).
Я подключен 1k горшок для входа.
Вот мой mikroC код:
Код:
беззнаковое короткое данные = 0, ро = 1;
беззнаковое короткое * ER;недействительным Comm_WriteConst (Const неподписанными символ * S)
(
в то время как (* S)
(
Soft_Uart_Write (* S);
S ;
)
)недействительным SENDB (символ sendme) (
Soft_UART_Write (sendme);
)недействительным WAITB () (
в то время как (* Р) (
Данные = Soft_UART_Read (вдовцы);
)
ро = 1;
)недействительным Main () (
ER = &ro;OSCCON = 0xFF;
TRISA = 0xFF;
TRISB = 0b00000010;
PORTA = 0b00000000;
PORTB = 0b00000000;ADCON0 = 0b01000001; / / Максим 20MHz, канал 0, ADC ПО
ADCON1 = 0b01000000; / / 4 аналоговых каналов и
/ / Левая Justified (ADRESH = 8Bit результат)Soft_UART_Init (PORTB, 1, 0, 9600, 0);
Delay_ms (10);в то время как (1) (WAITB ();если (данные == 'A')
(
SENDB ( 'A');ADCON0 = 0b01000001;
Delay_ms (1);
ADCON0 = 0b01000101;
а (ADCON0 И 0x4);
SENDB (ADRESH);
SENDB (ADRESL);ADCON0 = 0b01001001;
Delay_ms (1);
ADCON0 = 0b01001101;
а (ADCON0 И 0x4);
SENDB (ADRESH);
)))
Я использую ADC на 16f819 и бит треск результат моего ПК.Но ADC результат настолько нестабильно, оно постоянно прыгает вверх и вниз (напр. 950 прыжков между 947 и 953).
Я подключен 1k горшок для входа.
Вот мой mikroC код:
Код:
беззнаковое короткое данные = 0, ро = 1;
беззнаковое короткое * ER;недействительным Comm_WriteConst (Const неподписанными символ * S)
(
в то время как (* S)
(
Soft_Uart_Write (* S);
S ;
)
)недействительным SENDB (символ sendme) (
Soft_UART_Write (sendme);
)недействительным WAITB () (
в то время как (* Р) (
Данные = Soft_UART_Read (вдовцы);
)
ро = 1;
)недействительным Main () (
ER = &ro;OSCCON = 0xFF;
TRISA = 0xFF;
TRISB = 0b00000010;
PORTA = 0b00000000;
PORTB = 0b00000000;ADCON0 = 0b01000001; / / Максим 20MHz, канал 0, ADC ПО
ADCON1 = 0b01000000; / / 4 аналоговых каналов и
/ / Левая Justified (ADRESH = 8Bit результат)Soft_UART_Init (PORTB, 1, 0, 9600, 0);
Delay_ms (10);в то время как (1) (WAITB ();если (данные == 'A')
(
SENDB ( 'A');ADCON0 = 0b01000001;
Delay_ms (1);
ADCON0 = 0b01000101;
а (ADCON0 И 0x4);
SENDB (ADRESH);
SENDB (ADRESL);ADCON0 = 0b01001001;
Delay_ms (1);
ADCON0 = 0b01001101;
а (ADCON0 И 0x4);
SENDB (ADRESH);
)))