Странно.
В последней версии текста программы у вас закомментирована последняя строка (END).
В таком виде компиляция в MPLAB не прошла бы.
Помогите в освоении PIC
- Реклама
Re: Помогите в освоении PIC
Что такое _HS_OSC интересовался. Вот нашёл в сети отзыв человека собравшего часы, ну и скормил.
- Вложения
-
- рис.png
- (19.81 КБ) 178 скачиваний
Re: Помогите в освоении PIC
Вот последняя версия:
Код: Выделить всё
LIST p=16F628A
include p16f628a.inc
__CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _LVP_OFF & _BODEN_OFF & _MCLRE_ON
Reg_1 equ 20h
Reg_2 equ 21h
Reg_3 equ 22h
org 0
bsf STATUS,5 ;перешли
bcf STATUS,6 ;в банк1
CLRF TRISB ;запись 00000000 в TRISB
bcf STATUS,5 ;перешли
bcf STATUS,6 ;в банк0
movlw b'00000000' ;отключаем светодиоды
movwf PORTB ;на PORTB
call delay ;вызываем подпрограмму задержки delay
movlw b'11111111' ;включаем
movwf PORTB ;светодиоды на PORTB
call delay2 ;вызываем подпрограмму задержки delay2
goto Start
delay movlw .93 ;задержка 2сек.
movwf Reg_1
movlw .38
movwf Reg_2
movlw .11
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
nop
nop
return
delay2 movlw .190 ;задержка 4сек.
movwf Reg_1
movlw .75
movwf Reg_2
movlw .21
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
nop
return
Start bsf STATUS,5 ;перешли
bcf STATUS,6 ;в банк1
CLRF TRISB ;запись 00000000 в TRISB
bcf STATUS,5 ;перешли
bcf STATUS,6 ;в банк0
movlw b'00000000' ;отключаем
movwf PORTB ;светодиоды на PORTB
goto $
end
- Albert_V
- Друг Кота
- Сообщения: 4119
- Зарегистрирован: Чт сен 12, 2013 00:54:12
- Откуда: ЗаМКАДье. Там, где ЦУП
Re: Помогите в освоении PIC
У вас будет подключен кварц или будете работать от NTERNAL 4 MHZ OSCILLATOR?
Re: Помогите в освоении PIC
Будет подключен кварц.
- Реклама
- botchin
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Чт дек 27, 2012 20:46:09
- Откуда: Болгария, г. Лом
Re: Помогите в освоении PIC
Seryi, посколько тъ решил заниматся програмирование, то у меня замечания в етой части.
У тебя код начинается с адреса 0. Несмотря на то что адрес 0 и 4 ето "специалнъе" адреса.
У тебя основное тело программъ разорвано на две части. До delay и после delay2!!!!! Если программа умещается на одно страницу ето не критично, но не является хорошо в части читабелности программъ.
Я позволил себе дописать (переписать) твой код. Для меня лично так въглядить читабелнее .
Основная часть разделена на Init и Start. В Init поводится начальная инициализация МК, а в Start - работа МК.
У тебя код начинается с адреса 0. Несмотря на то что адрес 0 и 4 ето "специалнъе" адреса.
У тебя основное тело программъ разорвано на две части. До delay и после delay2!!!!! Если программа умещается на одно страницу ето не критично, но не является хорошо в части читабелности программъ.
Я позволил себе дописать (переписать) твой код. Для меня лично так въглядить читабелнее .
Код: Выделить всё
LIST p=16F628A
include p16f628a.inc
errorlevel -302
__CONFIG _CP_OFF & _CPD_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _LVP_OFF & _BODEN_OFF & _MCLRE_ON
CBLOCK 0x20 ;80 byte
Reg_1 ; for delay
Reg_2
Reg_3
endc
org 0
goto Init ;reset
nop
nop
nop
goto Start ;Interrupt
Init
bsf STATUS,5 ;перешли
bcf STATUS,6 ;в банк1
CLRF TRISB ;PORTB на въход
bcf STATUS,5 ;перешли в банк0
; movlw 0x07 ;Init comparator mode для 628А
; movwf CMCON ;comparator off
Start
clrf PORTB ;отключаем светодиоды на PORTB
call delay ;задержка delay - 2с
comf PORTB,f ;включаем светодиоды на PORTB
call delay2 ; задержка delay2 - 4с
comf PORTB,f ;отключаем светодиоды на PORTB
goto $
delay movlw .93 ;задержка 2сек.
;........
return
delay2 movlw .190 ;задержка 4сек.
;..........
return
;EEPROM данни
org 0x2100
end
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Re: Помогите в освоении PIC
Спасибо за замечания. Для меня это пока сложно, но я буду разбираться. Микроконтроллеры -интересная вещь!


