Форум Херсона. Форум Херсонской молодежи, флейм, фотографии Херсона, политика в Херсоне, сетевой форум, сети Херсона


Приветствуем на Форум Херсона. Форум Херсонской молодежи..

На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру!

Если возникнут проблемы с регистрацией напишите нам.

Галерея форума Блоги пользователей Список банов
Вернуться   Форум Херсона. Форум Херсонской молодежи. > >
Регистрация СправкаСтатистика Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Программирование Все вопросы по написанию программ

Ответ
 
Опции темы
Старый 09.01.2016, 13:31   #1 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Динамическая и статическая индикация на 7сегмент. и 74hc595

Хочу собрать часы с разными функциями на 7ми сегментных индикаторах,
atmega 168 и сдвиговых регистрах.

В общем для отображения времени рассматриваю такой вариант через SPI:

Код:
#include <spi.h> 
#define SS PORTB.2 
 
typedef unsigned char byte; 
typedef unsigned long ulong; 
 
byte led_table[10]={0b00000011,0b10011111,0b00100101,0b00001101,0b10011001,0b01001001,0b01000001,0b00011111,0b00000001,0b00001001}; 
ulong show_data=12345678; //Отображаемая цифра 
ulong dig_data=0; 
byte dig_num=0; //Отображаемый разряд 
 
void show_dig() { 
SS=0; //Ни чего не кажем 
if (dig_num==0) { 
dig_data=show_data; //Если показываем первую цифру обнавляем переменную 
dig_num++; 
} 
spi(dig_num); //Отправляем байт для отображения разряда 
spi(led_table[dig_data%10]); //Получаем разряд из dig_data и отправляем байт с цифрой 
dig_data/=10; 
dig_num<<=1; //Смещаем бит для отображения следующего разряда 
SS=1; //Показываем разряд 
} 
 
void main(void) { 
PORTB=0; 
DDRB=0x2C; //Настраиваем порт для SPI 
ACSR=0x80; //Отключаем компаратор 
//Включаем SPI 
//Биты будем отправлять LSB-MSB, т.е. от младших к старшим 
SPCR=0x70; 
SPSR=0; 
while (1) show_dig(); //Показываем разряды 
}
Индикатор 4х разрядный будет.

Как можно переделать данный код, чтобы выводить часы и минуты из 2х переменных?
Изображения
 
ДмитрийТ вне форума  
Ответить с цитированием
Старый 12.01.2016, 15:15   #2 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
Еще раз и помедленнее
И почему бы не использовать DS1307 например?
__________________
Какая разница из какого места растут руки, если они золотые.

Последний раз редактировалось Debian, 12.01.2016 в 16:55.
Debian вне форума  
Ответить с цитированием
Старый 16.01.2016, 15:14   #3 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Эту микросхему я и использую. Данные этой микросхемы берутся в двух переменных hour и minut. Как их прикрутить к этой функции?
ДмитрийТ вне форума  
Ответить с цитированием
Старый 16.01.2016, 21:17   #4 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
Цитата:
Сообщение от ДмитрийТ Посмотреть сообщение
Эту микросхему я и использую. Данные этой микросхемы берутся в двух переменных hour и minut. Как их прикрутить к этой функции?
как-то так:

PHP код:
#include <spi.h> 
#define SS PORTB.2 
 
typedef unsigned char byte
typedef unsigned long ulong
 
byte led_table[10]={0b00000011,0b10011111,0b00100101,0b00001101,0b10011001,0b01001001,0b01000001,0b00011111,0b00000001,0b00001001}; 
ulong dig_data=0
byte dig_num=0//Отображаемый разряд
//----------------------------------------------------//
char Hours 0x00;
char DesHours =0x00;

char Minutes 0x00;
char DesMinutes =0x00;

// тут забираем данные из часов DS1307
void GetTime (void){
Hours DsReadHours();
Minutes DsReadMinutes();
DesHours Hours & (~((1<<7)|(1<<6)));
DesHours >>=4// значения десятков часов
Hours &= (~((1<<7)|(1<<6)|(1<<5)|(1<<4))); // значения часов
DesMinutes Minutes >>4// Десятки минут
Minutes &= (~((1<<7)|(1<<6)|(1<<5)|(1<<4))); // Единицы минут
}

void show_dig() { 
SS=0//Ни чего не кажем 
if (dig_num==16) { // пятый разряд
dig_num++; 

spi(dig_num); //Отправляем байт для отображения разряда

if (dig_num == 1){
spi(led_table[DesHours]); //Получаем разряд из dig_data и отправляем 
}
if (
dig_num == 2){
spi(led_table[Hours]); //Получаем разряд из dig_data и отправляем 
}
if (
dig_num == 4){
spi(led_table[DesMinutes]); //Получаем разряд из dig_data и отправляем 
}
if (
dig_num == 8){
spi(led_table[Minutes]); //Получаем разряд из dig_data и отправляем байт с цифрой 

dig_num<<=1//Смещаем бит для отображения следующего разряда 
SS=1//Показываем разряд 


void main(void) { 
PORTB=0
DDRB=0x2C//Настраиваем порт для SPI 
ACSR=0x80//Отключаем компаратор 
//Включаем SPI 
//Биты будем отправлять LSB-MSB, т.е. от младших к старшим 
SPCR=0x70
SPSR=0
while (
1) {
GetTime ();
show_dig(); //Показываем разряды 
    
}

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

хотя можно и без ДСки обойтись, повешать часовой кварц как тактирование таймера, поставить пред делитель, и по переполнению таймера в прерывание делать все черные дела
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 16.01.2016, 23:04   #5 (Ссылка на пост)
Щас сменю себе статус
Пол:
 
Активность Longevity
0/20 15/20
Today Сообщения
0/5 sssss5421
Благодарил(а): 3,810
Благодарили 4,360 раз в 1,818 постах
Галерея: 0
Вес репутации: 63 rezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторыrezonat3 скоро в модераторы
Debian, сдвигом на 4 бита ты не получишь десятки, почему бы просто не взять целую часть от деления. И функция получения времени вызывается на отрисовку каждого разряда, поэтому время может измениться и разряды будут показывать значения для разного времени.
rezonat3 вне форума  
Ответить с цитированием
Старый 17.01.2016, 11:31   #6 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Начало проекта вот, чтобы было более понятно о чём речь.
Изображения
 
ДмитрийТ вне форума  
Ответить с цитированием
Старый 17.01.2016, 14:02   #7 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
Цитата:
Сообщение от rezonat3 Посмотреть сообщение
Debian, сдвигом на 4 бита ты не получишь десятки
это почему же? ааа....это не для ПК...сударь



Цитата:
Сообщение от rezonat3 Посмотреть сообщение
И функция получения времени вызывается на отрисовку каждого разряда, поэтому время может измениться и разряды будут показывать значения для разного времени
пусть учится

Почесав затылок, юзер дописал через 1 минуту
Цитата:
Сообщение от ДмитрийТ Посмотреть сообщение
Начало проекта вот, чтобы было более понятно о чём речь.
шо это за ересь?
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 17.01.2016, 16:58   #8 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Debian Посмотреть сообщение
это почему же? ааа....это не для ПК...сударь





пусть учится

Почесав затылок, юзер дописал через 1 минуту


шо это за ересь?
Это не ересть. А сырой проект. Есть куча деталей которые нужно прикрутить к atmega 168.
4разрядный-время; 6 разрядный- дата, температура дом/улица, скорость ветра, влажность и др.

Вот я на индикации и застрял. С ЖК было бы проще, но мы простых путей не ищим!
Изображения
   
ДмитрийТ вне форума  
Ответить с цитированием
Старый 17.01.2016, 18:10   #9 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
так поставь уже все защелки в ряд...
и еще вопрос: зачем тебе тут динамическая индикация? у тебя куча свободных ног на контроллере, хотя если индикаторы есть...

у 595 есть вывод /OE так что смело можно лепить все на одну шину...
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 17.01.2016, 19:05   #10 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Debian Посмотреть сообщение
так поставь уже все защелки в ряд...
и еще вопрос: зачем тебе тут динамическая индикация? у тебя куча свободных ног на контроллере, хотя если индикаторы есть...

у 595 есть вывод /OE так что смело можно лепить все на одну шину...
Еще надо кнопки посадить, датчик освещенности, ик приемник, модуль- говорилка.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 17.01.2016, 19:44   #11 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
все кнопки - один вывод контроллера
датчик - один вывод контроллера
ИК приемник? - один вывод контроллера
говорилка - ХЗ

шо это за фигня будет?
ты сначала с наворотами определись, а дпльше уже камень под задачи подбирать надо
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 18.01.2016, 07:07   #12 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Debian Посмотреть сообщение
все кнопки - один вывод контроллера
датчик - один вывод контроллера
ИК приемник? - один вывод контроллера
говорилка - ХЗ

шо это за фигня будет?
ты сначала с наворотами определись, а дпльше уже камень под задачи подбирать надо
"Говорилка " от сюда http://www.getchip.net/posts/087-att...alking-device/
На схеме не дорисованы : анемометр + 1, датчик- влажности + 1, 1 выход шим, чтобы яркостью 6х разрядного индиктора в зависимости от времени суток управлять.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 18.01.2016, 10:27   #13 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
Яркостью можно и так играться
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 19.01.2016, 01:09   #14 (Ссылка на пост)
Забанен вапще
 
Активность Longevity
0/20 17/20
Today Сообщения
0/5 sssssss43
Благодарил(а): 4
Благодарили 4 раз в 4 постах
Галерея: 0
Вес репутации: 0 Viper70 идет по правильному пути
В другом проекте смотрел, человек использовал микросхему mp3 плеера (такие в китайских поделках стоят) Там все также. мп3 или вав на карте СД. На вход микросхемы задается номер трека и громкость. И комманды плей, стоп
Viper70 вне форума  
Ответить с цитированием
Старый 19.01.2016, 09:52   #15 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Viper70 Посмотреть сообщение
В другом проекте смотрел, человек использовал микросхему mp3 плеера (такие в китайских поделках стоят) Там все также. мп3 или вав на карте СД. На вход микросхемы задается номер трека и громкость. И комманды плей, стоп
Валяется у меня где-то схема от китайского плеера. Там контроллер китайский с I2c интерфейсом, только даташитов китайцы не дают на них.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 19.01.2016, 12:17   #16 (Ссылка на пост)
Забанен вапще
 
Активность Longevity
0/20 17/20
Today Сообщения
0/5 sssssss43
Благодарил(а): 4
Благодарили 4 раз в 4 постах
Галерея: 0
Вес репутации: 0 Viper70 идет по правильному пути
Вот ссылку на статью нашел https://www.drive2.ru/l/7499184/
Вроде тут читал
Viper70 вне форума  
Ответить с цитированием
Старый 19.01.2016, 17:39   #17 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Viper70 Посмотреть сообщение
Вот ссылку на статью нашел https://www.drive2.ru/l/7499184/
Вроде тут читал
Китайцы, это уже прохавали, и стали готовые модули выпускать.
Изображения
 
ДмитрийТ вне форума  
Ответить с цитированием
Старый 20.01.2016, 18:12   #18 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Debian Посмотреть сообщение
как-то так:

PHP код:
#include <spi.h> 
#define SS PORTB.2 
 
typedef unsigned char byte
typedef unsigned long ulong
 
byte led_table[10]={0b00000011,0b10011111,0b00100101,0b00001101,0b10011001,0b01001001,0b01000001,0b00011111,0b00000001,0b00001001}; 
ulong dig_data=0
byte dig_num=0//Отображаемый разряд
//----------------------------------------------------//
char Hours 0x00;
char DesHours =0x00;

char Minutes 0x00;
char DesMinutes =0x00;

// тут забираем данные из часов DS1307
void GetTime (void){
Hours DsReadHours();
Minutes DsReadMinutes();
DesHours Hours & (~((1<<7)|(1<<6)));
DesHours >>=4// значения десятков часов
Hours &= (~((1<<7)|(1<<6)|(1<<5)|(1<<4))); // значения часов
DesMinutes Minutes >>4// Десятки минут
Minutes &= (~((1<<7)|(1<<6)|(1<<5)|(1<<4))); // Единицы минут
}

void show_dig() { 
SS=0//Ни чего не кажем 
if (dig_num==16) { // пятый разряд
dig_num++; 

spi(dig_num); //Отправляем байт для отображения разряда

if (dig_num == 1){
spi(led_table[DesHours]); //Получаем разряд из dig_data и отправляем 
}
if (
dig_num == 2){
spi(led_table[Hours]); //Получаем разряд из dig_data и отправляем 
}
if (
dig_num == 4){
spi(led_table[DesMinutes]); //Получаем разряд из dig_data и отправляем 
}
if (
dig_num == 8){
spi(led_table[Minutes]); //Получаем разряд из dig_data и отправляем байт с цифрой 

dig_num<<=1//Смещаем бит для отображения следующего разряда 
SS=1//Показываем разряд 


void main(void) { 
PORTB=0
DDRB=0x2C//Настраиваем порт для SPI 
ACSR=0x80//Отключаем компаратор 
//Включаем SPI 
//Биты будем отправлять LSB-MSB, т.е. от младших к старшим 
SPCR=0x70
SPSR=0
while (
1) {
GetTime ();
show_dig(); //Показываем разряды 
    
}

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

хотя можно и без ДСки обойтись, повешать часовой кварц как тактирование таймера, поставить пред делитель, и по переполнению таймера в прерывание делать все черные дела
Попробовал код, и что то not worked.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 20.01.2016, 21:24   #19 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
и что конкретно не работает?
вообще у тебя или код неправильный
или ты чего-то не договариваешь

я тут набросал специально, у меня все работает
и вообще правильнее делать прорисовку по прерыванию таймера, тогда играясь задержкой свечения сегмента можно управлять яркостью индикатора
прямо в лоб!
PHP код:
interrupt [TIM0_OVFvoid timer0_ovf_isr(void)
{
TIFR0 &= ~(<< TOV0); // reset interrupt flag
SS=0;
spi(0x08);
spi(DesHours);
SS=1;
delay_us(100);
SS=0;
spi(0x04);
spi(Hours);
SS=1;
delay_us(100);
SS=0;
spi(0x02);
spi(DesMinutes);
SS=1;
delay_us(100);
SS=0;
spi(0x01);
spi(Minutes);
SS=1;
delay_us(100);
SS=0;

в CodeVision есть библиотека работы с DS1307, которая сама собирает байты как надо...для ленивых!
тогда можно сделать еще проще

PHP код:
rtc_get_time(&hour, &min, &sec);
DesHours led_table[hour/10];
Hours = (led_table[hour%10]^0x01); // Надо же точечку нарисовать :)
DesMinutes led_table[min/10];
Minutes led_table[min%10]; 
Учись, Студент!
Изображения
 
Вложения
Тип файла: zip main.zip (1.3 Кбайт, 40 просмотров)
__________________
Какая разница из какого места растут руки, если они золотые.

Последний раз редактировалось Debian, 21.01.2016 в 01:02.
Debian вне форума  
Ответить с цитированием
Старый 21.01.2016, 09:53   #20 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
PHP код:
rtc_get_time(&hour, &min, &sec);
DesHours led_table[hour/10];
Hours = (led_table[hour%10]^0x01); // Надо же точечку нарисовать :)
DesMinutes led_table[min/10];
Minutes led_table[min%10]; 
При компиляции пишет declaration sintax error;

И как потом эту функцию прерываний выводить?
ДмитрийТ вне форума  
Ответить с цитированием
Старый 21.01.2016, 11:35   #21 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
Цитата:
Сообщение от ДмитрийТ Посмотреть сообщение
PHP код:
rtc_get_time(&hour, &min, &sec);
DesHours led_table[hour/10];
Hours = (led_table[hour%10]^0x01); // Надо же точечку нарисовать :)
DesMinutes led_table[min/10];
Minutes led_table[min%10]; 
При компиляции пишет declaration sintax error;

И как потом эту функцию прерываний выводить?
Я понял, что с программизмом у тебя никак...
вот тебе проект ... смотри, изучай
Вложения
Тип файла: zip AVRtest.zip (86.2 Кбайт, 39 просмотров)
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 21.01.2016, 16:00   #22 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Debian Посмотреть сообщение
Я понял, что с программизмом у тебя никак...
вот тебе проект ... смотри, изучай
Да я и не говорил что программист.

Компилятор ругается на ассемблерный файл, не нравится ему переменная min заменил на minut.

Последний раз редактировалось ДмитрийТ, 21.01.2016 в 16:23.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 21.01.2016, 21:13   #23 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
работает ?
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Сказали Спасибо пользователю Debian за этот пост:
ДмитрийТ (22.01.2016)
Старый 22.01.2016, 08:37   #24 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Debian Посмотреть сообщение
работает ?
Работает. А второй индикатор с 6 разрядами возможно посадить параллельно на isp?
ДмитрийТ вне форума  
Ответить с цитированием
Старый 22.01.2016, 15:28   #25 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
А что такое isp?
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 22.01.2016, 19:08   #26 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
SPI - перепутал буквы местами.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 22.01.2016, 23:53   #27 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
Цитата:
Сообщение от ДмитрийТ Посмотреть сообщение
Работает. А второй индикатор с 6 разрядами возможно посадить параллельно на isp?
ну так же и вешаешь...
просто задвигаешь еще 6 байт перед 4мя байтами для часов и зажигаешь все...

PHP код:
void GetTime (void){
rtc_get_time(&hour, &min, &sec);
DesHours led_table[hour/10];
Hours = (led_table[hour%10]^0x01);
DesMinutes led_table[min/10];
Minutes led_table[min%10];

Digit1 hour/10;
Digit2 hour%10;
Digit3 min/10;
Digit4 min%10;
Digit5 sec/10;
Digit6 sec%10;

PHP код:
interrupt [TIM0_OVFvoid timer0_ovf_isr(void)
{
TIFR0 &= ~(<< TOV0); // reset interrupt flag
SS=0;
spi(led_table[Digit6]);
spi(led_table[Digit5]);
spi(led_table[Digit4]);
spi(led_table[Digit3]);
spi(led_table[Digit2]);
spi(led_table[Digit1]);
spi(0x08);
spi(DesHours);
SS=1;
delay_us(100);
SS=0;
spi(led_table[Digit6]);
spi(led_table[Digit5]);
spi(led_table[Digit4]);
spi(led_table[Digit3]);
spi(led_table[Digit2]);
spi(led_table[Digit1]);
spi(0x04);
spi(Hours);
SS=1;
delay_us(100);
SS=0;
spi(led_table[Digit6]);
spi(led_table[Digit5]);
spi(led_table[Digit4]);
spi(led_table[Digit3]);
spi(led_table[Digit2]);
spi(led_table[Digit1]);
spi(0x02);
spi(DesMinutes);
SS=1;
delay_us(100);
SS=0;
spi(led_table[Digit6]);
spi(led_table[Digit5]);
spi(led_table[Digit4]);
spi(led_table[Digit3]);
spi(led_table[Digit2]);
spi(led_table[Digit1]);
spi(0x01);
spi(Minutes);
SS=1;
delay_us(100);
SS=0;

Изображения
 
__________________
Какая разница из какого места растут руки, если они золотые.

Последний раз редактировалось Debian, 22.01.2016 в 23:59.
Debian вне форума  
Ответить с цитированием
Старый 24.01.2016, 16:11   #28 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
А как по двумпроводам можно реализовать индикацию на 6 разрядов

Тут есть статья для 1го индикатора пример
http://kalobyte.com/upravlenie-regis...i-indikatorami
ДмитрийТ вне форума  
Ответить с цитированием
Старый 24.01.2016, 18:43   #29 (Ссылка на пост)
Извините, я на тракторе!
 
Аватар для Debian
Пол:
 
Активность Longevity
0/20 19/20
Today Сообщения
0/5 ssss10164
Адрес: Вот там вот и живем...
Благодарил(а): 3,010
Благодарили 12,134 раз в 3,551 постах
Записей в дневнике: 21
Галерея: 2
Вес репутации: 149 Debian скоро в модераторы
Debian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторыDebian скоро в модераторы
Отправить сообщение для  Debian с помощью ICQ
А смысл???
так как и написано в статье...
__________________
Какая разница из какого места растут руки, если они золотые.
Debian вне форума  
Ответить с цитированием
Старый 18.02.2016, 09:37   #30 (Ссылка на пост)
Свой В Доску
Пол:
 
Активность Longevity
0/20 12/20
Today Сообщения
0/5 ssssss715
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея: 0
Вес репутации: 14 Lukas драгоценность среди камнейLukas драгоценность среди камней
Если тема еще не умерла - попробуйте MAX7219.
Пользовался таким экранчиком ссылка. и яркость регулируется и не нужно грузить контроллер. только говоришь по какому адресу какую цифру зажечь и все. управлять тоже просто им - с пол пинка заводится, главное не забыть сказать микрухе "Display On")))
А если же будете использовать 595, то советую делать статическую индикацию, чтобы не мучать контроллер динамикой. Начинать с печатной платы. Уверен, что у Вас будет миллион перемычек, зато в протеусе все по порядку.
У меня подключается так:
Название:  595.png
Просмотров: 918

Размер:  10.2 Кбайт
Вроде запутано, но зато печатная плата выглядит так:
Название:  IMG_20160218_095926.jpg
Просмотров: 743

Размер:  73.1 Кбайт
Ну и в коде так:
Код:
unsigned char byCharacter[12] = {0xEB,     //0
                0x81,   //1
 	        0x73,   //2
	        0xD3,	//3 
	        0x99,     //4 
	        0xDA,     //5 
	        0xFA,     //6
                0x83,    //7 
                0xFB,      //8
                0xDB,      //9 
                0x00,      //blank   
                0x10,     //-
}

Последний раз редактировалось Lukas, 18.02.2016 в 10:11.
Lukas вне форума  
Ответить с цитированием
Сказали Спасибо пользователю Lukas за этот пост:
ДмитрийТ (20.03.2016)
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Время на сервере: 06:50.

Регистрация Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co