Реализация Графического Языка Программирования

Обсуждаем контроллеры компании Atmel.
Ответить
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Сообщение ppp »

Ну, это да. Ярко вспыхивают и затухают. Серьезного инвестора искать нужно, а не помощников. Будут деньги, набрать их не проблема. Да и отвлекаться на добычу еды не надо будет. Опять же, возникнут обязательства и просто так забросить проект уже не получится.
В принципе, показать инвестору уже есть что.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

сомневаюсь, что инвестор клюнет. не просматривается тут явная коммерческая выгода.
можно попробовать на кикстартере или нашем аналогичном ресурсе попытать счастья...
и вообще, я слабо верю в сам принцип "инвестирования": будет инвестор - тут же найдутся желающие попилить бабло и выдать пшик. вспомните наши ё-мобили, ётафоны, российские виндовс и т.п.
имхо, тут нужна команда энтузиастов-профессионалов, готовых на собственной инициативе вытянуть проект до уровня начала коммерческой эксплуатации - тогда еще шанс есть. но я в это не верю...
извините за пессимизм...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Сообщение ppp »

Сейчас настроение человеку испортим. Все, я в эту сторону больше не буду.

А сама идея и реализация замечательная. Чайник в восторге :). Из пожеланий - включить в дистрибутив или на сайте выкладывать примерчики с каждым из блоков. Такие, как в первом видеоролике.
Опытный кот
Аватара пользователя
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США

Сообщение Pink-Pank »

А чем FlowCode не устраивает? Опять изобретаем велосипед?
К тому же он есть и под АРМ и под Пик и под МСП.
Для чайников и для осуществления мелких домашних поделок - самое то
Fucking static initialization order fiasco
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

Lihouzov, Как там тестинг продвигается7
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
Реклама
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

Целых два часа мучился, множество поправок... Заработало. :)
Создал программу "вольтметр", на дисплей выводится вещественное число с плавающей точкой.
Правда вывод числа в ASCII. :(
7seg.jpg
(55.7 КБ) 436 скачиваний
Тестирую в протеусе:
7seg.zip
(54.72 КБ) 192 скачивания
Последний раз редактировалось Lihouzov Ср дек 03, 2014 18:15:32, всего редактировалось 1 раз.
Реклама
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

Спойлер

Код: Выделить всё

#ifndef _FBD41_
#define _FBD41_ FBD41
#message define FBD41 (LED_7_SEG)__FILE__
.SET LED_7_SEG_DATA_SIZE = 4
.SET LED_7_SEG_DATA_RAM = FBD_DATA_RAM                          //Глобальные данные для LED
.SET FBD_DATA_RAM = LED_7_SEG_DATA_RAM + LED_7_SEG_DATA_SIZE    //Выделяем память для LED


//Размер описания FDB блока 16 байт
//4   байта -строка инициализации
//12  байт- вывода  блока A-F,DP,N1-N4
// Оперативная память 
//1 байт счетчик    
//    биты  7-4 - выводимый символ
//    биты  3-0 - счетчик
 FBD41_init: 
  ldi   A,  LED_7_SEG_DATA_SIZE     
  ldi   B,  0
 FBD41_Loop_LED_Copy:                
  sub A, One                       
  brcs FBD41_End_LED_copy                 
  rcall Read_cfg                        
  mov   ZL, B
  rcall LCD_out_char     
  inc   B
  rjmp  FBD41_Loop_LED_Copy                 
 FBD41_End_LED_copy:
  ADIW  YL, 12    
  ADIW  XL, 1          //Пропускаем
ret;

FBD41_run:
  ADIW  YL, 4               //Пропускаем строку инициализации
  ld   H, X                 //Получаем байт счетчика
  inc  H                    //Увеличить счетчик
  st   X+, H                //Сохраняем байт счетчика
  mov  F, H                 //Копируем
  andi F, 0b00011000        //Получаем номер символа

 // andi H, 0b00000111        //Счетчик
 // breq FBD41_out_null
  inc  H
  andi H, 0b00000111        //Счетчик
  breq FBD41_out_null
    lsl  F                    //Номер символа 0b000000XX  
    swap F                    //Номер символа 0b00000XX0
  //lsr  F                    //Номер символа 0b000000XX
  ldi   ZL, Low(LED_7_SEG_DATA_RAM)   ; адрес
  ldi   ZH, High(LED_7_SEG_DATA_RAM)  ; адрес
  add   ZL, F
  adc   ZH, Zero
  ld    A, Z                //Загружаем символ
//***************************************************************
//Здесь необходимо преобразовать ASCII в представление 7-seg
//***************************************************************
  BST A, 0
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод A
  BST A, 1
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод B
  BST A, 2
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод C
  BST A, 3
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод D
  BST A, 4
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод E
  BST A, 5
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод F
  BST A, 6
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод G
  BST A, 7
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод DP
  
  ldi   A, 0b000000001      //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 0                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 1                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 1                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  //sbrc  F, 2              //Преобразуем 0b0XX00000 -> 0b00001000
  //swap  A                 //Преобразуем 0b0XX00000 -> 0b00001000
  com A
  BST A, 0
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N1
  BST A, 1
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N2
  BST A, 2
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N3
  BST A, 3
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N4
  ret

FBD41_out_null:
  clr  Uz1H                 //Выводим ноль
  clr  Uz1L                 //Выводим ноль
  rcall Read_cfg_Save_Uz1   //Вывод A
  rcall Read_cfg_Save_Uz1   //Вывод B
  rcall Read_cfg_Save_Uz1   //Вывод C
  rcall Read_cfg_Save_Uz1   //Вывод D
  rcall Read_cfg_Save_Uz1   //Вывод E
  rcall Read_cfg_Save_Uz1   //Вывод F
  rcall Read_cfg_Save_Uz1   //Вывод G
  rcall Read_cfg_Save_Uz1   //Вывод DP
  inc  Uz1L 
  rcall Read_cfg_Save_Uz1   //Вывод N1
  rcall Read_cfg_Save_Uz1   //Вывод N2
  rcall Read_cfg_Save_Uz1   //Вывод N3
  rcall Read_cfg_Save_Uz1   //Вывод N4

 ret;

FBD41:
.db 16, 1                                  //Размер FBD блока, необходимая оперативная память
.dw FBD41_run, FBD41_init

LCD_out_char:       //ZL-позиция вывода  Addr_Data-код выводимого символа
  cpi   ZL,  LED_7_SEG_DATA_SIZE
  brcc  LCD_out_char_end
  ldi   ZH, Low(LED_7_SEG_DATA_RAM)
  add   ZL, ZH
  ldi   ZH, High(LED_7_SEG_DATA_RAM)
  adc   ZH, Zero
  st    Z,  Addr_Data
LCD_out_char_end:
ret

#else
#error redeclared FBD41 __FILE__
#endif

Надо добавить код преобразования ASCII в представление 7-seg
хотя бы: (-,0,1,2,3,4,5,6,7,8,9,.)
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

у меня она выглядит так
Спойлер

Код: Выделить всё

decind:
   cpi tmp,$ff
   brne dec_n
   ret
dec_n:
   ldi zh,high(2*tabind)
   ldi zl,low(2*tabind)
   add zl,tmp
   clr tmp
   adc zh,tmp
   lpm
   mov tmp,r0
   ret
;=============
;=         таблица символов для семисегментного индикатора         =
;=  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F  =
;= $00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $0a $0b $0c $0d $0e $0f =
;=============
;=  G   H   J   L   P   q   r   t   U   y   -   Є  =
;= $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1a $1b =
;===============
tabind:
   .dw   0b1111100111000000   ;1-0
   .dw   0b1011000010100100   ;3-2
   .dw   0b1001001010011001   ;5-4
   .dw   0b1111100010000010   ;7-6
   .dw   0b1001000010000000   ;9-8
   .dw   0b1000001110001000   ;B-A
   .dw   0b1010000111000110   ;D-C
   .dw   0b1000111010000110   ;F-E
   .dw 0b1000100111000010   ;H-G
   .dw 0b1100011111100001   ;L-J
   .dw 0b1001100010001100    ;q-P
   .dw 0b1000011110101111   ;t-r
   .dw 0b1001000111000001   ;y-U
   .dw 0b1111111110111111   ;Є--
tmp это регистр r16. в него записываем порядковый номер цифры, и в нем же мы получаем переконвертируемый результат. Биты регистра с 0 по 6 соответствуют сегментам с a до g, 7 бит регистра это точка.
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

Спасибо, доработал код:
Спойлер

Код: Выделить всё

//***************************************************************
//Здесь необходимо преобразовать ASCII в представление 7-seg
   subi A, 0x2D
   cpi  A, 25
   brmi FBD41_no_correct
   ldi  A, 2
FBD41_no_correct:
   ldi ZH, high(2*FBD41_tabl_7_seg)
   ldi ZL, low(2*FBD41_tabl_7_seg)
   add ZL, A
   adc ZH, Zero
   lpm
   mov A,  Addr_Data
//***************************************************************
  //  0 | - | 2D | 0b01000000
//  1 | . | 2E | 0b10000000
//  2 | / | 2F | 0b00000000
//  3 | 0 | 30 | 0b00111111
//  4 | 1 | 31 | 0b00000110
//  5 | 2 | 32 | 0b00101111
//  6 | 3 | 33 | 0b01001111
//  7 | 4 | 34 | 0b00100110
//  8 | 5 | 35 | 0b01101101
//  9 | 6 | 36 | 0b01111101

// 10 | 7 | 37 | 0b00000111
// 11 | 8 | 38 | 0b01111111
// 12 | 9 | 39 | 0b01101111
// 13 | - | 3A | 0b00000000
// 14 | - | 3B | 0b00000000
// 15 | - | 3C | 0b00000000
// 16 | - | 3D | 0b00000000
// 17 | - | 3E | 0b00000000
// 18 | - | 3F | 0b00000000
// 19 | - | 40 | 0b00000000

// 20 | A | 41 | 0b01110111
// 21 | B | 42 | 0b01111100
// 22 | C | 43 | 0b00111001
// 23 | D | 44 | 0b01011110
// 24 | E | 45 | 0b01111001
// 25 | F | 46 | 0b01110001

FBD41_tabl_7_seg:
.db 0b01000000, 0b10000000, 0b00000000, 0b00111111, 0b00000110, 0b00101111, 0b01001111, 0b00100110, 0b01101101, 0b01111101
.db 0b00000111, 0b01111111, 0b01101111, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000
.db 0b01110111, 0b01111100, 0b00111001, 0b01011110, 0b01111001, 0b01110001

Вечером проверю.
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

Работа 7-ми сегментного индикатора, предварительный итог.


Код блока:
Спойлер

Код: Выделить всё

#ifndef _FBD41_
#define _FBD41_ FBD41
#message define FBD41 (LED_7_SEG)__FILE__
.SET LED_7_SEG_DATA_SIZE = 4
.SET LED_7_SEG_DATA_RAM = FBD_DATA_RAM                          //Глобальные данные для LED
.SET FBD_DATA_RAM = LED_7_SEG_DATA_RAM + LED_7_SEG_DATA_SIZE    //Выделяем память для LED


//Размер описания FDB блока 16 байт
//4   байта -строка инициализации
//12  байт- вывода  блока A-F,DP,N1-N4
// Оперативная память 
//1 байт счетчик    
//    биты  7-4 - выводимый символ
//    биты  3-0 - счетчик
 FBD41_init: 
  ldi   A,  LED_7_SEG_DATA_SIZE     
  ldi   B,  0
 FBD41_Loop_LED_Copy:                
  sub A, One                       
  brcs FBD41_End_LED_copy                 
  rcall Read_cfg                        
  mov   ZL, B
  rcall LCD_out_char     
  inc   B
  rjmp  FBD41_Loop_LED_Copy                 
 FBD41_End_LED_copy:
  ADIW  YL, 12    
  ADIW  XL, 1          //Пропускаем
ret;

FBD41_run:
  ADIW  YL, 4               //Пропускаем строку инициализации
  ld   H, X                 //Получаем байт счетчика
  inc  H                    //Увеличить счетчик
  st   X+, H                //Сохраняем байт счетчика
  mov  F, H                 //Копируем
  andi F, 0b00011000        //Получаем номер символа

 // andi H, 0b00000111        //Счетчик
 // breq FBD41_out_null
  inc  H
  andi H, 0b00000111        //Счетчик
  breq FBD41_out_null
    lsl  F                    //Номер символа 0b000000XX  
    swap F                    //Номер символа 0b00000XX0
  //lsr  F                    //Номер символа 0b000000XX
  ldi   ZL, Low(LED_7_SEG_DATA_RAM)   ; адрес
  ldi   ZH, High(LED_7_SEG_DATA_RAM)  ; адрес
  add   ZL, F
  adc   ZH, Zero
  ld    A, Z                //Загружаем символ
//***************************************************************
//Здесь необходимо преобразовать ASCII в представление 7-seg
   subi A, 0x2D
   cpi  A, 25
   brmi FBD41_no_correct
   ldi  A, 2
FBD41_no_correct:
   ldi ZH, high(2*FBD41_tabl_7_seg)
   ldi ZL, low(2*FBD41_tabl_7_seg)
   add ZL, A
   adc ZH, Zero
   lpm
   mov A,  Addr_Data
//***************************************************************
  BST A, 0
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод A
  BST A, 1
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод B
  BST A, 2
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод C
  BST A, 3
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод D
  BST A, 4
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод E
  BST A, 5
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод F
  BST A, 6
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод G
  BST A, 7
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод DP
  
  ldi   A, 0b000000001      //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 0                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 1                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  sbrc  F, 1                //Преобразуем 0b0XX00000 -> 0b00001000
  lsl   A                   //Преобразуем 0b0XX00000 -> 0b00001000
  //sbrc  F, 2              //Преобразуем 0b0XX00000 -> 0b00001000
  //swap  A                 //Преобразуем 0b0XX00000 -> 0b00001000
  com A
  BST A, 0
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N1
  BST A, 1
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N2
  BST A, 2
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N3
  BST A, 3
  BLD Uz1L, 0
  rcall Read_cfg_Save_Uz1   //Вывод N4
  ret

FBD41_out_null:
  clr  Uz1H                 //Выводим ноль
  clr  Uz1L                 //Выводим ноль
  rcall Read_cfg_Save_Uz1   //Вывод A
  rcall Read_cfg_Save_Uz1   //Вывод B
  rcall Read_cfg_Save_Uz1   //Вывод C
  rcall Read_cfg_Save_Uz1   //Вывод D
  rcall Read_cfg_Save_Uz1   //Вывод E
  rcall Read_cfg_Save_Uz1   //Вывод F
  rcall Read_cfg_Save_Uz1   //Вывод G
  rcall Read_cfg_Save_Uz1   //Вывод DP
  inc  Uz1L 
  rcall Read_cfg_Save_Uz1   //Вывод N1
  rcall Read_cfg_Save_Uz1   //Вывод N2
  rcall Read_cfg_Save_Uz1   //Вывод N3
  rcall Read_cfg_Save_Uz1   //Вывод N4

 ret;

FBD41:
.db 16, 1                                  //Размер FBD блока, необходимая оперативная память
.dw FBD41_run, FBD41_init

//  0 | - | 2D | 0b01000000
//  1 | . | 2E | 0b10000000
//  2 | / | 2F | 0b00000000
//  3 | 0 | 30 | 0b00111111
//  4 | 1 | 31 | 0b00000110
//  5 | 2 | 32 | 0b01011011
//  6 | 3 | 33 | 0b01001111
//  7 | 4 | 34 | 0b01100110
//  8 | 5 | 35 | 0b01101101
//  9 | 6 | 36 | 0b01111101

// 10 | 7 | 37 | 0b00000111
// 11 | 8 | 38 | 0b01111111
// 12 | 9 | 39 | 0b01101111
// 13 | - | 3A | 0b00000000
// 14 | - | 3B | 0b00000000
// 15 | - | 3C | 0b00000000
// 16 | - | 3D | 0b00000000
// 17 | - | 3E | 0b00000000
// 18 | - | 3F | 0b00000000
// 19 | - | 40 | 0b00000000

// 20 | A | 41 | 0b01110111
// 21 | B | 42 | 0b01111100
// 22 | C | 43 | 0b00111001
// 23 | D | 44 | 0b01011110
// 24 | E | 45 | 0b01111001
// 25 | F | 46 | 0b01110001

FBD41_tabl_7_seg:
.db 0b01000000, 0b10000000, 0b00000000, 0b00111111, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101
.db 0b00000111, 0b01111111, 0b01101111, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000
.db 0b01110111, 0b01111100, 0b00111001, 0b01011110, 0b01111001, 0b01110001
LCD_out_char:       //ZL-позиция вывода  Addr_Data-код выводимого символа
  cpi   ZL,  LED_7_SEG_DATA_SIZE
  brcc  LCD_out_char_end
  ldi   ZH, Low(LED_7_SEG_DATA_RAM)
  add   ZL, ZH
  ldi   ZH, High(LED_7_SEG_DATA_RAM)
  adc   ZH, Zero
  st    Z,  Addr_Data
LCD_out_char_end:
ret

#else
#error redeclared FBD41 __FILE__
#endif

Чуть доработаю и выложу для обновления.
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

точка плавает как то неправильно. точнее отображается неправильно... надо что бы отображалась вместе с еденицами числа, а не на следующем разряде. зачем терять лишний разряд?
когда отображает десятки а затем переходит на еденицы, все число уходит влево, не радует глаз. надо какую то привязку точке давать, какой нито переключатель программный сделать что бы либо точка плавает, либо все число плавает а точка привязана к разряду определенному. Я так понимаю просто точка у тебя занимает отдельный разряд из-за структуры вывода на LCD. надо в индикаторе (семисегментном) дописать кусок кода: если точка то накладываем ее на предыдущий разряд и продолжаем печатать дальше, только наверное надо будет поставить что бы выводил не 4 символа с 0 поз, а 5 символов. Ну а в семисегментнике игнорировать последнюю если не было точки.
А в целом очень даже хорошо!!!
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
ppp
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Ср мар 02, 2011 20:05:39
Откуда: Карельский перешеек

Сообщение ppp »

А свойства для настройки ОА/ОК в блоке 7seg_4 не планируете?
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

Вроде как планировалось сделать 4 разные блока. Я где то выше писал об этом.
вот
Спойлер
xkp писал(а): 2. Выходы: общий/сегменты GND/Vcc, GND/GND, Vcc/GND Vcc/Vcc делать с переключением в ПП или разные ПП писать под них?
Lihouzov писал(а): 2. блок разные, количество блоков никто не ограничивает.
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

Доделать до конца один, а потом добавить другие, либо добавить свойства "ОА/ОК в блоке 7seg_4";

На счет лишнего знакоместа.
Есть функция которая пишет в видеопамять:

Код: Выделить всё

LCD_out_char:       //ZL-позиция вывода  Addr_Data-код выводимого символа
  cpi   ZL,  LED_7_SEG_DATA_SIZE
  brcc  LCD_out_char_end
  ldi   ZH, Low(LED_7_SEG_DATA_RAM)
  add   ZL, ZH
  ldi   ZH, High(LED_7_SEG_DATA_RAM)
  adc   ZH, Zero
  st    Z,  Addr_Data
LCD_out_char_end:
ret
:idea:
Возможно ее придется доработать и вставить код преобразования ASCII в представление 7-seg с последующим объединения символов :idea:
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

xkp писал(а):хотелось бы увидеть индикатор LCD 16*2 с поддержкой русского язык
Добавил. Русский язык зависит от дисплея.

Обновил программу, теперь в блоках можно использовать прерывания.
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

семисегментник не работает. или еще не доделал?
Изображение
Изображение
щас LCD потестю

ЗЫ. с LCD та же история с той же ошибкой
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
Встал на лапы
Сообщения: 83
Зарегистрирован: Вс май 20, 2012 16:21:11

Сообщение Lihouzov »

Приветствую всех!!!
Я сделал изменения в программе Configurator, перенес сборку проекта в отдельную библиотеку (для микроконтроллеров avr это EvAVRbuidr.dll). Программу выложил на обновление, а саму библиотеку забыл.
Библиотеку я сейчас добавил. Необходимо обновить Configurator. Должно работать.
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

С лева в колонке где выбор элементов (порты, блоки в разработке и тд) два одинаковых меню "индикаторы"
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 29
Зарегистрирован: Сб июн 07, 2014 16:37:14
Откуда: Кемеровская обл.

Сообщение lazudhic »

готов 500р подарить автору если все блоки будут русскоязычными , без иностранных слов

поддержим же человека ради нас старается время тратит !!!!
xkp
Опытный кот
Аватара пользователя
Сообщения: 781
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Откуда: ковров

Сообщение xkp »

что то не работает крайний левый разряд индикатора по вышевыложенной схеме (видео). При выводе константы напрямую на индикатор все отображается правильно. При измерении напряжения (АЦП) проблема...
Видео без звука.
тут сначало вывожу константу - все ок! потом собираю проект по авторской схеме (выше в видео), только порты по другому стоят. разряды индикатора подключены к младшим выводам порта С (0,1,2,3), вход АЦП к порту С4.

а тут поменял подключение левого разряда с порта С0 на С5

Думаю проблема в работе АЦП.
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Контактная информация:
Ответить

Вернуться в «AVR»