Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.89/120: Рейтинг темы: голосов - 120, средняя оценка - 4.89
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
1

STM8 и сегментный ЖК

10.08.2011, 00:51. Просмотров 21721. Ответов 35
Метки нет (Все метки)

Сегодня подключил обычный 4-х разрядный сегментный индикатор. Оказывается его использование гораздо проще идущего в комплекте:)
Вот весь код:
Код
#include "stm8l15x.h"

const u8 digit[]={0x3F,6,0x5B,0x4F,0x66,0x6D,0x7D,7,0x7F,0x6F};

int main( void )
{
CLK_LSICmd(ENABLE);
CLK_SYSCLKSourceSwitchCmd(ENABLE);
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);
CLK_HSICmd(DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_RTC,ENABLE);
CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_16);
CLK_PeripheralClockConfig(CLK_Peripheral_LCD,ENABLE);

// F lcd  = 32Hz
LCD_Init(LCD_Pressotir_1,LCD_Divider_16,LCD_Duty_Static,LCD_Bias_1_2,LCD_VottageSource_Internal);
LCD_PortMaskConfig(LCD_PortMaskRegister_0, 0xFF);
LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0xFF);
LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0xFF);
LCD_PortMaskConfig(LCD_PortMaskRegister_3, 0xFF);

LCD_ContrastConfig(LCD_Contrast_Level_7);
LCD_DeadTimeConfig(LCD_DeadTime_0);
LCD_PulseOnDurationConfig(LCD_PulseOnDuration_7);
LCD_Cmd(ENABLE);

// OR 0x80 - вывод сегмента B в часах
LCD->ROM[LCD_ROMRegister_0] =  digit[0] | 0x80;
// OR 0x80  - вывод сегмента C в часах
LCD->ROM[LCD_ROMRegister_1] =  digit[0] | 0x80;
// OR 0x80 - вывод 2 в часах
LCD->ROM[LCD_ROMRegister_2] =  digit[0];

while(1);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2011, 00:51
Ответы с готовыми решениями:

кто сделает экспорт SDCC STM8 -> IAR STM8 ?
а то труды пропадут... https://github.com/eddyem/STM8_samples

7-сегментный индикатор через ТК
Вопрос довольно детский, наверное. Если макс ток на одну ногу <20мА. То при подключении индикатора...

STM8 прошивка
Подскажите новичку и сильно не пинайте. Есть плата от автомобильной головы, построена на...

STM8 + SPI: DR=0
Всем добрый день, кто может помочь, перечитал много тем, в том числе STM8L + SPI была самой...

STM8 SWIM
Хочу сделать себе программатор для STM8. Да, я знаю, есть Dyscovery, но я так развлекаюсь:) ...

35
dosykus
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 393
10.08.2011, 00:54 2
Что за индикатор ?
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 00:57 3
ITH-E0815, но должно работать с любыми подобными. Там нет ничего аппаратно зависимого:)
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
10.08.2011, 01:08 4
Проще того, что идет в комплекте - это потому, что используется один общий вывод. Зато нельзя задействовать много сегментов.

За сколько брал?
0
10.08.2011, 01:08
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 01:45 5
Цитата Сообщение от dsodir
Проще того, что идет в комплекте - это потому, что используется один общий вывод. Зато нельзя задействовать много сегментов.

За сколько брал?
Так индикаторов с несколькими общими выводами я в продаже живьем вообще не встречал. А этих и ему подобных на каждом углу навалом.
А почем брал не помню, давно дело было.
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 06:45 6
Я брал за 70 руб, если не ошибаюсь
http://zibtog.ru/category/mykrokontroll ... zhki-stm8/

ой, только у меня ITH-E0816GRNP :)



0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 11:00 7
Цитата Сообщение от Zhitizmjokov
ой, только у меня ITH-E0816GRNP :)
С ним тоже должно работать. Только выводов очень не хватает. У меня в старшем разряде может выводиться только 1 или 2. И двоеточие через транзистор загорается.
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 11:16 8
Я как раз и пожертвовал одним сегментом в перво разряде на точки :) заказал другой контроллер должно на все хватить.
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 11:44 9
Цитата Сообщение от Zhitizmjokov
Я как раз и пожертвовал одним сегментом в перво разряде на точки :) заказал другой контроллер должно на все хватить.
У тебя 152С8, а у меня С6. И на 4 линии меньше. Хотя для вывода температуры хватит и так, а для часов с транзистором.
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 12:28 10
Я то же думал что у моей 4х32, но фиг только 4х28 куда они ещё четыре линии съели не знаю :( написал в тех поддержку сказали исправят доку в ближайшее время.
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 13:12 11
Цитата Сообщение от Zhitizmjokov
Я то же думал что у моей 4х32, но фиг только 4х28 куда они ещё четыре линии съели не знаю :( написал в тех поддержку сказали исправят доку в ближайшее время.
А у меня 4х24, поэтому для часов выводов не хватает сильно. Для термометра хватит, правда придется делать или знак градуса или десятые.
Надо будет еще парочку таких экранов прикупить и попробовать сделать динамическую индикацию.
Кстати я так и не понял на что влияет LCD_Bias_1_2 и LCD_PulseOnDuration_7.
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 13:48 12
Bias это относиться к уровням напряжения при динамической индикации
PulseOnDuration - это как бы длительность импульсов, помогает уменьшить ток потребления дисплея,
т.е. после включения (переключения) линия переходит в неактивное состояние, т.е. уменьшая время после изменения состояния можно уменьшить потребление, тут только экспериментом. как точно узнать сколько нужно я не знаю, так как сам первый раз с ними работаю
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 14:01 13
На счет количества выводов, у тебя же STM8L152C6? у неё 4х28 линий.
24-PC4
25-PC7
26-PE6
27-PE7
дока: http://www.st.com/internet/som/TECHNICA ... 240181.pdf

или я чего не догоняю?
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 14:02 14
На счет динамики я то же думал, поэтому я взял по больше мк и ещё дисплей, что бы все линии задействовать.
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 14:12 15
Цитата Сообщение от Zhitizmjokov
PulseOnDuration - это как бы длительность импульсов, помогает уменьшить ток потребления дисплея
Длительность импульсов регулируется через LCD_DeadTimeConfig(LCD_DeadTime_0); При LCD_DeadTime_7 длительность минимальная, при LCD_DeadTime_0 скважиность = 1.
Мда, смотрел по схеме дискавери, а там разведены только 24 вывода. Надо будет вечером доподключить остальные.
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 14:18 16
как я понимаю это разные вещи, DeadTime это время между "кадрами" когда будет выключен сегмент
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
10.08.2011, 14:29 17
таки да, Zhitizmjokov прав.
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
10.08.2011, 14:48 18
Вроде суть уловил:) Значит в статическом режиме PulseOnDuration не на что влияет. По крайней мере осциллограммы при изменении значений не изменялись.
Еще непонятки с потреблением. В режиме halt потребляет 0.5мА. Тактирование идет от LSI, изменение состояния выходов вообще ни на что не повлияло.
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 14:51 19
Программатор отключил?
0
Zhitizmjokov
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
10.08.2011, 14:52 20
ещё если частоты обновления дисплея высокая, то кушать будет то же не мало
0
10.08.2011, 14:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2011, 14:52

Ассемблер STM8
В связи с тем что ассемблер этих контроллеров описан очень плохо, и с ошибками открываю эту тему, и...

МК STM8. Литература
огромное спасибо за все ответы. 1. вопрос: не нашел ни одной русской книги о данных чудо...

stm8 и АЛС318
Всем доброго времени суток. Я на форуме новичок, хотя и давно его читаю. Возник следующий вопрос:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru