Страница 1 из 1

Как вывести цифру на ЖКИ HD44780?

Добавлено: Вс окт 04, 2009 14:01:18
pozdn
Надо вывести цифру на ЖКИ. Вывод массива буквенных символов работает. Но когда заменил массив букв на цифру, при ассемблировании CodeVision выдает ошибку в строке 31:
void itoa(a,*string,10); “отсутствует ;”
Подскажите,пожалуйста, где ошибка. Видимо что-то не так с преобразованием цифры в символ.
Вот код:

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

 1. #include <mega16> 
 2. #include <delay> 
 3. #include <stdlib>
 4. unsigned char string;                              //Объявление символьной переменной
 5. unsigned int a=35;                                 //Объявление числовой переменной

 6. void pulse_e(void)                                 // Сформировать импульс на линии Е 
 7. { 
 8. delay_us(1); 
 9. PORTC.2=1;                                          // E=1 
10. delay_us(1); 
11. PORTC.2=0;                                          // E=0 
12. } 

13. void send_char(unsigned char c)                   // Передать код символа для отображения 
14. { 
15. PORTC=(c&0b11110000)|(0b00000001);         // Передадим ст.часть байта 
16. pulse_e(); 
17. PORTC=((c<<4)&0b11110000)|(0b00000001);    // Передадим мл. часть байта 
18. pulse_e(); 
19. delay_us(45);                                                  // Пауза 
20. } 

21. void send_cmd(unsigned char c)                      // Передать индикатору код команды 
22. { 
23. PORTC=(c&0b11110000);                                  // Передадим ст. часть байта 
24. pulse_e(); 
25. PORTC=((c<<4)&0b11110000);                        // Передадим мл. часть байта 
26. pulse_e(); 
27. delay_us(45); // пауза 
28. } 

29. void main(void) 
30 . { 
31. void itoa(a,*string,10);                                 //Преобразуем число а в символ string
32. DDRC=0xff;                                                // Настроим линии порта С на вывод 
33. PORTC=0b00000000; 
34. delay_ms(15);                                            // пауза для инициации индикатора 
35. PORTC=0x20;                                  // Установим код 0x20 -переход в четырехбитный режим 
36. pulse_e(); 
37. delay_us(45);                                              // пауза 
38. send_cmd(0x28);                             // Отошлем команду для четырехбитного режима 
39. send_cmd(0x0f);                              // Команда " вкл. отображение с миг. курсором и подчеркиванием" 
40. send_cmd(0x01);                                         //Команда " Очистить индикатор" 
41. delay_ms(70);                                             // пауза 
42. send_cmd(0x82);                                         // Команда  " Установить позицию для вывода  текста" 
43. delay_ms(70);                                             // пауза 
44. send_char(string);                                        //код символа для вывода
45. while(1); 
46. }                                                                 // Конец основной программы

Добавлено: Вс окт 04, 2009 20:17:27
Aheir