Advertisement
anticlown

KS0108 128×64 / CS1, /CS2 - output test

Oct 6th, 2023 (edited)
957
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.28 KB | None | 0 0
  1. #include <mega32.h> // Подключение заголовочных файлов
  2. #include <alcd.h> // в которых содержатся
  3. #include <stdio.h> // прототипы функций
  4. #include <delay.h>
  5. #include <ff.h>
  6. #include <glcd.h>
  7.  
  8. interrupt [TIM1_COMPA] void timer1_compa_isr(void)
  9. {
  10.     disk_timerproc();
  11. }
  12.  
  13. void main(void) // Основная функция программы
  14. {
  15.     FATFS fat; // Выделение рабочей области памяти для логического диска
  16.     unsigned char biggerclown[]=
  17.     {
  18.         /* Image width: 32 pixels */
  19.         0x20, 0x00,
  20.         /* Image height: 32 pixels */
  21.         0x20, 0x00,
  22.         #ifndef _GLCD_DATA_BYTEY_
  23.         /* Image data for monochrome displays organized
  24.            as horizontal rows of bytes */
  25.         0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xDF, 0xFF,
  26.         0xFF, 0xFA, 0xBF, 0xFE, 0x57, 0xF5, 0xAF, 0xF2,
  27.         0xAF, 0x5A, 0x55, 0xED, 0x5B, 0x15, 0x68, 0xF5,
  28.         0xAF, 0x0D, 0x58, 0xEB, 0xAB, 0x4A, 0xB2, 0xEA,
  29.         0x57, 0x07, 0xA0, 0xDA, 0xDB, 0x02, 0xC0, 0xEB,
  30.         0xAF, 0x08, 0x10, 0xF6, 0x6F, 0x1C, 0x38, 0xEA,
  31.         0x0F, 0xC8, 0x91, 0xF8, 0x1F, 0xA0, 0x02, 0xF2,
  32.         0x0F, 0x61, 0x03, 0xF8, 0x1F, 0xC0, 0xE2, 0xF0,
  33.         0x4F, 0x83, 0xE1, 0xFC, 0x1F, 0x0F, 0xF0, 0xF0,
  34.         0x2F, 0x3F, 0xFC, 0xFC, 0x3F, 0xFC, 0x7F, 0xFA,
  35.         0x5F, 0xFC, 0x3F, 0xFA, 0x5F, 0xF1, 0x1F, 0xFD,
  36.         0x9F, 0xE2, 0x47, 0xF8, 0x5F, 0x0C, 0x50, 0xF5,
  37.         0x97, 0x52, 0xAB, 0xEA, 0x57, 0x55, 0x14, 0xE9,
  38.         0x23, 0x29, 0x65, 0xCA, 0xCF, 0x54, 0x18, 0xE5,
  39.         0x2B, 0x03, 0xE1, 0xD2, 0x7F, 0xDD, 0x5A, 0xFD,
  40.         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  41.         #else
  42.         /* Image data for monochrome displays organized
  43.            as rows of vertical bytes */
  44.         0xFF, 0xFF, 0x5F, 0xF7, 0x2F, 0xD7, 0x2F, 0xD5,
  45.         0x6B, 0x97, 0x6B, 0xD7, 0x3F, 0x0F, 0x9F, 0x0F,
  46.         0x1F, 0x8F, 0x1F, 0x6F, 0xD7, 0xAD, 0x73, 0x8F,
  47.         0x73, 0xCF, 0x37, 0xD7, 0x2F, 0xFF, 0xFF, 0xFF,
  48.         0xFF, 0xFF, 0xFD, 0xFE, 0xA3, 0x0C, 0x0B, 0x06,
  49.         0x41, 0x03, 0x09, 0x1C, 0x08, 0x60, 0xD0, 0xB0,
  50.         0x50, 0xE0, 0x00, 0x08, 0x1C, 0x89, 0x82, 0x93,
  51.         0x02, 0x2F, 0x04, 0x5B, 0xF5, 0xFE, 0xFF, 0xFF,
  52.         0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x0C, 0xB1, 0x40,
  53.         0x27, 0x47, 0x9E, 0x9E, 0x3C, 0x7C, 0x78, 0x79,
  54.         0x79, 0x78, 0x7C, 0x3C, 0xBE, 0x1F, 0xCF, 0x07,
  55.         0xA0, 0x18, 0xA5, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF,
  56.         0xFF, 0xFF, 0xEB, 0xF8, 0xE3, 0xF4, 0xEA, 0xC9,
  57.         0xF6, 0xD1, 0xEA, 0xE4, 0xEB, 0xC4, 0xEB, 0xE0,
  58.         0xD5, 0xE1, 0xC6, 0xE9, 0xEA, 0xD5, 0xF4, 0xD1,
  59.         0xEA, 0xD5, 0xE8, 0xE7, 0xF0, 0xEB, 0xFF, 0xFF,
  60.         #endif
  61.     };
  62.    
  63.     GLCDINIT_t glcd_init_data; // Переменная для хранения данных контроллера графического дисплея
  64.     // Port B
  65.     DDRB=(1<<DDB7) | (0<<DDB6) | (1<<DDB5) | (1<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
  66.     PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
  67.     // Port D, Port C
  68.     DDRD=DDRC=0xff;
  69.     PORTD=PORTC=0x00;
  70.     // Инициализация таймера
  71.     TCCR1A=0x00;
  72.     TCCR1B=0x0D;
  73.     TCNT1H=0x00;
  74.     TCNT1L=0x00;
  75.     OCR1AH=0x00;
  76.     OCR1AL=0x4E;
  77.     TIMSK=0x10;
  78.     lcd_init(20); // Инициализация алфавитно-цифрового дисплея
  79.    
  80.     #asm("sei")
  81.     delay_ms(200);
  82.     glcd_init(&glcd_init_data); // Инициализация графического дисплея
  83.     f_mount(0, &fat); // Выделение рабочей области памяти для логического раздела
  84.     glcd_setlinestyle(6, GLCD_LINE_DOT_LARGE); // Установка стиля рисования линий на графическом дисплее
  85.     glcd_rectangle(0, 0, 128, 64); // Отрисовка прямоугольной рамки
  86.     glcd_putimage(50, 18, biggerclown, GLCD_PUTCOPY); // Вывод изображения, код которого указан в переменной img, на экран графического дисплея с позиции х = 98, y = 10
  87.     delay_ms(50);
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement