Гость Keil

Attiny13a + lcd16x2

7 сообщений в этой теме

Гость Keil   
Гость Keil

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

Spoiler

#include <avr/io.h>
#include <stdlib.h>
#include <util/delay.h>
#include <stdio.h>
 
//Define functions
//==========================================================
void io_init(void);                         //Initializes IO
void send_nibble(unsigned char __rs, unsigned char __data);
 
//==========================================================
 
int main (void)
{
    io_init();
 
   _delay_ms(15);
   send_nibble(0,0b0010);   //Set to 4 bit operation (note: 1 nibble operation)
   _delay_ms(5);
 
   send_nibble(0,0b0010);   //Function set, 4 bit
   send_nibble(0,0b1000);
 
   send_nibble(0,0b0000);   //Display ON, Cursor On, Cursor Blinking
   send_nibble(0,0b1111);
 
   send_nibble(0,0b0000);   //Clear Display
   send_nibble(0,0b0001);
 
   send_nibble(0,0b0000);  //Entry Mode, Increment cursor position, No display shift
   send_nibble(0,0b0110);
 
   send_nibble(1,0b0100);  //H
   send_nibble(1,0b1000);

    return(0);
}
 
void io_init (void)
{
    /*
    PC 7: N/A
    PC 6: Reset
    PC 5: Enable
    PC 4: Register Select
    PC 3: Data 7
    PC 2: Data 6 
    PC 1: Data 5
    PC 0: Data 4   
    */
 
    DDRB = 0b111111;
}
 
void send_nibble(unsigned char __rs, unsigned char __data)
{
   PORTB = (__rs<<4) | __data | 0b100000;      // Set RS & Data. Set EN=High
   _delay_ms(1);
   PORTB = (__rs<<4) | __data;                   // Set RS & Data. Set EN=Low
   _delay_ms(1);
}

 

курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.

fail.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
snn_krs    45

Индикатору нужно 6 ножек для управления. У тиньки их 5, а 6-я РЕСЕТ. Если вы ее перепрограммируете как выход, то уже не сможете читать и записывать ИСП программатором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
_abk_    47
9 часов назад, Гость Keil сказал:

попробовал взять готовый пример работы тиньки и лсдишника здесь...  так вот при попытке залить код который по ссылке чуда не произошло

Где там пример для ATtiny?  По ссылке  дан пример для ATmega8 и 1602. Вы пытаетесь этот код залить в ATtiny13a?  :lol2: И  что за файл вы приложили? Там нет ни проектов, ни даже кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Гость Keil   
Гость Keil
4 hours ago, солар said:

Питание не подано.

Где и куда?

Quote

Индикатору нужно 6 ножек для управления. У тиньки их 5, а 6-я РЕСЕТ. Если вы ее перепрограммируете как выход, то уже не сможете читать и записывать ИСП программатором.

Спасибо, не знал что ресет нельзя юзать как АйО, но попробую через него выставив фьюзы, да кстати https://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/

Ну а как запустить это чудо в протеусе - остается вопрос.

Quote

Используйте сдвиговый регистр и будет вам счастье.

Такой чтоли

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
    • Автор: Kirillius Labutin
      Добрый день.
      Небольшая предыстория: имеется инвертор 12DC -> 220AC с функцией подзарядки АКБ, который обеспечивает питанием оборудование для видеонаблюдения в небольшом магазинчике. Иными словами это некоторое подобие ИБП.
      Планирую сделать модуль для мониторинга инвертора, чтобы удалённо знать о пропадании электропитания и отслеживать степень разряда АКБ.
      Лезть внутрь инвертора не хочу, поэтому наличие внешнего питания я решил определять по силе и направлению тока в кабеле между инвертором и АКБ. Если есть внешнее питание - идёт зарядка и ток, допустим -1,5 Ампер, либо 0 когда АКБ заряжен. Если же внешнее питание пропадает, то инвертор нагружает АКБ и получаем ток +30-35А.
      Вопрос касается измерения такой силы тока, наиболее простым и логичным решением мне показалось использование измерительного шунта и усиление напряжения на нём с помощью операционного усилителя. В интернете нашёл такую схему:
       
      У меня совершенно нет никакого опыта работы с ОУ и я с трудом представляю как они работают. Если я правильно понял, то данная схема на выходе даст либо положительное, либо отрицательное напряжение.
      Поэтому, прошу подсказать каким образом я могу модифицировать данную схему и какие номиналы R и Rш использовать (теоретически максимально возможный ток в цепи 75А), чтобы на выходе получить постоянное напряжение в диапазоне 0-5 Вольт, при этом сам микроконтроллер и ОУ питаются от той же цепи, где производится измерение.
      P.S. Высокая точность не важна. Важно только знать ток разрядки АКБ.
      В общем виде схема примерно такая:

    • Автор: Evg69
      добрый день. Вернулся к микроконтроллерам после длительного перерыва. Сижу туплю и даже гугл не помог.
      Два вопроса по Atmel Studio 7. Режим отладки. Симуляция.
      1. Как включить окно в котором можно посмотреть что контроллер выплевывает
      в UART? Не содержимое регистра, а типа терминала.
      2. Как подсунуть студии файлик с содержимым EEPROM?
    • Гость Andrey-Docent
      Автор: Гость Andrey-Docent
      Всем привет! Планируется сделать на базе arduino устройство, ведущее обмен данными с переферийным устройством по интерфейсу rs-232 и также необходимо контролировать работу arduino с помощью компьютера тоже посредством интерфейса rs-232. Но у arduino только один такой порт. Первая мысль в связи с этим - сделать ещё один порт и вывести линии RX и TX на другие (например цифровые) ножки порта. Можно ли как-то это сделать? Нет ли готовых библиотек для этого (на данный момент не нашёл таковых в интернете)? Может есть ещё какой-нибудь обходной путь? Заранее спасибо.