BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

Ребята помогите. в протеусе работает а вот прошил и не работает на экране ничего нет. Пусто. :((
Понимаю что где то я что то упустил.
$regfile = "m8def.dat" ' используем ATmega8
$crystal = 8000000 ' тактовая частота

Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2 'используем дисплей на 2 строчки по 16 знакомест в каждой
Cursor Off ' курсор выключен

Const Negativ = -1
Dim Ch As Integer
Dim Count As Byte ' вспомогательный счетчик
Dim Adc_value As Single
Dim Any_var As Single ' значение АЦП
Dim Adc_channel(4) As Single ' 4 значения, готовые для вывода
Config Single = Scientific , Digits = 2 ' ограничение до двух знаков
Dim V As Integer

Config Adc = Single , Prescaler = Auto , Reference = Avcc 'конфигурация АЦП
Start Adc 'запускаем аналого-цифровое преобразование

'--------------выводим заставку-------------------------------
Cursor Off 'отключаем отображение курсора на ЖК
Cls 'очитка дисплея
Locate 1 , 1 'позиция курсора
Lcd "аoІpo Ёo¶a»oіaїД" 'выводим надпись
Locate 2 , 4 ' позиция курсора
Lcd "BepcёЗ 1.1" 'выводим надпись
Wait 3 'задержка 2 секунды
Cls

For V = 1 To 16
Locate 1 , 5
Lcd "¤aґpy·єa"
Locate 2 , V ' Задержка на 150 мс
Lcd "."
Waitms 400

Next
Cls 'очитка дисплея
'-------------------------------------------------------------
'главный цикл программы

Do

For Count = 1 To 4 Step 1 ' забираем значения всех четырех каналов АЦП
Ch = Getadc(count) ' и расчитываем для вывода
Adc_value = Ch

Any_var = Adc_value / 2000 ' 2000 - можно задавать изгиб линии
Any_var = Negativ * Any_var ' Если закоментировать, изменим направление изгиба экспоненты
Any_var = Exp(any_var)

Adc_value = 1023 - Adc_value 'Инверсия
Adc_value = Adc_value / 12.786 ' диапазон до 80

'Adc_value = Adc_value * 8
'Adc_value = Adc_value / 1023

Any_var = Adc_value * Any_var

Adc_channel(count) = Any_var / 10


Next

Locate 1 , 1 ' вывод всех значений на индикатор
Lcd ; Adc_channel(1) ;
Locate 1 , 13
Lcd ; Adc_channel(2) ;
Locate 2 , 1
Lcd ; Adc_channel(3) ;
Locate 2 , 13
Lcd ; Adc_channel(4) ;

Waitms 100 ' задержка между чтениями

Loop


End
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Проверяйте питание дисплея, и главное, вывод регулировки контраста. Для примера, подключен дисплей должен быть так.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

Все проверил питание идет на экран. Контрастность регулируется.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

R/W на землю посажен?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

edm2007 писал(а):R/W на землю посажен?
У меня он почему то идет на мегу.... Косяк !?
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

При Вашей конфигурации да. Подключите его к земле.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

edm2007 писал(а):При Вашей конфигурации да. Подключите его к земле.
Спасибо! Вы уже помогли мне два раза! :))
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Пожалуйста. Для того форум и нужен. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

Я думал все счастье. Перепаял и заодно перепроверил а он все равно не показывает первая строка в прямоугольниках ...
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Значит сам дисплей инициализацию прошел, а от МК ничего нет. Либо контраст выкручен на максимум. Проверяйте внимательнее подключение.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

edm2007 писал(а):Значит сам дисплей инициализацию прошел, а от МК ничего нет. Либо контраст выкручен на максимум. Проверяйте внимательнее подключение.
А в прошивке касяка никакого нет !?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Проверил:

Изображение

Изображение

На всякий случай HEX прикрепил. Как видно, он точно рабочий.
Вложения
lcd.hex
(8.18 КБ) 333 скачивания
lcd2.jpg
(78.39 КБ) 1751 скачивание
lcd1.jpg
(78.62 КБ) 1452 скачивания
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс мар 10, 2013 10:10:41

Сообщение tomas111 »

Спасибо! Все перепроверю :)) Хотя там и проверять нечего. Всего 7 проводов :))
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт фев 27, 2009 01:07:41
Откуда: Иваново - город невест

Сообщение ХатёнаГГ »

Подскажите, почему баскомАВР ругается, когда хочу залить в тини2313 код работы со знакосинтезирующим ЖК? Говорит камень не подходит для этих задач...
Мучитель микросхем
Аватара пользователя
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

Сообщение max50 »

Скорее всего хекс больше 2кб.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт фев 27, 2009 01:07:41
Откуда: Иваново - город невест

Сообщение ХатёнаГГ »

max50 писал(а):Скорее всего хекс больше 2кб.
Нет. Там хекс лёгкий, меньше половины памяти занимает, типа хелло уорлд.
Мучитель микросхем
Аватара пользователя
Сообщения: 497
Зарегистрирован: Ср дек 10, 2008 21:24:28
Откуда: Алтайский край, Барнаул

Сообщение max50 »

Тогда нужен код.
Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

tomas111 писал(а):Хотя там и проверять нечего. Всего 7 проводов :))
Ну как видите, эти семь проводов прекрасно работают. :)
max50 писал(а):Тогда нужен код.
Согласен, целиком и полностью.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт фев 27, 2009 01:07:41
Откуда: Иваново - город невест

Сообщение ХатёнаГГ »

Косяк свой нашёл - не правильно регфайл назвал по памяти.
Но теперь другая проблема - после включения по первой строке едет надпись из разных символов, обновляются эти символы и передвигаются с частотой 1Гц. Дисплей MT-16S2H-2YLG
Код прилагаю.
Спойлер$regfile = "attiny2313.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portb.0 , Rs = Portb.1
Config Lcdmode = Port
Dim Count As Integer
Count = 0
Display On
Do
Cls
Lcd "Hello! " ; Count
Count = Count + 1
Wait 1
Loop
End
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт фев 27, 2009 01:07:41
Откуда: Иваново - город невест

Сообщение ХатёнаГГ »

Пробовал ставить задержки, т.к. по даташиту он не может мгновенно настраиваться. Но ничего не изменилось...
Ответить

Вернуться в «AVR»