Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 19:15   #1
wrumer
Новичок
Джуниор
 
Регистрация: 06.12.2011
Сообщений: 1
По умолчанию Соеденение программ ступенчатого двигателя и модуля АЦП состыковки

Здраствуйте форумчане прошу помочь с решение задачи как начинающего программера в Assemblere работаю я в picsimulytorIDE возникли проблемы в сравнение цифр при состыковки двух модулей двигателя и АЦП программа выглядит таким видом ошибка помечена далее в программе. Спасибо за помощь заранее!! я еще чайник
ORG 0x0000
BCF PCLATH,3
BCF PCLATH,4
GOTO L0003
ORG 0x0004
RETFIE ; возврат из п\п с разр-ем прерывания
L0003:
BSF STATUS,RP0 ; bank 1
CLRF TRISB ; PORTB - out
MOVLW 0x3F
MOVWF TRISA ; PORTA - input RA0-RA5
BCF STATUS,RP0 ; bank 0
MOVLW 0xC0
MOVWF ADCON0 ; канал 0 - RA0, RC генератор
BSF STATUS,RP0 ; bank 1
CLRF ADCON1 ; каналы аналоговые, левое выравнивание
BCF STATUS,RP0 ; bank 0
BSF ADCON0,0 ; включение АЦП
NOP
NOP
L0001:
CALL L0002
MOVF ADRESH,W ; W = ADRESH
MOVWF PORTB
GOTO L0001
L0004:
GOTO L0004 ; бесконечный цикл
L0002:
BSF ADCON0,2 ; начало АЦ преобразования
L0005:
BTFSS ADCON0,2
GOTO L0006
GOTO L0005
L0006:
MOVLW 0x1F
ANDWF STATUS,F ; bank 0
RETURN
L0007:
GOTO L0007 ; бесконечный цикл
END
SEC EQU 0x02
DVP EQU 0x01
org 000h
GOTO START
org 100h
START:
CLRF STATUS
BSF STATUS, RP0 ; bank 1
CLRF TRISC ; PORTC - OUT
MOVLW 0xF0 ;'11110000'
MOVWF TRISB ; RB0-RB3 - OUT, RB4-RB7 - IN
BCF STATUS, RP0 ; bank 0
ENTER_KEY:
MOVWF PORTB
CMP PORTB, 20 Ошибка находиться в данном месте не могу найти метод сравнения числа в порте B выходящего с АЦП например числа 20 чтобы запустить ступенчатый двигатель ток при данном значаниии
JZ GOTO CW
CW:
CALL PAUSE
MOVLW 0x02
MOVWF PORTC
CALL PAUSE
MOVLW 0x0A
MOVWF PORTC
CALL PAUSE
MOVLW 0x08
MOVWF PORTC
CALL PAUSE
MOVLW 0x0C
MOVWF PORTC
CALL PAUSE
MOVLW 0x04
MOVWF PORTC
CALL PAUSE
MOVLW 0x05
MOVWF PORTC
CALL PAUSE
MOVLW 0x01
MOVWF PORTC
CALL PAUSE
MOVLW 0x03
MOVWF PORTC
CALL PAUSE
CCW: ; п/п вращения ШД против часовой стрелки
CALL PAUSE
MOVLW 0x01
MOVWF PORTC
CALL PAUSE
MOVLW 0x05
MOVWF PORTC
CALL PAUSE
MOVLW 0x04
MOVWF PORTC
CALL PAUSE
MOVLW 0x0C
MOVWF PORTC
CALL PAUSE
MOVLW 0x08
MOVWF PORTC
CALL PAUSE
MOVLW 0x0A
MOVWF PORTC
CALL PAUSE
MOVLW 0x02
MOVWF PORTC
CALL PAUSE
MOVLW 0x03
MOVWF PORTC
CALL PAUSE
GOTO ENTER_KEY
PAUSE:
MOVLW 0x01
MOVWF DVP
MET_2
DECFSZ DVP,1
GOTO MET_2
RETURN
wrumer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ШИМ для шагового двигателя V0lk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.01.2011 20:38
разработка ПО для создания АСУ электрического двигателя Joslen_bomon Микроконтроллеры, робототехника, схемотехника, 3D принтеры 11 16.05.2010 22:42
АЦП на ATmega48 hobin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 04.02.2009 04:21
Программа для диагностики двигателя на автомобиле фЁдОр Общие вопросы Delphi 15 24.12.2008 08:53