Помогите в освоении PIC

Поклонники продукции Microchip Technology Inc тусуются тут.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Помогите в освоении PIC

Сообщение Albert_V »

Странно.
В последней версии текста программы у вас закомментирована последняя строка (END).
В таком виде компиляция в MPLAB не прошла бы.
Аватара пользователя
Seryi
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Сб мар 29, 2008 21:42:45

Re: Помогите в освоении PIC

Сообщение Seryi »

Что такое _HS_OSC интересовался. Вот нашёл в сети отзыв человека собравшего часы, ну и скормил.
Вложения
рис.png
(19.81 КБ) 178 скачиваний
Аватара пользователя
Seryi
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Сб мар 29, 2008 21:42:45

Re: Помогите в освоении PIC

Сообщение Seryi »

Вот последняя версия:

Код: Выделить всё

		
                        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

Сообщение Albert_V »

У вас будет подключен кварц или будете работать от NTERNAL 4 MHZ OSCILLATOR?
Аватара пользователя
Seryi
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Сб мар 29, 2008 21:42:45

Re: Помогите в освоении PIC

Сообщение Seryi »

Будет подключен кварц.
Аватара пользователя
botchin
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Re: Помогите в освоении PIC

Сообщение botchin »

Seryi, посколько тъ решил заниматся програмирование, то у меня замечания в етой части.
У тебя код начинается с адреса 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
Основная часть разделена на Init и Start. В Init поводится начальная инициализация МК, а в Start - работа МК.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Аватара пользователя
Seryi
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Сб мар 29, 2008 21:42:45

Re: Помогите в освоении PIC

Сообщение Seryi »

Спасибо за замечания. Для меня это пока сложно, но я буду разбираться. Микроконтроллеры -интересная вещь!
Ответить

Вернуться в «PIC»