http://img.radiokot.ru/files/20529/ks7mm8tto.jpg
http://img.radiokot.ru/files/20529/ks7li5vnx.jpg
самому такую делать уже тяжко...
пользуюсь чаще уже готовенькими модулями для всяко-дуинок...
Вы юморист, однако.otest писал(а):Поставь кварц на МК
Можно "прикрутить" генератор такого типа (смотрите на напряжение питания) к GP2/T0CKI (вход с логическими уровнями).Serj66610 писал(а):т.е. получается что внешний кварц не прикрутить.....?...так?
Код: Выделить всё
LIST p=10F200
__CONFIG 0xFEB
STATUS equ 03h
GPIO equ 06h
OSCCAL equ 05h
Reg_1 equ 10h
Reg_2 equ 11h
Reg_3 equ 12h
Reg_4 equ 13h
RegX equ 14h
RegY equ 15h
org 0
bcf OSCCAL,0
MOVLW b'00001000'
MOVWF GPIO
TRIS GPIO
MOVLW b'00010000'
OPTION
metkaX MOVLW .30
MOVWF RegX
MOVLW .10
MOVWF RegY
BSF GPIO,1
BSF GPIO,0
call delay100mS
BCF GPIO,0
call delay1900mS
decfsz RegX,F
goto $-5
BCF GPIO,1
MOVLW .30
MOVWF RegX
decfsz RegY,F
goto $-6
goto metkaX
delay100mS movlw .220
movwf Reg_1
movlw .130
movwf Reg_2
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
nop
return
delay1900mS movlw .123
movwf Reg_1
movlw .164
movwf Reg_2
movlw .10
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
return
end
Код: Выделить всё
goto $-6Код: Выделить всё
goto $-6Код: Выделить всё
LIST p=10F200
__CONFIG 0xFEB
STATUS equ 03h
GPIO equ 06h
OSCCAL equ 05h
Reg_1 equ 10h
Reg_2 equ 11h
Reg_3 equ 12h
Reg_4 equ 13h
RegX equ 14h
RegY equ 15h
org 0
bcf OSCCAL,0
MOVLW b'00001000'
MOVWF GPIO
TRIS GPIO
MOVLW b'00010000'
OPTION
metkaX MOVLW .30 ;заносим 30 в аккумулятор
MOVWF RegX ;заносим 30 в регистр X
MOVLW .10 ;заносим 10 в аккумулятор
MOVWF RegY ;заносим 10 в регистр Y
BSF GPIO,1 ;включаем вывод GP1
BSF GPIO,0 ;включаем вывод GP0
call delay100mS ;переходим на задержку 100 мСек
BCF GPIO,0 ;выключаем вывод GP0
call delay1900mS ;переходим на задержку 1,9 сек
decfsz RegX,F ;Вычитаем 1 из значения регистра X,значение не равно 0?
goto $-5 ;...переходим на 5 строк вверх
BCF GPIO,1 ;выключаем вывод GP1
MOVLW .30 ;заносим 30 в аккумулятор
MOVWF RegX ;заносим 30 в регистр X
decfsz RegY,F ;вычитаем 1 из значения регистра Y,значение не равно 0?
goto $-6 ;....переходим на 6 строк вверх
goto metkaX ;...значение равно 0?-> переход на метку X
delay100mS movlw .220 ;...............
movwf Reg_1
movlw .130
movwf Reg_2
decfsz Reg_1,F ;задержка на 100 миллисекунд
goto $-1
decfsz Reg_2,F
goto $-3
nop
return ;.....возврат к основному циклу программы на строку ниже
delay1900mS movlw .123 ;...............
movwf Reg_1
movlw .164
movwf Reg_2
movlw .10
movwf Reg_3
decfsz Reg_1,F ;задержка на 1900 миллисекунд(1.9 секунды)
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
return ;.....возврат к основному циклу программы на строку ниже
end