|
очень нужна помощь с пиком |
|
|
|
 |
Ответов
|
Nov 10 2006, 20:36
|

Участник

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

|
Я думаю подпрограмму мигания надо организовать вот так: Код R1_VD2M ;подпрограмма мигания светодиода BTFSS TEMPA,4 GOTO V1 ;перейти на V1 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 GOTO V1 ;перейти на V1 DECFSZ COUNT,F GOTO V0 V1 BCF VD2 ; RETURN ;возврат из под программы
END Надеюсь паузы в подпрограмме DELAY_E вы подобрали правильно P.S. Не забудьте объявить переменную COUNT в начале программы!!!
|
|
|
|
|
Nov 14 2006, 12:31
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 14-01-06
Пользователь №: 13 171

|
[quote name='napper' date='Nov 10 2006, 23:36' post='174600'] Я думаю подпрограмму мигания надо организовать вот так: Код R1_VD2M ;подпрограмма мигания светодиода BTFSS TEMPA,4 GOTO V1 ;перейти на V1 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 GOTO V1 ;перейти на V1 DECFSZ COUNT,F GOTO V0 V1 BCF VD2 ; RETURN ;возврат из под программы
END Надеюсь паузы в подпрограмме DELAY_E вы подобрали правильно P.S. Не забудьте объявить переменную COUNT в начале программы!!! [/quot] не работает даже не компилиться
|
|
|
|
|
Nov 14 2006, 13:07
|

Участник

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

|
Цитата(Mari-999 @ Nov 14 2006, 15:31)  не работает даже не компилиться Читайте внимательнее, это ПОДпрограмма! Замените в своей программе, начиная с метки R1_VD2M на мою.
|
|
|
|
|
Nov 14 2006, 13:52
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 14-01-06
Пользователь №: 13 171

|
Цитата(napper @ Nov 14 2006, 16:07)  Цитата(Mari-999 @ Nov 14 2006, 15:31)  не работает даже не компилиться
Читайте внимательнее, это ПОДпрограмма! Замените в своей программе, начиная с метки R1_VD2M на мою. Да, именно так и сделала (это то я поняла конечно, что это подпрограмма  ), заменила, она не работает и ругаеться на строчки MOVLW 0x09 и GOTO V0
|
|
|
|
|
Nov 14 2006, 19:06
|

Участник

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

|
Полная версия программы: Код LIST p=16F84 INTCON EQU 0x0B OPTION EQU 0x81 TMR0 EQU 0x01 INTF EQU 1 T0IF EQU 5 PCL EQU 0x02 STATUS EQU 0x03 RP0 EQU 5 PORTA EQU 0x05 PORTB EQU 0x06 TRISA EQU 0x05 TRISB EQU 0x06 W EQU 0 F EQU 1 TEMPA EQU 0x0C TEMPB EQU 0x0D COUNT1 EQU 0x0E COUNT2 EQU 0x0F
#DEFINE Z STATUS,2;бит нулевого результата #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 О результатах сообщите
|
|
|
|
|
Nov 16 2006, 04:15
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 14-01-06
Пользователь №: 13 171

|
Цитата(napper @ Nov 14 2006, 22:06)  О результатах сообщите не работает две ошибки
|
|
|
|
|
Nov 16 2006, 05:39
|

Участник

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

|
Цитата(Mari-999 @ Nov 16 2006, 07:15)  не работает две ошибки Давайте разбираться. Что пишет компилятор, на что ругается? Цитата(Edmundo @ Nov 16 2006, 08:20)  Небось, компиляторы разные... В чем компилируете? А причем здесь компилятор? Вроде это стандартный ассемблер для PICов...
|
|
|
|
|
Nov 16 2006, 06:53
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 14-01-06
Пользователь №: 13 171

|
Цитата(napper @ Nov 16 2006, 08:39)  Цитата(Mari-999 @ Nov 16 2006, 07:15)  не работает две ошибки Давайте разбираться. Что пишет компилятор, на что ругается? Цитата(Edmundo @ Nov 16 2006, 08:20)  Небось, компиляторы разные... В чем компилируете? А причем здесь компилятор? Вроде это стандартный ассемблер для PICов... MPASM выдает 5 ошибок, одну нашла не объявлена переменная COUNT, остальные не знаю
|
|
|
|
|
Nov 16 2006, 07:46
|

Участник

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

|
Цитата(Mari-999 @ Nov 16 2006, 09:53)  MPASM выдает 5 ошибок, одну нашла не объявлена переменная COUNT, остальные не знаю Что за ошибки? Я же не ясновидящий!.. Скопируйте их сюда
|
|
|
|
|
Nov 19 2006, 07:06
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 14-01-06
Пользователь №: 13 171

|
Цитата(napper @ Nov 16 2006, 10:46)  Цитата(Mari-999 @ Nov 16 2006, 09:53)  MPASM выдает 5 ошибок, одну нашла не объявлена переменная COUNT, остальные не знаю
Что за ошибки? Я же не ясновидящий!.. Скопируйте их сюда У нас mpasmwin, он когда переводишь в hex выдает 5 ошибок, одну нашла не обьявлена перем.count, осталось три, он не указывает какие, но когда комментируешь те две строки MOVLW 0x09 и GOTO V0, он выдает 0 ошибок, я посмотрела, но так прога не работает
Сообщение отредактировал Mari-999 - Nov 19 2006, 07:08
|
|
|
|
|
Nov 19 2006, 11:51
|

Мастер
   
Группа: Свой
Сообщений: 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, интересная арифметика... 2 napper, сорри что влезаю  , но может быть так... 1. Объявите переменную COUNT, она там действительно не объявлена. 2. Переименуйте метку V0 во что-нибудь не буквенно-цифровое, например VZERO, и поставьте соответственно GOTO VZERO
--------------------
شامل
|
|
|
|
Сообщений в этой теме
Mari-999 очень нужна помощь с пиком Oct 31 2006, 20:07 Herz Цитата(Mari-999 @ Oct 31 2006, 22:07... Nov 1 2006, 06:24 napper Цитата(Mari-999 @ Nov 1 2006, 00:07)... Nov 4 2006, 22:38 upc2 Цитата(napper @ Nov 5 2006, 01:38) [
Что ... Nov 6 2006, 05:29 napper Схема то хоть такая? Nov 6 2006, 12:27 upc2 Цитата(napper @ Nov 6 2006, 15:27) Схема ... Nov 6 2006, 14:03 upc2 Цитата(napper @ Nov 6 2006, 18:58) Действ... Nov 7 2006, 05:25             napper Цитата(Edmundo @ Nov 19 2006, 14:51) 5 - ... Nov 19 2006, 15:01         Edmundo Цитата(napper @ Nov 16 2006, 08:39) А при... Nov 16 2006, 09:23 napper Условий Вашей задачи я не знаю, поэтому генератор ... Nov 7 2006, 16:14 Edmundo Цитата(napper @ Nov 7 2006, 19:14) Е-мое,... Nov 9 2006, 09:35 upc2 napper
Написана Си и компилятор выдал аsm- файл.Дл... Nov 8 2006, 05:34 napper Цитата(upc2 @ Nov 8 2006, 08:34) napper
Н... Nov 8 2006, 05:42  Mari-999 Цитата(napper @ Nov 8 2006, 08:42) Цитата... Nov 10 2006, 19:39   napper КодLIST p=16F84
INTCON EQU 0x0B
OPTION EQU ... Nov 10 2006, 20:23   dosikus Цитата(Mari-999 @ Nov 10 2006, 22:39... Nov 11 2006, 09:57    Mari-999 Цитата(dosikus @ Nov 11 2006, 12:57) Цита... Nov 11 2006, 22:43 upc2 Тогда приношу свои извинения.
Куда делся автор не ... Nov 8 2006, 06:10 upc2 MPASM старенький компилятор. Пора переходить на MP... Nov 16 2006, 09:38 MariSev Цитата(Mari-999 @ Oct 31 2006, 20:07... Nov 21 2006, 21:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|