Сообщение от otest
|
Не поленись отключи не нужную переферию
|
Вообще запутался. Отключил так как Вы сказали:
Нажмите, чтобы открыть спойлер
Код:
|
; Настройка микроконтроллера
bcf INTCON,GIE ; Глобальное запрещение прерываний
bcf INTCON,PEIE ; Запретить прерывания от периферийных модулей
clrf PORTA ; Инициализация PORTA
clrf PORTB ; Инициализация PORTB
movlw .7 ; 00000111
movwf CMCON ; Отключаем компораторы
clrf T1CON ; Отключаем таймер TMR1 использующий RB6 и RB7
clrf T2CON ; Отключение 2 таймера навсякий случай
clrf CCP1CON ; Выключить CCP модуль
; Переходим в первый банк памяти
bsf STATUS,RP0
call delay_5
bcf STATUS,RP1
call delay_5
bcf OPTION_REG,NOT_RBPU ;Выключение подтягивающих резисторов на входах PORTB
bcf OPTION_REG,T0CS ;Выбор тактового сигнала для TMR0 на внутренний тактовый сигнал CLKOUT
clrf VRCON ; Источник опорного напряжения выключен и не потребляет тока
clrf RCSTA ; USART модуль последовательного порта выключен
clrf TRISB
bcf TRISA,RA0
call delay_5
bcf TRISA,RA1
call delay_5
bcf TRISA,RA2
call delay_5
bcf TRISA,RA3
call delay_5
; Переходим в нулевой банк памяти
bcf STATUS,RP0
call delay_5
bcf STATUS,RP1
call delay_5
; ************************************************** *************** |
после этого если выполнить код:
Нажмите, чтобы открыть спойлер
Код:
|
movlw b'11111111'
movwf PORTB
START:
goto START |
VDD = 5.11В
LCD D0,D1,D2,D3 = VSS
На ногах LCD D4,D5,D6,D7 все отлично +5.11 В
Но если выполнить код:
Нажмите, чтобы открыть спойлер
Код:
|
bsf PORTA,RA1
call delay_5
bsf PORTA,RA2
call delay_5
bsf PORTA,RA3
call delay_5
movlw b'11111111'
movwf PORTB
START:
goto START |
т.е. подать логическую "1" в портА, то при таком коде на LCD RS,RW,E = 5,11В, а вот LCD D4=3,94В, D5=5,02В, D6=3,87В, D7=5,11В. При этом коде протеус в симуляции указал короткое в LCD D4,D6,D7 - горело желтым цветом (лог симуляции потеуса показал Logic contention(s) detected on net D4 D5 D6 D7).
). Наверняка где то я перемудрил.
Подтягивающие резисторы нужно было отключать или нет.
до всех этих переделок LCD работал вот так:
Нажмите, чтобы открыть спойлер
сейчас же если выполнить код
Нажмите, чтобы открыть спойлер
Код:
|
START:
bsf PORTA,RA0
nop
nop
bcf PORTA,RA0
goto START |
то получаем такую картину
Нажмите, чтобы открыть спойлер
причем нет разницы включаем на LCD RS,RW,E или нет
Нажмите, чтобы открыть спойлер
Сообщение от OakRidge
|
И обязательно указать слово конфигурации
|
Объясните пожалуйста что Вы имели введу "Обязательно указать слово конфигурации". Имеется ввиду как его нужно указывать.
Сообщение от OakRidge
|
.cof
|
Спасибо. Очень полезная штука.
Прошу также объяснить, у меня стоит внешний кварц 4 МГц, значит частота работы м-к должна быть 1МГц. Почему при выполнении кода на 3 такта включения и 3 такта выключения частота показывает 1 МГц на включение и 1 МГц на выключение, а не в 3 раза больше. Как я понял у меня 1 такт должен выполняться в 1 мкС, а исходя из осциллограммы у меня 3 такта за 1 мкС выполняются. Ручки на осциллографе установлены в 2 Вольта и 0.5 мкСек
START:
bsf PORTA,RA0
nop
nop
bcf PORTA,RA0
goto START