SHARE
TWEET

Untitled

a guest Jan 17th, 2013 37 Never
  1. #include<util/delay.h>
  2. #include<avr/io.h>
  3. #include"defines.h"
  4. void control_write(unsigned char control)
  5. {
  6.     GLCD_DATA_DDR = 0XFF;
  7.         GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_E);
  8.     GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_RW);
  9.         GLCD_CTRL_PORT |= (1<<GLCD_CTRL_CS0);
  10.         GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_RS);
  11.         asm volatile ("nop"); asm volatile ("nop");
  12.         asm volatile ("nop"); asm volatile ("nop");
  13.         GLCD_CTRL_PORT |= (1<<GLCD_CTRL_E);
  14.         asm volatile ("nop"); asm volatile ("nop");
  15.         GLCD_DATA_PORT = 0x3e;
  16.     GLCD_CTRL_PORT |= (1<<GLCD_CTRL_RW);
  17.         asm volatile ("nop"); asm volatile ("nop");
  18. }
  19. unsigned char control_read()
  20. {
  21.         unsigned char control;
  22.         GLCD_DATA_DDR = 0X00;
  23.         GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_E);
  24.     GLCD_CTRL_PORT |= (1<<GLCD_CTRL_RW);
  25.         GLCD_CTRL_PORT |= (1<<GLCD_CTRL_CS0);
  26.         GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_RS);
  27.         asm volatile ("nop"); asm volatile ("nop");
  28.         asm volatile ("nop"); asm volatile ("nop");
  29.         GLCD_CTRL_PORT |= (1<<GLCD_CTRL_E);
  30.         asm volatile ("nop"); asm volatile ("nop");
  31.         control = GLCD_DATA_PIN;
  32.     GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_RW);
  33.         asm volatile ("nop"); asm volatile ("nop");
  34.         return control;
  35. }
  36.  
  37. int main(void){
  38.         unsigned char control;
  39.     _delay_ms(100);
  40.         DDRB = 0xFF;
  41.         GLCD_CTRL_DDR = 0XFF;
  42.         GLCD_CTRL_PORT &= ~(1<<GLCD_CTRL_RESET);
  43.     while(1){
  44.         //CONTROL WRITE
  45.         control_write(GLCD_ON_CTRL);
  46.         //CONTROL READ
  47.         control = control_read();
  48.         PORTB |= (1<<1);
  49.         if(control & GLCD_STATUS_BUSY)
  50.             PORTB |= (1<<0);
  51.         }
  52.         return 0;
  53. }
RAW Paste Data
Top