logo
Устройство управления шаговым двигателем на микроконтроллере

4.Разработка программного обеспечения

При разработке и отладке программы были использованы программы Proteus и AVRstudio.

list p=16F84A

#include <p16F84A.inc>

; _CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

;***базовые значения

del EQU 0xFF ;константа длительности задержки

count EQU 0x0C ;переменная подпрограммы задержки

ORG 0x00

;***начальная инициализация

clrf PORTA ;очистить порт А

clrf PORTB ;и порт В

bsf STATUS,RP0 ;включили банк 1

movlw INIT_A

movwf PORTA ;настроили порт А

movlw INIT_B

movwf PORTB ;настроили порт В

bcf OPTION_REG,7 ;включили встроенную нагрузку

bcf STATUS,RP0 ;включили банк 0

clrw

movwf PORTB

main

movlw b01010000

movwf PORTB

call delay

;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку

call delay

movlw b01100000

movwf PORTB

call delay

;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку

call delay

movlw b10100000

movwf PORTB

call delay

;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку

call delay

movlw b10010000

movwf PORTB

call delay

;-------Вставляем сюда задержек, столько - сколько надо, или модифицируем подпрограмму на более длинную задержку

goto main

;***подпрограмма формирования задержки между шагами

delay movlw del

movwf count

loop decfsz count,f

goto loop

return

END