реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> очень нужна помощь с пиком
Edmundo
сообщение Nov 19 2006, 11:51
Сообщение #31


Мастер
****

Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474



Цитата(Mari-999 @ Nov 19 2006, 10:06) *
У нас mpasmwin, он когда переводишь в hex выдает 5 ошибок, одну нашла не обьявлена перем.count, осталось три, он не указывает какие, но когда комментируешь те две строки MOVLW 0x09 и GOTO V0,
он выдает 0 ошибок, я посмотрела, но так прога не работает

5 - 1 = 3, интересная арифметика...

2napper, сорри что влезаю smile.gif, но может быть так...

1. Объявите переменную COUNT, она там действительно не объявлена.
2. Переименуйте метку V0 во что-нибудь не буквенно-цифровое, например VZERO, и поставьте соответственно GOTO VZERO


--------------------
شامل
Go to the top of the page
 
+Quote Post
napper
сообщение Nov 19 2006, 15:01
Сообщение #32


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 26-10-06
Из: Волгоград
Пользователь №: 21 685



Цитата(Edmundo @ Nov 19 2006, 14:51) *
5 - 1 = 3, интересная арифметика...

2napper, сорри что влезаю smile.gif, но может быть так...

1. Объявите переменную COUNT, она там действительно не объявлена.
2. Переименуйте метку V0 во что-нибудь не буквенно-цифровое, например VZERO, и поставьте соответственно GOTO VZERO

Edmundo, нет проблем! smile.gif Я ведь тоже могу ошибаться, поэтому только за, если кто-то меня поправит. Вот про переменную забыл...
Код
    #include P16F84A.inc
TEMPA    EQU    0x0C
TEMPB    EQU    0x0D
COUNT    EQU    0x0E
COUNT1    EQU    0x0F
COUNT2    EQU    0x10

    #DEFINE    VD2    PORTA,1;светодиод VD2
    #DEFINE    R1    PORTA,4;резистор

    ORG 0
INIT_PORTS            ;подпрограмма инициализации портов
    BSF        STATUS,RP0;переход на банк 1
    MOVLW        0x1C    ;настройка линий RA0 и RA1 на вывод, другие на ввод
    MOVWF        TRISA
    MOVLW        0x01    ;настройка линии RB0 на ввод, другие на вывод  
    MOVWF        TRISB
    BCF        STATUS,RP0;возврат в банк 0
;
LOOP
    MOVF        PORTA,W;чтение состояния порта A в W
    MOVWF        TEMPA    ;пересылка W в TEMPA
    BTFSS        TEMPA,4
    GOTO        LOOP    ;перейти на LOOP
    MOVLW        0x09
    MOVWF        COUNT
;СЧЕТЧИК МИГАНИЙ 9 РАЗ ГОРИТ, 9 - НЕ ГОРИТ, ИТОГО 18 СЕК
;(ЧАСТОТА МИГАНИЙ 1 ГЕРЦ, ЗНАЧИТ 1 МИГАНИЕ/НЕМИГАНИЕ В СЕКУНДУ),
;ПОСЛЕДНЕЕ НЕМИГАНИЕ НЕ УЧИТЫВАЕМ - ПОЛУЧАЕМ 17 СЕК;-)
V0
    BSF        VD2    ;зажечь светодиод VD2
    MOVLW        0xF3    ;пересылка константы
                ;H'F3' = .243 в W
    CALL        DELAY_E;вызов подпрограммы DELAY_E
    BCF        VD2    ;светодиод мигает
    MOVLW        0xF3    ;пересылка константы
                ;H'F3' = .243 в W
    CALL        DELAY_E;вызов подпрограммы DELAY_E
    DECFSZ    COUNT,F
    GOTO        V0
    GOTO        LOOP    ;переход к метке LOOP

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

    MOVWF        COUNT2;загрузка W в регистр COUNT2
    CLRF        COUNT1;сброс содержимого регистра COUNT1
LOOPD
    NOP            ;пустая команда
    DECFSZ    COUNT1,F;декремент COUNT1
    GOTO        LOOPD    ;повторение цикла 256 раз
    DECFSZ    COUNT2,F;декремент COUNT2
    GOTO        LOOPD    ;повторение цикла
    RETURN        ;возврат из подпрограммы
        END

Что я исправил:
1. Объявил переменную COUNT
2. Добавил команду "#include P16F84A.inc" вместо "LIST p=16F84" (У меня MPLAB на это ругается, а разбираться лень)
3. По поводу меток все нормально, имена допустимые.
4. Убрал объявление стандартных регистров.
Откомпилировал в MPLAB, все ОК, ошибок 0
P.S. Версия MPLAB 7.30
Go to the top of the page
 
+Quote Post
MariSev
сообщение Nov 21 2006, 21:03
Сообщение #33


Участник
*

Группа: Новичок
Сообщений: 37
Регистрация: 10-11-06
Из: Питер
Пользователь №: 22 178



Цитата(Mari-999 @ Oct 31 2006, 20:07) *
помогите, пожалуйста с пиком 16f84А, лаба заключается в следующем на любой вывод подключить светодиод, когда 0 светодид горит - 2 секунды, когда 1 светодиод не горит 1 секунду...и так цикл, прогу надо написать на ассемблере, и подробно опишите пожалуйста, чтоб разобраться, спасибо

Если нужна еще программа, я могу помочь..., (а вообще то это мой любимый ник tongue.gif)


--------------------
Даешь Xmultiple России!!! :)
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01355 секунд с 7
ELECTRONIX ©2004-2016