Внешняя Память помогите разобраться - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » Внешняя Память помогите разобраться
Внешняя Память помогите разобраться
fire_on_line Дата: Пт, 20.02.2009, 21:42  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 17.02.2009

Статус: Offline

Я недавно начал разбираться с PicBasicPro да и с микроконтроллерами в целом по книге В.Н. Хилинского.
немогу разобраться с примером работы с внешней памятью:

' --[ Определения ]----------------------
DEFINE LCD_DREG PORTB ' Определяем порт, к которому
' подключается шина данных ЖКИ.
DEFINE LCD_DBIT 4 ' Определяем первый контакт PORTB, к
' которому подключается шина данных ЖКИ - DB4.
DEFINE LCD_RSREG PORTB ' Определяем порт, к которому
' подключается цепь RS.
DEFINE LCD_RSBIT 3 ' Определяем контакт PORTB, к
' которому подключается цепь RS.
DEFINE LCD_EREG PORTB ' Определяем порт, к которому подключается
' цепь E.
DEFINE LCD_EBIT 0 ' Определяем контакт PORTB, к
' которому подключается цепь E.
DEFINE LCD_BITS 4 ' Определяем режим связи с ЖКИ (4-
' разрядная шина).
DEFINE LCD_LINES 2 ' Определяем тип ЖКИ.
DEFINE LCD_COMMANDUS 2000 ' Определяем время задержки между
' командами.
DEFINE LCD_DATAUS 50 ' Определяем время задержки между
' посылками данных.
' ---[ Переменные ]----------------------------
adr var byte ' Вводим переменную адреса.
dan var byte ' Вводим переменную вывода на экран.
Control con %10100000 ' Вводим константу - контрольный
' байт для связи с EEPROM.
DPIN var PORTA.0 ' Вводим переменную - цепь вывода
' данных шины I2C.
CPIN var PORTA.1 ' Вводим переменную - цепь вывода
' синхроимпульсов шины I2C.
Address var byte ' Вводим переменную адреса.
' ---[ Инициализация ]-------------------------
adcon1 = 7 ' Устанавливаем режим PORTA как
'цыфровой.
TRISA = %00000000 ' Устанавливаем все выводы PORTA на выход.
porta = %00000000
' ---[ Основная программа ]------------------------
Main:
FOR adr = 0 TO 10 ' Цикл в котором значения адреса меняются
' от 0 до 10
I2CWRITE dpin,cpin,control,adr,[adr] ' и по этим же адресам
' записываем в память
PAUSE 50 ' Пауза для повышения надежности записи
NEXT
'___ Вывод на экран ЖКИ ____
LCDOUT $fe, 1
LCDOUT $fe, 2
FOR adr 0 TO 0 STEP-1 ' Цикл в котором значения адреса
' меняются от 10 до 0
I2CREAD dpin,cpin,control,adr,[dan] ' Считываем по этим адресам
' из памяти значения и сохраняем их в переменной dan.
LCDOUT dec dan ' Выводим на экран ЖКИ значения
' переменной dan.
NEXT
PAUSE 3000 ' Пауза чтобы заметить изменения
GOTO Main ' Вернутся в начало программы.

При симуляции получаю ошибки как в прикрепленном файле, а на LCD всякую ахинею.
В чем я не прав?
Заранее благодарен

Прикрепления: 4954278.jpg(89Kb) · test2.dsn(91Kb)

Сообщение отредактировал fire_on_line - Сб, 21.02.2009, 14:32
ЯНДЕКС Дата: 20.02.2009
demanik Дата: Сб, 21.02.2009, 14:58  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (fire_on_line)
При симуляции получаю ошибки как в прикрепленном файле, а на LCD всякую ахинею

Чуть-чуть подправил работает. cool
Прикрепления: memory.pbp(2Kb)


Попробуй всё и вся... может быть пол...

fire_on_line Дата: Сб, 21.02.2009, 15:20  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 17.02.2009

Статус: Offline

Quote (demanik)
Quote (fire_on_line)
При симуляции получаю ошибки как в прикрепленном файле, а на LCD всякую ахинею

Чуть-чуть подправил работает. cool
Прикрепления: memory.pbp(2Kb)

Спасибо, но в результате практически тоже самое. Может я что то делаю не так, у вас на этой же схеме работает?

Прикрепления: 0456523.jpg(175Kb)
demanik Дата: Сб, 21.02.2009, 15:37  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (fire_on_line)
у вас на этой же схеме работает?

Я проверял на вашей схеме: test2.dsn

Добавлено (21.02.2009, 3:37:01)
---------------------------------------------

Quote (fire_on_line)
Спасибо, но в результате практически тоже самое

Ваш листинг просто не компилился в нем ошибки.


Попробуй всё и вся... может быть пол...

Форум Picbasic.ru » Программирование МК » PicBasicPro » Внешняя Память помогите разобраться
Страница 1 из 11
Поиск: