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

 
 
> Atmega16+LCD 16*2 не могу прицепить, Начинающий просит помощи
Vny4ek
сообщение Jan 11 2008, 13:54
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Всем доброго времени суток! Есть небольшая просьба помочь разобраться!
Я только начинаю изучать АВР.
Установил CODEVISION и Proteus. В реале есть Атмега16-16 и 16символьный 2х строчный дисплей Bolymin. Хочу хотя бы вывести для начало на него Hello world, но не получается.
В кодвизион в примерах нашел вот такой исходник, который по идее это должен делать, в протеусе смоделировал устройство, но ничего не получается. Подскажите плиз чайнику в чем ошибка.
Подключил так:


// Исходник:
/*
LCD Demo

CodeVisionAVR C Compiler
© 2000-2007 HP InfoTech S.R.L.
www.hpinfotech.ro

Chip: ATmega8515
Memory Model: SMALL
Data Stack Size: 128 bytes

Use an 2x16 alphanumeric LCD connected
to the STK500 PORTC header as follows:

[LCD] [STK500 PORTC HEADER]
1 GND- 9 GND
2 +5V- 10 VCC
3 VLC- LCD contrast control voltage 0..1V
4 RS - 1 PC0
5 RD - 2 PC1
6 EN - 3 PC2
11 D4 - 5 PC4
12 D5 - 6 PC5
13 D6 - 7 PC6
14 D7 - 8 PC7
*/

// the LCD is connected to PORTC outputs
// see the file lcd.h in the ..\inc directory
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm

// include the LCD driver routines
#include <lcd.h>

void main(void)
{
// initialize the LCD for
// 2 lines & 16 columns
lcd_init(16);

// go on the second LCD line
lcd_gotoxy(0,1);

// display the message
lcd_putsf("Hello world");

// stop here
while (1);
}



p.s. Всем заранее спасибо кто поможет, и ткните плиз носом потом как построить меню на этом дисплее и 4 кнопочки вверх вниз энтер отмена
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
backa
сообщение Jan 12 2008, 07:41
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Я пробовал в Proteus - все работает.
Одно но - я писал сам все. На ассемблере и на С (IAR).
Работает как часы:-).
Особое внимание на выдержку временных интервалов!!!
Go to the top of the page
 
+Quote Post
Goodefine
сообщение Jan 12 2008, 12:10
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581



А вы порт С на выход сконфигурировали? Все работает. Для меги16 а не 8515. Вот:
Код
This program was produced by the
CodeWizardAVR V1.25.3 Professional
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

......



Moderator:
Cтоль обширные исходники (да еще сгененрированные роботом) оформленные не ввиде приложения удалены. Тем более, что тема избитая донельзя.....

Сообщение отредактировал zltigo - Jan 12 2008, 21:23


--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Go to the top of the page
 
+Quote Post
KisaLove
сообщение Aug 25 2008, 12:28
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 5-05-06
Пользователь №: 16 807



Конечно поздно пишу, но сам с этим сталкивался - proteus не обрабатывал работу LCD в случае если используется mega16 и LCD, вешающийся на PORTC. Сам долго ломал голову, пока кто-то на этом сайте не написал про это. Теперь приходится в исходниках писать типа такого
Код
; EU KIT-Mega16
    .equ PORTC = 0x15
    .equ DDRC  = 0x14
    .equ PINC  = 0x13
    .equ PORTD = 0x12
    .equ DDRD  = 0x11
    .equ PIND  = 0x10
; proteus
;    .equ PORTC = 0x1B
;    .equ DDRC  = 0x1A
;    .equ PINC  = 0x13
;    .equ PORTD = 0x18
;    .equ DDRD  = 0x17
;    .equ PIND  = 0x16

То есть на время эмуляции "переназначать" адрес PORT'а C.

Может и криво ответил, но тем кто впервые сталкивается думаю поможет - надо в модели под протеусом просто повесить LCD на другой порт и переназначать адреса на момент эмуляции если в живой схеме хотите все таки на PORTC вешать. (правда это возможно если оставшиеся порты свободны smile.gif
Go to the top of the page
 
+Quote Post



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

 


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


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