Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void OLED_wrnibble(unsigned char hbyte, bit reg)
- {
- rs_lcd = reg; lcd_rd = 0;
- delay_timer_us(50);
- P0&=0xf0;
- P0|=hbyte;
- e_lcd = 1;
- delay_timer_us(50);
- e_lcd = 0;
- return;
- }
- void OLED_busy_wait(void)
- {
- unsigned char temp;
- bit bFlag = 0;
- do{
- rs_lcd = 0; lcd_rd = 1;
- e_lcd = 0;
- P0|=0x0f;
- e_lcd = 1;
- delay_timer_us(11);
- temp = (P0&0x0f)<<4;
- e_lcd = 0;
- e_lcd = 1;
- delay_timer_us(50);
- temp|= (P0&0x0f);
- e_lcd = 0;
- }while (temp&0x80);
- return;
- }
- void OLED_wrbyte(unsigned char byte, bit reg)
- {
- volatile unsigned char temp;
- rs_lcd = reg; lcd_rd = 0;
- temp = (byte >> 4)&0x0f;
- delay_timer_us(50);
- P0&=0xf0;
- P0|=temp;
- e_lcd = 1;
- delay_timer_us(50);
- e_lcd = 0;
- temp = byte&0x0f;
- delay_timer_us(50);
- P0&=0xf0;
- P0|=temp;
- e_lcd = 1;
- delay_timer_us(50);
- e_lcd = 0;
- OLED_busy_wait();
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement