[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Вот кусок программы:
В регистрах RAS_L и RAS_H при подаче на вход АЦП +5В должно быть 0х3FF
А у меня там совсем не то...
Может я чего не так сделал?
;************ Инициализация портов после включения питания ********************
INIT_PORTS
BANK1
MOVLW B'10000010'
MOVWF ADCON1 ; Порт А - аналоговый
MOVLW B'11111111'
MOVWF TRIS_A ; Порт А - все входы
CLRF TRIS_B ; RB - все выходы
MOVLW B'10000001' ; Делитель 1:4 перед TMR0 и
MOVWF OPTION_REG ; выключение подтягивающих резисторов
MOVLW B'00000001' ; Разрешаем прерывание по TMR1
MOVWF PIE1
BCF TRIS_E, PSPMODE ; Порт D как I/O
MOVLW B'00001111'
MOVWF TRIS_D ; RD -
BANK0
CLRF PORT_B ; Очистка порта В
MOVLW B'00000101' ; Делитель 1:1 перед TMR1, int clock, enable TMR1
MOVWF T1CON
MOVLW B'11000000' ; Рарешаем прерывание периферии
MOVWF INTCON
;
MOVLW D'5' ; Начнем отсчет времени перед обновлением ЖКИ
MOVWF LCD_REF ; -/-
MOVLW D'4' ; Начнем отсчет времени перед опросом клавиатуры
MOVWF KEY_REF ; Период опроса клавы 19мс
;
;----------------------------------------
STRELKA
BANK0 ; Select Bank 0
MOVLW B'10000001' ; RC Clock, A/D is on, Channel 0 is selected
MOVWF ADCON0 ;
;
; Ensure that the required sampling time for the selected input channel has elapsed.
; Then the conversion may be started.
;
BSF ADCON0, GO ; Start A/D Conversion
NOP
NOP
NOP
NOP
AD_1 BTFSC ADCON0, GO
GOTO AD_1
NOP
NOP
NOP
NOP
MOVF ADRESL, W
MOVWF RAS_L
MOVF ADRESH, W
MOVWF RAS_H
BCF PIR1, 6
E-mail: info@telesys.ru