Чт авг 09, 2012 14:20:27
list p=16f628A
#include <P16F628.inc>
__CONFIG _PWRTE_ON & _WDT_OFF & _XT_OSC & _BODEN_OFF & _LVP_OFF
;****************************************************************************;
; Блок переменных
;****************************************************************************;
cblock 70H
SecL ; Младший разряд счетчика таймера
SecM ; Средний разряд счетчика таймера
SecH ; Старший разряд счетчика таймера
endc
;****************************************************************************;
; Блок дефайнов
;****************************************************************************;
#define Port_Led PORTB ; Порт светодиода
#define Tris_Led TRISB ; TRIS порта светодиода
#define Bit_Num_Led 0 ; № бита порта леда
;****************************************************************************;
;****************************************************************************;
;****************************************************************************;
;****************************************************************************;
org 0 ; Вектор сброса
goto main ; Переход на начало программы
;****************************************************************************;
; delay
; Подпрограмма паузы
;
; Входные параметры :
; SecL, SecM, SecH
;****************************************************************************;
delay
decfsz SecL,F ; Декремент SecL до 0
goto delay
decfsz SecM,F ; Декремент SecM до 0
goto delay
decfsz SecH,F ; Декремент SecH до 0
goto delay
return ; Возврат из ПП
;****************************************************************************;
; Начало программы
;****************************************************************************;
main
bcf STATUS, RP0 ; 0-ой банк
movlw .7 ; Отключаем компараторы
movwf CMCON ; В CMCON запысываем .7
banksel Tris_Led ; Настраиваем ПИН светодиода на выход
bcf Tris_Led, Bit_Num_Led ;
banksel Port_Led ; Сбрасываем ПИН светодиода
bcf Port_Led, Bit_Num_Led ;
;----------;
; Основной цикл
;----------;
main_loop:
movlw .50 ; Загрузка счетчика
movwf SecL ; SecL
movlw .50 ; Загрузка счетчика
movwf SecM ; SecМ
movlw .2 ; Загрузка счетчика
movwf SecH ; SecH
call delay
bsf Port_Led, Bit_Num_Led ; Зажечь светодиод
movlw .100 ; Загрузка счетчика
movwf SecL ; SecL
movlw .100 ; Загрузка счетчика
movwf SecM ; SecМ
movlw .4 ; Загрузка счетчика
movwf SecH ; SecH
call delay
bcf Port_Led, Bit_Num_Led ; Погасить светодиод
goto main_loop
;----------;
;
;----------;
;****************************************************************************;
end
;****************************************************************************;
Чт авг 09, 2012 15:33:39
Чт авг 09, 2012 17:23:21
Чт авг 09, 2012 20:06:36
Что то кодик знакомый А сами ли Вы его накатали ?Вот накатал простенький код, который мигает свеодиодом.
Чт авг 09, 2012 20:23:47
Чт авг 09, 2012 20:38:18
Чт авг 09, 2012 21:11:02
ссылкаvirus33 писал(а):почти сам.
Чт авг 09, 2012 22:13:21
Пт авг 17, 2012 00:29:37