?? 12864zk.c
字號:
#include <p18f4520.h>
#define uint unsigned int
#define uchar unsigned char
rom unsigned char hztab[9]= { 0xc7,0xe0,0xd4,0xc6,0xb4,0xb4,0xd0,0xc2};
void delay_10ms(void) //10ms
{
unsigned int i,k;
for(i=0;i<100;i++)
for(k=0;k<100;k++);
}
void delay_us(unsigned char x)
{
unsigned char i;
for(i=0;i<x;i++)
{;}
}
void wait_free(void)
{
unsigned char retb;
LATCbits.LATC5=0;
LATCbits.LATC6=1;
LATCbits.LATC7=1;
delay_us(20);
LATCbits.LATC7=0;
LATCbits.LATC5=0;
LATCbits.LATC6=0;
}
void write_comm(unsigned char cmd_dat)
{
wait_free();
LATCbits.LATC5=0;
LATCbits.LATC6=0;
LATCbits.LATC7=1;
LATD=cmd_dat;
LATCbits.LATC7=0;
}
void write_data(unsigned char fdata)
{
wait_free();
LATCbits.LATC5=1;
LATCbits.LATC6=0;
LATCbits.LATC7=1;
LATD=fdata;
LATCbits.LATC7=0;
}
void main_init(void)
{
TRISC=0;
TRISD=0;
PORTC=0;
PORTD=0;
}
void lcd_init(void)
{
unsigned char i;
for(i=0;i<20;i++)
{ delay_10ms(); }
LATCbits.LATC4=1;
delay_10ms();
write_comm(0x30);
delay_us(200);
write_comm(0x30);
delay_us(100);
write_comm(0xc);
delay_us(200);
write_comm(0x1);
for(i=0;i<4;i++)
{ delay_10ms(); }
write_comm(0x06);
}
void main(void)
{
unsigned char i;
main_init();
lcd_init();
write_comm(0x92);
for(i=0;i<8;i++)
{
write_data(hztab[i]);
}
while(1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -