Разработка контроллера управления режимами работы микродвигателя

Автор: Пользователь скрыл имя, 11 Сентября 2011 в 13:31, курсовая работа

Краткое описание

Многие прикладные устройства требуют управления работы микродвигателя. Маленькие габариты и более высокая надежность создает потребность в более интегрированных решениях схемы управления. В прошлом, контроллер управления режимами работы микродвигателя включал микроконтроллер и много дискретных компонентов. Теперь, развитая технология уменьшает количество элементов только до двух чипов: микроконтроллер управления и интегрированный драйвер.

Файлы: 1 файл

курсернач.doc

— 1.28 Мб (Скачать)

ld t1,pwm ; загрузка таймера с ШИМ

ld tmr,#8fh ; загрузка и допуск t0, t1

ld irq,#80h ; повышение на irq2, при падении на irq0

delay_loop: ei ; допуск прерываниям

jr delay_loop ; ждет прерывания

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

; OVER-CURRENT ПРЕРЫВАЕТ ПРОГРАММУ

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

over_current: or p3,#brakes_on ; установка ТОРМОЗА, высокий уровень

ld STATE,#stopped ;

ld p2,^C #stop_led ;

ld imr,#irq4 ;

iret ;

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

; Т0 ПРЕРЫВАНИЕ  ПРОГРАММЫ ПРЕРЫВАНИЯ

; Эта  подпрограмма выполняет следующие  функции:

  ; 1) Установка  выборки для ШИМ в 2000 Hz

; 2) Тест  для замыкания  клавиши и  переключателя направления 

;----------------------------------------------------------------------------0000005d

sample: cp STATE,#stopped ; проверка остановки

jr ne,test_start_up;

tm p2,#dir_sw ; проверка переключателя направления

jr z,ccw ; если низкbq, то Reverse

or p3,#10h ; если высокbq, то Forward

ld temp_led,^C #forward_led

jr continue ;

ccw: and p3,^C #10h ; выбор низкого бита направления

ld temp_led,^C #reverse_led

test_start_up: cp STATE,#start_up ;

jr ne,continue ;

decw delay ;

jr nz,continue ;

ld imr,#irq4+irq2+irq0;

ld STATE,#running ;

continue: or p3,#40h ; ШИМ=мах

ld tmr,#8fh ; загрузка и допуск таймера

key_scan: tcm p2,#switches ; любые нажатие переключателя

jr z,exit ; нет,  выход

ld temp_1,p2 ; данные переключателя

ld count,#3 ; счетчик загрузки

key_loop: inc key_cnt ;

scf ; установка флажка переноса

rrc temp_1 ; вращение вправо

jr c,no_keys ; любой перенос

cp key_temp,key_cnt ; та же самая клавиша

jr ne,load_keys ; не тота клавиша

inc bounce ; счетчик  приращений

cp bounce,#80h ; = 127

jr ult,load_keys ; если меньше, нет действий

cp key_cnt,#increase ; клавиша увеличения

jr ne,try_decrease ; нет, клавишу уменьшения

cp pwm,#max ; ШИМ=min

jr eq,exit ; да, не увеличить

inc pwm ; увеличьте ШИМ (увеличение скорости)

ld t1,pwm ;

jr exit ; подпрограмма выхода

try_decrease: cp key_cnt,#decrease ; клавиша уменьшения

jr ne,try_brake ; нет, клавиша тормоза

cp pwm,#min ; проверка ШИМ=min

jr ule,exit ; если да, не делайть декремент

dec pwm ; декремент ШИМ (уменьшение скорости)

ld t1,pwm ; загрузка  нового значения ШИМ

jr exit ; нет, выход

try_brake: cp key_cnt,#brake ; кнопка тормоза

jr ne,exit ; выход, если нет

cp make,#0ffh ; кнопка нажата

jr eq,exit_1 ; да - никаких действий

xor p3,#20h ; переключение бита тормоза

ld make,#0ffh ; установка флажка

tm p3,#20h ; тормоз

jr nz,test_dir ; проверка направления

ld p2,temp_led ; загрузка направления Forward

ld STATE,#start_up ; вращение

jr exit_1 ; выход

test_dir: ld STATE,#stopped ;

ld imr,#irq4 ;

ld temp_led,p2 ; данные на светодиод

ld p2,^C #stop_led ; включить красный

 jr exit_1 ;

load_keys: ld key_temp,key_cnt ; данные клавиши

clr key_cnt ; очистка регистр клавиши

iret ; возвратит прерывания

no_keys: djnz count,key_loop ; проверка всех клавиш

exit: clr make ;

exit_1: clr bounce ; очистка регистраторов клавиш

clr key_cnt ;

clr key_temp ;

clr count ;

no_irq: iret ; возврат из прерывания

.end 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

   Библиографический список
 
  1. Микросхемы  для зарубежной бытовой аппаратуы. Справочное пособие, Колесников В.А.СПб:Лань, 1998-236с.

  1. Интегральные  микросхемы. Перспективные разработки. М: ДОДЭКА, 1999-96с. 

Информация о работе Разработка контроллера управления режимами работы микродвигателя