Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
Напечатал простейший код, но он неработает.
xxxmonejall Дата: Вс, 14.09.2008, 01:55  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

В чем проблема? cry

Добавлено (14.09.2008, 7:55:45)
---------------------------------------------
И еще где взять Compiler для Microcode Studio Plus

Прикрепления: 4440307.jpg (51.7 Kb)

Сообщение отредактировал xxxmonejall - Вс, 14.09.2008, 01:56
ЯНДЕКС Дата: 14.09.2008
ADMIN Дата: Вс, 14.09.2008, 10:48  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

1.точка после END не нужна.
2.здесь
xxxmonejall Дата: Вс, 14.09.2008, 15:34  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Спасибо!!!!!!!!!!!!! biggrin
kolas Дата: Сб, 07.11.2009, 20:14  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 18.03.2009

Статус: Offline

Всем привет, как заставить выполнять следующую программу не дожидаясь выполнения предыдущих?, вероятно нужно включить прерывания ?, не смогли бы поправить текст программы и по возможности прокомментировать, заранее благодарен. Алексей.

Code
@ device pic12F675, intrc_osc, wdt_on, mclr_off, protect_off
CMCON = 7
ANSEL = 0
gpio = %001000
trisio = %001000
symbol sw1 = gpio.3
s var byte
s = 0
f var byte
pause 100
clear
M:

Button sw1,0,1000,50,f,1,P
goto M
P:
s = s + 1
if s = 1 then goto a
if s = 2 then goto b
if s = 3 then goto c
if s = 4 then goto d
if s = 5 then goto e
if s = 6 then s = 0
goto M

a:
for f = 1 to 5
pause 300
gpio = %000001
pause 300
gpio = %000000
next
goto M

b:
for f = 1 to 5
pause 300
gpio = %000010
pause 300
gpio = %000000
next
goto M

c:
for f = 1 to 5
pause 300
gpio = %000100
pause 300
gpio = %000000
next
goto M

d:
for f = 1 to 5
pause 300
gpio = %010000
pause 300
gpio = %000000
next
goto M

e:
for f = 1 to 5
pause 300
gpio = %100000
pause 300
gpio = %000000
next
goto M
ADMIN Дата: Вс, 08.11.2009, 07:11  |                                                                                                                Сообщение # 5
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Прокомментировать доходчиво может автор программы. Вы, в свою очередь, хотя бы объяснили, чего хотите от программы. Что она должна делать?
kolas Дата: Пн, 16.11.2009, 20:52  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 18.03.2009

Статус: Offline

При первом нажатии на кнопку выполняется команда "а", светодиод( подключенный к порту GPIO.0) мигает 5 раз, после того как он моргнул 5 раз нажимаем на кнопку второй раз выполняется команда "b", следующий светодиод ( подключенный к порту GPIO.1) мигает 5 раз, после того как он моргнул 5 раз, нажимаем на кнопку третий раз выполняется команда "с", следующий светодиод( подключенный к порту GPIO.2) мигает 5 раз и так далее, как сделать так чтобы можно было заставить мигать светодиод ( подключенный к порту GPIO.2), в тот момент когда мигает светодиод ( подключенный к порту GPIO.0), а прокомментировать только те изменения которые будут внесены в данный текст программы ( если это возможно ).

Добавлено (16.11.2009, 20.52.00)
---------------------------------------------
Народ, ну хоть кто нибудь подскажите!

sanek Дата: Пн, 16.11.2009, 22:46  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 84
Репутация: 0   ±
Замечания:   ±
На сайте с 09.04.2009

Статус: Offline

если нужно чтобы мигало два светодиода на портах 0 и 2:
a:
for f = 1 to 5
pause 300
gpio = %000101'будут мигать светодиоды на портах 0 и 2
pause 300
gpio = %000000
next
goto M
если нужно от кнопки:
a:
for f = 1 to 5
pause 300
if кнопка нажата then
gpio = %000101
else
gpio = %000001
endif
pause 300
gpio = %000000
next
goto M

Сообщение отредактировал sanek - Пн, 16.11.2009, 22:59
kolas Дата: Пт, 20.11.2009, 00:10  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 18.03.2009

Статус: Offline

sanek, добрый вечер, или другое время суток, я может быть не совсем верно изъяснился. Я имел в виду немного другое . Допустим выполняется программа "а" , но при нажатии кнопки прекращается выполнение этой программы и начинается выполнение следующей программы и т.д.
sanek Дата: Сб, 21.11.2009, 16:06  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 84
Репутация: 0   ±
Замечания:   ±
На сайте с 09.04.2009

Статус: Offline

хочу уточнить,при нажатии кнопки во время выполнения программы "а", должна заработать следующая за ней программа или нужна возможность выбрать?
kolas Дата: Вс, 22.11.2009, 21:07  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 18.03.2009

Статус: Offline

допустим программ всего 5, "a"."b","c","d","e". При первом нажатии начинает выполнятся программа"а" и в момент её выполнения(или в момент выполнения любой другой из перечисленных) при помощи кнопки чтобы можно было перейти к любой из последующих программ. Наверняка нужно применять прерывания, но как это делается практически я пока не знаю. Буду признателен за помощь.
Dmitry Дата: Вс, 22.11.2009, 22:31  |                                                                                                                Сообщение # 11
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 157
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Нафик прерывания. Во всех программах a-e (они же у тебя состоят из цикла for..next) вставляешь чтение
порта с кнопкой: if sw1=0 then прыгаешь куда надо. Я так понял, надо на следующую программу.
Только вставляй чтение порта после первой задержки (300 мс), а то еще неотпущенную кнопку поймет как вновь нажатую.

Сообщение отредактировал Dmitry - Вс, 22.11.2009, 22:31
ЯНДЕКС Дата: 22.11.2009
kolas Дата: Пн, 23.11.2009, 12:42  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 18.03.2009

Статус: Offline

sanek, спасибо всё работает!!!
  • Страница 1 из 1
  • 1
Поиск: