русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

разрядный микроконтроллер PIC12F629-I/SN


Дата добавления: 2015-08-14; просмотров: 924; Нарушение авторских прав


Основные параметры
Разрядность
Масочное ПЗУ 2048x14
Flash нет
EEPROM
RAM
Линий I/O
АЦП 4/8
Компаратор нет
Встроенный генератор есть
Интерфейсы нет
Рабочая частота 4 МГц
Корпус SO8
 

 

; сигнализатор влажности

#include <p12f629.inc>

 

__config _PWRTE_ON &_MCLRE_OFF &_WDT_ON &_INTRC_OSC_NOCLKOUT &_CP_ON &_CPD_OFF &_BODEN_OFF

 

org 0

goto start

 

; --------------------------- регистры

timer_delay equ 20

timer_sound_L equ 21

timer_sound_H equ 22

 

; --------------------------- константы

; GPIO

d_tris equ b'001000'

SOUND_1 equ 0

SOUND_2 equ 1

INPUT equ 3

 

d_gpio_init equ b'000000'

d_sound_1 equ b'000001'

d_sound_2 equ b'000010'

 

d_option equ b'00001111' ; WDT c задержкой 2.3 сек

time_sound equ .6 ; длительность звука (x 146 mc)

 

; ---------------------------

w equ 0

f equ 1

 

; ____________________________________

; _____________________________________

; задержки для формирования меандра выходной частоты

delay_1 goto $+1 безусловный переход

clrwdt очистить WDT

delay_2 movlw .92 переслать константу 92 в W

movwf timer_delay переслать W в timer_delay

ckl_delay decfsz timer_delay,f вычесть 1 из timer_delay и пропустить если 0

goto ckl_delay безусловный переход ckl_delay

return возврат из подпрограммы

 

; -------------------------------------

sound movlw time_sound переслать константу в time_sound

movwf timer_sound_H переслать W в timer_sound_H



clrf timer_sound_L очистить timer_sound_L

 

; меандр 3.5 кГц -> T/2 = 286 мкс

ckl_sound movlw d_sound_1 переслать константу d_sound_1 в W

movwf GPIO переслать W в GPIO

call delay_1 вызов подпрограммы delay_1

 

movlw d_sound_2 переслать константу d_sound_2

movwf GPIO переслать W в GPIO

call delay_2 вызов подпрограммы delay_2

 

decfsz timer_sound_L,f вычесть 1 из timer_sound_L и пропустить если 0

 

goto ckl_sound безусловный переход ckl_sound

 

decfsz timer_sound_H,f вычесть 1 из timer_sound_H и пропустить если 0

 

goto ckl_sound безусловный переход ckl_sound

 

clrf GPIO очистить GPIO

return возврат из подпрограммы

 

 

; _____________________________________

; инициализация регистров по включению питания

init clrf INTCON очистить INTCON

movlw d_option переслать константу d_option в W

option

movlw 7 переслать константу 7 в W

 

movwf CMCON переслать W в CMCON

movlw d_tris переслать константу d_tris в W

tris GPIO

movlw d_gpio_init переслать константу в d_gpio_init

movwf GPIO переслать W в GPIO

 

bsf STATUS,RP0 выбрать банк 1

call 3FF вызов подпрограммы 3FF

movwf OSCCAL переслать W в OSCCAL

clrf PIE1 очистить PIE1

clrf WPU очистить WPU

clrf IOC очистить IOC

bcf STATUS,RP0 выбрать банк 0

 

return возврат из подпрограммы

 

; ===============================================

start call init вызов подпрограммы init

 

; _____________________________________ 2.3 cek

main_ckl clrwdt очистить WDT

sleep перейти в режим sleep

nop пустой цикл

 

btfss GPIO,INPUT проверить бит INPUT в регистре GPIO

; датчик сработал - выдаем звук

call sound вызов подпрограммы sound

 

goto main_ckl безусловный переход main_ckl

 

end

 

 

 



<== предыдущая лекция | следующая лекция ==>
Интерфейсная часть МП | Введение.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.22 сек.