4 / 4 / 0
Регистрация: 03.12.2015
Сообщений: 6
1

вывод 8 строк на дисплей Nokia5110 под ATmega. Всё работает

18.04.2016, 20:23. Показов 1668. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток!!!

Программирую не первый десяток лет, паяю – еще больше. С недавнего времени и микрококнтроллеры. Но столкнулся с потребностью вывода большого количества информации на дисплей. Самый ходовой – NOKIA5110.
Ну реально мало мне 6 строк по 14 символов. А слабо вывести 8 строк? Шесть байтовых строк равно восьми 6-битовым строкам.
6*8 = 8*6
Три вечера страданий, и вот – результат. Дисплей 5110 (3110) выводит 8 строк.

Минусы.
• нет разделений нижнего и верхнего регистров
• есть один символ, который разместить в таком урезанном пространстве проблематично – “&” (но мне оно не нужно, я и не напрягался особо)
• жрет много программной памяти

Если Вас это не пугает – читайте, качайте, сдирайте, …, и т.д.

И так, Поехали!

Зона размещения символов в дисплее 3110 – это 6 строк по 14 символов. Каждый символ – это 6 параллельно расположенных байт информации. В том и прикол, что разрешение дисплея 84х48, т.е. 14 символов по 6 колонок {итого 84} шириной и 6 символов по 8 бит {итого 48} высотой. Я скомпилировал вывод в таком экране 14 символов по 6 колонок {итого 84} шириной и 8 символов по 6 бит {итого 48} высотой. Ну, мля, никаких конфликтов!!! 84х48 кака была, така и осталось.

Создаю буфер экрана, в котором будет храниться инфа как в дисплее. После этого определяю, куда и как пишу инфу, записываю ее в буфер, после чего вывожу данные из буфера непосредственно в дисплей. Все работает по изначальному алгоритму.
Так как количество столбцов не изменяется, рассматриваю работу в одном столбце
Границы символов – нижняя строка и правый столбец символа вообще не трогаю. Я туда никогда ничего не пишу, потому и не обрабатываю

Что у меня с системотехникой:
МК – ATmega8
Генератор – внутренний
Дисплей – чайна NOKIA5110 синий
Питание – от USB через программатор
Программатор – USBASP
ОС – винда 7 максимум
Среда – BASCOM-AVR 2.0.5.0.

Схемотехнику описывать не буду. Статья не для новичков. Будет совсем не в моготу – пишите, выложу потом. (Я пропаду на неделю-две из зоны доступа)

Программа не оптимизирована (сыровата). Первое, что вижу – резервирование памяти под Jj, кривая кодировка символа "R" (а мне он не нужен). Скорее всего, есть еще что-то корявое для финала. Но всё работает.

код в следующем сообщении
Миниатюры
вывод 8 строк на дисплей Nokia5110 под ATmega. Всё работает  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2016, 20:23
Ответы с готовыми решениями:

Из-под appletviewer все работает, а из под браузера-нет.
Заранее извиняюсь, ежели этот вопрос покажется вам глыпым... :) Недавно я написал свой первый...

=Sum([BYN]) не работает под терминалом, если запустить нормально - все работает. ПОЧЕМУ ?
в общем разделил базу могу сидеть в lan сети и использовать таблицы по сети редактируя морду. Все...

Nokia5110 и stm
Появился у меня дисплей от nokyo5110, все культурно сделано на плате, но как с ним работать вообще...

Подскажите почему не работает вывод строк?
подскажите почему программа работает некорректно? на выводе должно быть ,true] vec != vec2 vec...

3
4 / 4 / 0
Регистрация: 03.12.2015
Сообщений: 6
18.04.2016, 20:25  [ТС] 2
Исходник:
Кликните здесь для просмотра всего текста
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
$regfile = "m8def.dat"
$crystal = 4000000 '???
$baud = 9600
 
$hwstack = 120
$swstack = 120
$framesize = 180
 
' $sim ' Подключить при симуляции (отладке)
 
' Процедуры, переписанные с модуля 3310=========================================
Declare Sub Mreset()
Declare Sub Minit()
Declare Sub Mclear()
Declare Sub Mposition(byval Myx As Byte , Byval Myy As Byte)
Declare Sub Mcommandout(byval Myvalue As Byte)
Declare Sub Mdataout(byval Myvalue As Byte)
' Процедуры, переписанные с модуля 3310=========================================
 
' Вывод символа
Declare Sub Mchar(byval Ch As String , Byval Mx As Byte , Byval My As Byte)
' Вывод строки
Declare Sub Mprint(byval S As String , Byval X As Byte , Byval Y As Byte)
' Вывод верхнего символа оригинала (буфера)
Declare Sub Save_data_top(byval Ii As Byte)
' Вывод нижнего символа оригинала (буфера)
Declare Sub Save_data_down(byval Ii As Byte)
' Загрузка символа в буфер олбмена
Declare Sub Mselect(byval Char As String)
 
Config Portb.5 = Output 'подсветка дисплея
Led Alias Portb.5
Led = 1
 
Config Portd.5 = Output 'светодиод индикации
Ledyind Alias Portd.5
Ledyind = 0
 
' Конфигурирование дисплея
Config Portb.0 = Output 'DC <-> pin 4
Mydc Alias Portb.0
Config Portd.7 = Output 'CE <-> pin 5
Myce Alias Portd.7
Config Portd.6 = Output 'RST <-> pin 8
Myre Alias Portd.6
 
Config Spi = Soft , Din = Portd.4 , Dout = Portb.1 , Ss = None , Clock = Portb.2
 
Spiinit
 
Dim Mq As String * 1
Mq = Chr(34)
 
' Резервирование памяти под буфер дисплея
Dim Bscr(504) As Byte
' Счетчики
Dim Ii As Byte
Dim Jj As Byte
' Разрешение записи верх Input1 и низ Input2
Dim Min1 As Bit
Dim Min2 As Bit
' № строки 1 (верхней) буфера
Dim Morig1 As Byte
' № Строки 2 (нижней) буфера. На 1 Больше № Строки 1
Dim Morig2 As Byte
' Позиция начала в строке 1 (верхней) оригинала
Dim Mpos1 As Byte
' Позиция начала в строке 2 (нижней)буфера, всегда 0. Не резервирую
' Кол-во бит в строке 1 = 8 - Позиция начала в строке 1 (верхней) буфера
Dim Mcount1 As Byte
' Кол-во бит в строке 2 = 6 - Кол-во бит в строке 1
Dim Mcount2 As Byte
' № байта верхнего символа в буфере
Dim Msymb1buf As Word
' № байта нижнего символа в буфере
Dim Msymb2buf As Word
' Переменные-регистры для хранения состояний и промежуточных данных
Dim Mreg As Byte
Dim Msdvig As Byte
Dim Column As Byte
 
Call Mreset
Call Minit
Call Mclear
 
' Начало основного цикла =======================================================
Do
Call Mprint( "абвгдежзийклмн" , 0 , 0)
Call Mprint( "опрстуфхцчшщъы" , 0 , 1)
Call Mprint( "ьэюя 123456789" , 0 , 2)
Call Mprint( "0.,:/-;abcdefg" , 0 , 3)
Call Mprint( "hijklmnopqrstu" , 0 , 4)
Call Mprint( "vwxyz ;.,:/Y;!" , 0 , 5)
Call Mprint( "@'№$%^?*=\спец" , 0 , 6)
Call Mprint( "симв.-потом..." , 0 , 7)
' Call Mprint( "поверх" , 0 , 5)
' Чтобы не "моргало" изображение
Waitms 10000
Loop
' Конец основного цикла программы ==============================================
 
End
 
Return
 
' Процедуры ====================================================================
' Списанные процедуры с 3310 ---------------------------------------------------
Sub Mreset()
Myre = 0
Waitus 250
Myre = 1
End Sub
 
Sub Minit()
Myce = 0
Mydc = 0
Mcommandout &H21
Mcommandout &HC0
Mcommandout &H06
Mcommandout &H13
Mcommandout &H20
Mcommandout &H0C
Myce = 1
End Sub
 
Sub Mclear()
Local Mypixelloop As Word
Myce = 0
Mydc = 0
Mcommandout &H20
Mcommandout &H80
Mcommandout &H40
Mydc = 1
For Mypixelloop = 0 To 503
Mdataout &H00
Next Mypixelloop
Myce = 1
End Sub
 
Sub Mposition(byval Myx As Byte , Byval Myy As Byte)
Local Mymy As Byte
Mcommandout &H20
Waitus 250
Myce = 0
Mydc = 0
Mymy = Myx * 6
Mymy = Mymy + &H80
Spiout Mymy , 1
Mymy = Myy + &H40
Spiout Mymy , 1
Myce = 1
End Sub
 
Sub Mcommandout(byval Myvalue As Byte)
Myce = 0
Mydc = 0
Spiout Myvalue , 1
Myce = 1
End Sub
 
Sub Mdataout(byval Myvalue As Byte)
Myce = 0
Mydc = 1
Spiout Myvalue , 1
Myce = 1
End Sub
' Окончились списанные процедуры с 3310 ----------------------------------------
 
' Мои процедуры ----------------------------------------------------------------
Sub Mchar(byval Ch As String , Byval Mx As Byte , Byval My As Byte)
Min1 = 1
Min2 = 1
If My = 0 Then
Min1 = 0
' Это нужно для расчета Morig2. При расчете второй строки ее номер станет 0
Morig1 = &B11111111 '''''
' Это нужно для расчета Mcount2
Mpos1 = 8 '''''
End If
If My = 1 Then
Morig1 = 0
Mpos1 = 6
End If
If My = 2 Then
Morig1 = 1
Mpos1 = 4
End If
If My = 3 Then
Min2 = 0
Morig1 = 2
Mpos1 = 2
End If
If My = 4 Then
Min1 = 0
' Это нужно для расчета Morig2
Morig1 = 2 '''''
' Это нужно для расчета Mcount2
Mpos1 = 8 '''''
End If
If My = 5 Then
Morig1 = 3
Mpos1 = 6
End If
If My = 6 Then
Morig1 = 4
Mpos1 = 4
End If
If My = 7 Then
Min2 = 0
Morig1 = 5
Mpos1 = 2
End If
Morig2 = Morig1 + 1
Mcount1 = 8 - Mpos1
Mcount2 = 6 - Mcount1
' Вычисление №№ байтов верхнего и нижнего символов в буфере
Msymb1buf = Morig1 * 84
Mreg = Mx * 6
Msymb1buf = Msymb1buf + Mreg
' № первого байта нижнего символа = № 1-го байта верхнего символа + 84
Msymb2buf = Msymb1buf + 84
' Загрузка из памяти символа
Call Mselect(ch)
' обработка 5-ти колонок символа (без разделительного пробела)
Call Mposition(mx , Morig1)
For Ii = 0 To 4
Read Column
Call Save_data_top(ii)
Next
' Загрузка из памяти символа
Call Mselect(ch)
' обработка 5-ти колонок символа (без разделительного пробела)
Call Mposition(mx , Morig2)
For Ii = 0 To 4
Read Column
Call Save_data_down(ii)
Next
' Обработка разделительного пробела
' Запись данных
' А я в границу символа никогда ничего не пишу. Пропуск действия
End Sub
 
 
Sub Mprint(byval S As String , Byval X As Byte , Byval Y As Byte)
Local Char As String * 1
Local Stringloop As Byte
Local Cx As Byte
For Stringloop = 1 To Len(s)
Cx = X + Stringloop
Cx = Cx - 1
Char = Mid(s , Stringloop , 1)
Call Mchar(char , Cx , Y)
Next Stringloop
End Sub
 
 
Sub Save_data_top(byval Mx As Byte , Byval My As Byte , Byval Ii As Byte)
Local Col1 As Word
Local Mnul As Byte
Local Prom As Byte
' Если пропуск вывода верхнего символа, то вылетаю из процедуры
If Min1 = 0 Then Exit Sub
Col1 = Msymb1buf + Ii
Col1 = Col1 - 1
' На сколько бит вниз буду сдвигать код символа
Msdvig = 2 ^ Mpos1
' Сдвигаю код и сохраняю в Msdvig
Msdvig = Msdvig * Column
' Обнуляю изменяемые биты и добавляю биты с инфой
Mnul = 8 - Mpos1
Mnul = 2 ^ Mnul
Prom = Bscr(col1)
Prom = Prom * Mnul
Prom = Prom / Mnul
Prom = Prom + Msdvig
' Дописываю инфу в буфер и дисплей (верхний символ, оригинал экрана)
Bscr(col1) = Prom
Call Mdataout(prom)
End Sub
 
 
Sub Save_data_down(byval Mx As Byte , Byval My As Byte , Byval Ii As Byte)
Local Col2 As Word
Local Mnul As Byte
Local Prom As Byte
' Если пропуск вывода нижнего символа, то вылетаю из процедуры
If Min2 = 0 Then Exit Sub
Col2 = Msymb2buf + Ii
Col2 = Col2 - 1
' На сколько бит вверх буду сдвигать код символа
Msdvig = 6 - Mcount2
Msdvig = 2 ^ Msdvig
' Сдвигаю код и сохраняю в Msdvig
Msdvig = Column / Msdvig
' Обнуляю изменяемые биты и добавляю биты с инфой
Mnul = Mpos1 - 2
Mnul = 2 ^ Mnul
Prom = Bscr(col2)
Prom = Prom / Mnul
Prom = Prom * Mnul
Prom = Prom + Msdvig
' Дописываю инфу в буфер и дисплей (нижний символ, оригинал экрана)
Bscr(col2) = Prom
Call Mdataout(prom)
End Sub
 
 
Sub Mselect(byval Char As String)
Select Case Char
' Кириллица
Case "а" : Restore Ar
Case "б" : Restore Br
Case "в" : Restore Vr
Case "г" : Restore Gr
Case "д" : Restore Dr
Case "е" : Restore Er
Case "ж" : Restore Zhr
Case "з" : Restore Zr
Case "и" : Restore Ir
Case "й" : Restore Jr
Case "к" : Restore Kr
Case "л" : Restore Lr
Case "м" : Restore Mr
Case "н" : Restore Nr
Case "о" : Restore Oor
Case "п" : Restore Pr
Case "р" : Restore Rr
Case "с" : Restore Sr
Case "т" : Restore Tr
Case "у" : Restore Ur
Case "ф" : Restore Frr
Case "х" : Restore Hr
Case "ц" : Restore Cr
Case "ч" : Restore Chrr
Case "ш" : Restore Shr
Case "щ" : Restore Schr
Case "ъ" : Restore Tzr
Case "ы" : Restore Yr
Case "ь" : Restore Mzr
Case "э" : Restore Eur
Case "ю" : Restore Jur
Case "я" : Restore Jjar
' Латиница
Case "a" : Restore Ar
Case "b" : Restore Vr
Case "c" : Restore Sr
Case "d" : Restore Dl
Case "e" : Restore Er
Case "f" : Restore Fl
Case "g" : Restore Gl
Case "h" : Restore Nr
Case "i" : Restore Il
Case "j" : Restore Jl
Case "k" : Restore Kr
Case "l" : Restore Ll
Case "m" : Restore Mr
Case "n" : Restore Nl
Case "o" : Restore Oor
Case "p" : Restore Rr
Case "q" : Restore Ql
Case "r" : Restore Rl
Case "s" : Restore Sl
Case "t" : Restore Tr
Case "u" : Restore Ul
Case "v" : Restore Vl
Case "w" : Restore Wl
Case "x" : Restore Hr
Case "y" : Restore Yl
Case "z" : Restore Zl
' Цифрица
Case "0" : Restore Zero
Case "1" : Restore One
Case "2" : Restore Two
Case "3" : Restore Three
Case "4" : Restore Four
Case "5" : Restore Five
Case "6" : Restore Six
Case "7" : Restore Seven
Case "8" : Restore Eight
Case "9" : Restore Nine
' Символица
Case " " : Restore Probel
Case "." : Restore Myt
Case "," : Restore Myz
Case ":" : Restore Mydt
Case "/" : Restore Mydel
Case "-" : Restore Mymin
Case ";" : Restore Mytz
Case "!" : Restore Voskl
Case "@" : Restore Sobaka
Case "'" : Restore Kav
Case "№" : Restore Num
Case "$" : Restore Bax
Case "%" : Restore Proc
Case "^" : Restore Vozv
Case "?" : Restore Vopr
Case "*" : Restore Umn
Case "=" : Restore Ravno
Case "" : Restore Delr
 
End Select
End Sub
 
 
' Тут в памяти есть спецсимолы, которые не отображены в тестовой программе
 
' Буквы
Ar:
Data 28 , 10 , 9 , 10 , 28
Br:
Data 31 , 21 , 21 , 21 , 8
Vr:
Data 31 , 21 , 21 , 21 , 10
Gr:
Data 31 , 1 , 1 , 1 , 3
Dr:
Data 24 , 20 , 18 , 17 , 31
Er:
Data 31 , 21 , 21 , 21 , 17
Zhr:
Data 17 , 10 , 31 , 10 , 17
Zr:
Data 16 , 17 , 21 , 21 , 10
Ir:
Data 31 , 16 , 8 , 4 , 31
Jr:
Data 31 , 16 , 9 , 4 , 31
Kr:
Data 31 , 8 , 4 , 10 , 17
Lr:
Data 16 , 28 , 2 , 1 , 31
Mr:
Data 31 , 2 , 4 , 2 , 31
Nr:
Data 31 , 4 , 4 , 4 , 31
Oor:
Data 14 , 17 , 17 , 17 , 14
Pr:
Data 31 , 1 , 1 , 1 , 31
Rr:
Data 31 , 5 , 5 , 5 , 2
Sr:
Data 14 , 17 , 17 , 17 , 18
Tr:
Data 1 , 1 , 31 , 1 , 1
Ur:
Data 17 , 18 , 12 , 4 , 3
Frr:
Data 6 , 9 , 31 , 9 , 6
Hr:
Data 17 , 10 , 4 , 10 , 17
Cr:
Data 31 , 16 , 16 , 31 , 16
Chrr:
Data 3 , 4 , 4 , 4 , 31
Shr:
Data 31 , 16 , 31 , 16 , 31
Schr:
Data 15 , 8 , 15 , 8 , 31
Tzr:
Data 1 , 31 , 20 , 20 , 8
Yr:
Data 31 , 20 , 28 , 0 , 31
Mzr:
Data 31 , 20 , 20 , 20 , 8
Eur:
Data 17 , 17 , 21 , 21 , 14
Jur:
Data 31 , 4 , 14 , 17 , 14
Jjar:
Data 18 , 21 , 13 , 5 , 31
Dl:
Data 31 , 17 , 17 , 17 , 14
Fl:
Data 31 , 5 , 5 , 1 , 1
Gl:
Data 14 , 17 , 17 , 21 , 12
Il:
Data 0 , 17 , 31 , 17 , 0
Jl:
Data 8 , 17 , 17 , 17 , 15
Ll:
Data 31 , 16 , 16 , 16 , 16
Nl:
Data 31 , 2 , 4 , 8 , 31
Ql:
Data 14 , 17 , 21 , 9 , 22
Rl:
Data 31 , 5 , 13 , 5 , 18
Sl:
Data 18 , 21 , 21 , 21 , 9
Ul:
Data 15 , 16 , 16 , 16 , 15
Vl:
Data 7 , 8 , 16 , 8 , 7
Wl:
Data 31 , 8 , 6 , 8 , 31
Yl:
Data 1 , 2 , 28 , 2 , 1
Zl:
Data 17 , 25 , 21 , 19 , 17
' Цифры
Zero:
Data 14 , 25 , 21 , 19 , 14
One:
Data 0 , 4 , 18 , 31 , 16
Two:
Data 25 , 21 , 21 , 21 , 18
Three:
Data 17 , 21 , 21 , 21 , 10
Four:
Data 8 , 12 , 10 , 9 , 31
Five:
Data 23 , 21 , 21 , 21 , 13
Six:
Data 14 , 21 , 21 , 21 , 8
Seven:
Data 17 , 9 , 5 , 3 , 1
Eight:
Data 10 , 21 , 21 , 21 , 10
Nine:
Data 2 , 21 , 21 , 21 , 14
' Символы
Myt:
Data 0 , 0 , 16 , 0 , 0
Myz:
Data 0 , 16 , 8 , 0 , 0
Mydt:
Data 0 , 0 , 10 , 0 , 0
Mydel:
Data 16 , 8 , 4 , 2 , 1
Mymin:
Data 0 , 4 , 4 , 4 , 0
Mytz:
Data 0 , 16 , 10 , 0 , 0
Probel:
Data 0 , 0 , 0 , 0 , 0
Voskl:
Data 0 , 0 , 23 , 0 , 0
Sobaka:
Data 2 , 25 , 21 , 9 , 30
Kavd:
Data 0 , 3 , 0 , 3 , 0
Kav:
Data 0 , 0 , 3 , 0 , 0,
Num:
Data 28 , 4 , 8 , 31 , 1
Bax:
Data 22 , 21 , 31 , 21 , 8
Proc:
Data 17 , 8 , 4 , 2 , 17
Vozv:
Data 4 , 2 , 1 , 2 , 4
Vopr:
Data 2 , 1 , 25 , 5 , 2
Umn:
Data 21 , 14 , 31 , 14 , 21
Sly:
Data 0 , 0 , 14 , 17 , 0
Sry:
Data 0 , 17 , 14 , 0 , 0
Skvl:
Data 0 , 0 , 31 , 17 , 0
Skvr:
Data 0 , 17 , 31 , 0 , 0
Stl:
Data 0 , 4 , 10 , 17 , 0
Str:
Data 0 , 17 , 10 , 4 , 0
Stfl:
Data 4 , 4 , 27 , 17 , 0
Stfr:
Data 0 , 17 , 27 , 4 , 4,
Down:
Data 16 , 16 , 16 , 16 , 16
Plus:
Data 4 , 4 , 31 , 4 , 4
Ravno:
Data 0 , 10 , 10 , 10 , 0
Delr:
Data 1 , 2 , 4 , 8 , 16
Point:
Data 30 , 10 , 14 , 0 , 0
Nord:
Data 30 , 4 , 8 , 30 , 0
Gol:
Data 4 , 10 , 17 , 4 , 10
Gor:
Data 10 , 4 , 17 , 10 , 4
Got:
Data 4 , 18 , 9 , 18 , 4
God:
Data 4 , 9 , 18 , 9 , 4
Golt:
Data 15 , 1 , 29 , 5 , 4
Gort:
Data 4 , 5 , 29 , 1 , 15
Gold:
Data 30 , 16 , 23 , 20 , 4
Gord:
Data 4 , 20 , 23 , 16 , 30
Grad:
Data 7 , 5 , 5 , 7 , 0
Bat0:
Data 17 , 17 , 17 , 31 , 4
Bat1:
Data 17 , 17 , 31 , 31 , 4
Bat2:
Data 17 , 31 , 31 , 31 , 4
Bat3:
Data 31 , 31 , 31 , 31 , 4
Volt:
Data 6 , 8 , 16 , 8 , 6
Ant:
Data 1 , 2 , 31 , 2 , 1
Reh:
Data 10 , 31 , 10 , 31 , 10
Ant5:
Data 16 , 24 , 28 , 30 , 31
Ant4:
Data 16 , 24 , 28 , 30 , 0
Ant3:
Data 16 , 24 , 28 , 0 , 0
Ant2:
Data 16 , 24 , 0 , 0 , 0
Ant1:
Data 16 , 0 , 0 , 0 , 0
Menu:
Data 27 , 14 , 14 , 4 , 4
0
4 / 4 / 0
Регистрация: 03.12.2015
Сообщений: 6
18.04.2016, 22:13  [ТС] 3
все в архиве
Вложения
Тип файла: zip 5110x8.zip (255.1 Кб, 15 просмотров)
2
0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 1
13.10.2017, 11:26 4
Оно бы бибилиотекой было бы здорово
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2017, 11:26

Ввод/вывод строк - Не работает второй gets
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; main() { clrscr(); int c; char*a,*b; gets(a);...

Мертвый вывод Atmega 32
Добрый день. Приобрел новый мк Atmega32. Начал проверку выводов, обнаружил, что вывод PC4(TDO) не...

Не работает прошивка на Atmega 8
Доброго времени суток уважаемые форумчане! Столкнулся с такой проблемой: есть прошивка на ATTiny...

Как пронумеровать все страницы без каких-то пустых строк под верхним колонтитулом?
Друзья! Сперва одна из страниц имеет вид, как на первом рисунке. Потом я пронумеровываю страницы...

Проблемы с написанием программы под дисплей NOKIA2760
Гмм. Делаю так: cs=0; rst=0; delay_ms(5); rst=1; Это у меня ресет. Ресет ли это? Потом...

lcd nokia5110 подключение и использование с launchpad
Здравствуйте, прошу помощи в поиске информации по сабжу. Мой уровень владения мк - моргание...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru