![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 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 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ШИМ для шагового двигателя | 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 |