Автор работы: Пользователь скрыл имя, 11 Августа 2013 в 21:53, курсовая работа
В современной технике постепенно становится незаменимым использование цифровых устройств. При нынешнем развитии цифровых технологий, позволяется уменьшать размеры оборудования при решении огромного числа задач, в том числе автоматизации, контроля и управления производством, приёма, обработки и хранения различных сигналов, различные типы измерительных приборов и пр.
Одним важным классом цифровых устройств является микроконтроллеры, устройства управления объектами, который представляет собой стандартный массовый (относительно недорогой) логический блок, конкретное назначение которого определяет сам пользователь с помощью программного обеспечения.
Введение…………………………………………………………………………....4
1. Анализ задания, составление описания и блок-схемы устройства…………..5
2. Выбор компонентов схемы и их описание…………………………………….6
2.1 Выбор микроконтроллера…...…………………………….……………..6
2.2 Выбор вспомогательных элементов конструкции..…………………….8
2.2.1 Входная цепь…………………………………………………………..8
2.2.2 Потенциометр..………………………………………………………..8
2.2.3 Блок питания…………………………………………………………..8
2.2.5 Прочие элементы схемы…….. ………………………………………8
3. Алгоритм………………………………………….……………………….…….9
4 Программа на ассемблере……………………………………………………….11
Заключение……...………………………………………………………………….17
Список использованных источников……………………………………………..18
return
; ******************************
TRIGA
clrf A_PH ; Сбросить счетчик
btfsc AL ; Положительная полуволна?
bcf AL ; Нет, закрыть нижний ключ
bsf AL ; Да, открыть нижний ключ
return
; ******************************
TRIGB
btfsc BL ; Положительная полуволна?
bcf BL ; Нет, закрыть нижний ключ
bsf BL ; Да, открыть нижний ключ
return
; ******************************
TRIGC
btfsc CL ; Положительная полуволна?
bcf CL ; Нет, закрыть нижний ключ
bsf CL ; Да, открыть нижний ключ
return
; ******************************
DIV
clrf RH ; Сброс старого результата
movf DELIT,w ; загружаем делитель в аккумулятор
REPEAT
subwf DELIM,1 ; вычитаем делитель из делимого
btfsc _C ; Был заем?
goto ENDDIV ; Да, выходим из подпрограммы
incf RH,1 ; Нет, инкрементируем частное
goto REPEAT
ENDDIV
return
; ******************************
;=============================
; Таблица Синусов
org H'400'
sinus
bsf PCLATH,2
addwf PCL,1
dt 0x00, 0x10, 0x21, 0x31, 0x41, 0x50, 0x60, 0x6f, 0x7D, 0x8B, 0x99, 0xA5, 0xB1
dt 0xBD, 0xC7, 0xD1, 0xDA, 0xE2, 0xE9, 0xEF, 0xF4, 0xF9, 0xFC, 0xFE, 0xFF, 0xFF
dt 0xFE, 0xFC, 0xF9, 0xF4, 0xEF, 0xE9, 0xE2, 0xDA, 0xD1, 0xC7, 0xBD, 0xB1, 0xA5 dt 0x99, 0x8B, 0x7D, 0x6F, 0x60, 0x50, 0x41, 0x31, 0x21, 0x10
return
;=============================
4.3 Файл gen.asm
LIST P=16f873
TITLE master program
include p16f873.inc
include "const.h"
banc0 macro
bcf _RP0
bcf _RP1
endm
banc1 macro
bsf _RP0
bcf _RP1
endm
; ******************************
; RESET VECTOR
; ******************************
org 0x00
goto INI
; ******************************
; INTERRUPT VECTOR
; ******************************
include "interrupt.inc"
; ******************************
; ******************************
;CONFIGURATION
; ******************************
INI
banc1
movf 0x09,w
movwf TRISA ; AN0, AN3 - входы
movf 0x05,w
movwf ADCON1 ; AN0 - аналоговый канал, источники опорного напряжения - AN3, Vss
banc0
movf 0x81,w
movwf ADCON0 ; Включение АЦП, тактовая частота Fosc/32, аналоговый канал AN0
; ******************************
movf 0x20,w
movwf T1CON ; Коэфициент деления 1/4, тактируется внутренним источником
movf 0xFF,w
movwf TMR1L ; Использую только 8-бит
; ******************************
movf 0x01,w
movwf T2CON ; Предделитель: 1/4, выходной: 1/1
banc1
movf 0xFF,w
movwf PR2 ; Частота ШИМ 4,88кГц
; ******************************
clrf TRISC ; Порт С - выходной
clrf TRISB ; Порт B - выходной
banc0
movf 0x0F,w
movwf CCP1CON
movwf CCP2CON ; Настройка модулей ССР в режим ШИМ
; ******************************
movf 0xC0,w
movwf INTCON ; Глобальное разрешение прерываний, разрешение прерываний от переферийных модулей
banc1
movf 0x43,w
movwf PIE1 ; Разрешение прерывания АЦП, таймеров 1 и 2
; ******************************
banc0
bsf CL ; Фаза С - отрицательная полуволна
movf 0x01,w
movwf A_PH
movf 0x21,w
movwf B_PH
movf 0x11,w
movwf C_PH ; Настройка начального состояния счётчиков фаз
movf 0x01,w
movwf K ; Начальное значение коэфициента деления
;=============================
FIRSTSTART
movwf CCPR1L
movf 0xE9,w
movwf CCPR2L
movf 0x2E,w
movwf TMR1H
bsf T1
bsf CH
bsf T2
LOOP
nop
goto LOOP
END
ЗАКЛЮЧЕНИЕ
В курсовой работе было разработан 3-фазный инвертор с регулируемой амплитудой напряжения. Управление устройством выполняется с помощью микроконтроллера PIC16F873 фирмы Microchip, для которого была написана программа на языке Assembler, модифицированного под данное семейство, и в частности под данный МК.
Информация о работе Проектирование микроконтроллерных устройств