nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Sep 2018 03:16



Reply to topic  [ 4 posts ] 
Программа 7-seg LED 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Когда начинаешь заниматься 7-сегментным индикатором, часто приходится преобразовывать
числа из одного кода в другой и пытаться мысленно связать это с изображением на индикаторе.

В своё время, когда я занимался управлением этими индикаторами еще на "Специалисте",
я составил себе вот такую шпаргалку:
Code:
;       a          hgfedcba seg
;      ---         -------------
;  f  !   ! b      76543210 bit
;      -g-
;  e  !   ! c  0 = 00111111b      3FH    63D
;      --- .   1 = 00000110b       6H     6D
;       d   h  2 = 01011011b      5BH    91D
;              3 = 01001111b      4FH    79D
;       04h    4 = 01100110b      66H   102D
;       05h    5 = 01101101b      6DH   109D
;       06h    6 = 01111101b      7DH   125D
;       07h    7 = 00000111b       7H     7D
;       08h    8 = 01111111b      7FH   127D
;       09h    9 = 01101111b      6FH   111D
;
;                  hgfedcba seg
; 10d   0Ah    A = 01110111b      77H   119D
; 11d   0Bh    b = 01111100b      7CH   124D
; 12d   0Ch    C = 00111001b      39H    57D
; 13d   0Dh    d = 01011110b      5EH    94D
; 14d   0Eh    E = 01111001b      79H   121D
; 15d   0Fh    F = 01110001b      71H   113D
; 16d   10h    G = 00111101b      3DH    61D
; 17d   11h    H = 01110110b      76H   118D
; 18d   12h    h = 01110100b      74H   116D
; 19d   13h'fe': = 00110000b      30H    48D
;
;                  hgfedcba seg
; 20d   14h    L = 00111000b      38H    56D
; 21d   15h    - = 01000000b      40H    64D
; 22d   16h    S = 01101001b      69H   105D
; 23d   17h    o = 01011100b      5CH    92D
; 24d   18h    ° = 01100011b      63H    99D
; 25d   19h    r = 01010000b      50H    80D
; 26d   1Ah    У = 01101110b      6EH   110D
; 27d   1Bh    = = 01001000b      48H    72D
; 28d   1Ch    _ = 00001000b      08H     8D
; 29d   1Dh    ~ = 00000001b      01H     1D
;
;                  hgfedcba seg
; 30d   1Eh    Ё = 01001001b      49H    73D
; 31d   1Fh    Г = 00110001b      31H    49D
; 32d   20h    ? = 01010011b      53H    83D
; 33d   21h    Ї = 01010010b      52H    82D
; 34d   22h     = 10000000b      80H   128D
; 35d   23h     = 10000001b      81H   255D
; 36d   24h  NUL = 00000000b      00H     0D
;                  10101010b  -  заменяет 00H

Она была составлена из предположения, что биты 0,1,2,3,4,5,6,7 - соответствуют сегментам А,В,С,D,E,F,G,Н .
И в общем-то у меня это всё неплохо работало... :wink:

Image

Но "шпаргалка" составлялась еще в КОИ-8, поэтому при конверсии сначала в DOS-кодировку,
а затем и в Windows-1251, она некоторые соответствия символов утратила, хотя в значительной
мере всё еще верна.

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

Программа для семисегментного индикатора LEDx8
Attachment:
18e211_M.jpg
18e211_M.jpg [ 17.82 KiB | Viewed 1153 times ]

Этой попользовался - вполне удобно! (вирусы каждый проверяет себе сам!)

Из жадности и прижимистости (раз уж нашел! 8) ) прихватил себе еще и вот эту:
Программа генерации кода для схем с семисегментными индикаторами
Attachment:
7led_main2.png
7led_main2.png [ 17.02 KiB | Viewed 1153 times ]
http://luckytech.ru/Uploads/7sgLED.zip - Эту пока не пробовал...

Ну и кто жаднее меня, или занимается микроконтроллерами AVR, довольно навороченную утилиту
рекламируют вот здесь:
https://datagor.ru/software/2215-programma-formc-v-pomosch-programmistu-mikrokontrollerov.html

Но её я скачивать не стал, ибо неумеренная жадность - это уже порок... :mrgreen:

_________________
iLavr


21 Jan 2018 20:39
Profile
Maniac
User avatar

Joined: 13 Nov 2007 12:09
Posts: 272
Location: Ставрополь
Reply with quote
Под 6502 программка получается короткая и красивая, там индексный регистр используется, но смысл тот же.
Пример кода был опубликован в четвёртой книге болгарской серии "МКТ за всички":
https://www.sandacite.bg/wp-content/upl ... 0%B3.2.rar , стр 141-143.
Вся серия тут, https://www.sandacite.bg/%D0%BC%D0%B8%D ... %BF%D1%8A/

ЗЫ: а что это на фотке цилиндрическое слева от ИД2?


22 Jan 2018 01:24
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
что это на фотке цилиндрическое слева от ИД2?

Это блокировочный электролит, притянутый хомутиком к плате.

Image

_________________
iLavr


22 Jan 2018 02:49
Profile
Fanat
User avatar

Joined: 12 Apr 2011 21:43
Posts: 61
Location: Tashkent
Reply with quote
Красивыe индикаторы! Напомнили самодельный пробник отца :idea:

P.S.: А ведь изобретению индикатора - [url="http://ru.wikipedia.org/wiki/Семисегментный_индикатор"]больше ста лет[/url]! :roll:


20 Mar 2018 14:37
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.