#include #include
typedef unsigned int uint;
typedefunsigned char uchar;
本文引用地址:http://www.104case.com/article/201611/322564.htmsbit LCD_RS=P2^0;
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^2;
sbit IRINPUT=P3^2;
uchar code Display_LINE0[]={"VALUE FROM IR:"};
ucharDisplay_LINE1[]={"IR CODE:H"};
uchar IR_Input_Buffer[8];
uchar Display_Buffer[3]={0x00,0x00};//數碼管顯示緩沖
void _delay_us(uint x)
{
uchar i;
while(x--)
for(i=0;i<13;i++);
}
void _delay_ms(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i=0;i<120;i++);
}
}
uchar LCD_Busy(void)//測忙
{
uchar LCD_Status;//返回值變量
LCD_RS=0;//讀取狀態
LCD_RW=1;
LCD_EN=1;
_nop_();_nop_();_nop_();_nop_();
LCD_Status=P0;
LCD_EN=0;
return LCD_Status;
}
void LCD_Write_Command(uchar cmd)//寫指令
{
while((LCD_Busy()&0x80)==0x80);//測忙
LCD_RS=0;//
LCD_RW=0;
LCD_EN=0;
P0=cmd;
LCD_EN=1;
_nop_();_nop_();
LCD_EN=0;
_nop_();_nop_();
}
void LCD_Write_Data(uchar dat)//寫數據
{
while((LCD_Busy()&0x80)==0x80);
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P0=dat;
LCD_EN=1;
_nop_();_nop_();
LCD_EN=0;
_nop_();_nop_();
}
void Init_LCD(void)//液晶初始化
{
_delay_ms(15);
LCD_Write_Command(0x38);
_delay_ms(5);
LCD_Write_Command(0x06);
_delay_ms(5);
LCD_Write_Command(0x0c);
_delay_ms(5);
LCD_Write_Command(0x01);
_delay_ms(5);
}
void LCD_POS(uchar pos)//字符顯示位置
{
LCD_Write_Command(0x80|pos);
}
void Show_String(uchar *str)//顯示字符串
{
while(*str!=
主站蜘蛛池模板:
石棉县|
太保市|
亳州市|
延安市|
水城县|
临城县|
鹤庆县|
新津县|
定兴县|
兖州市|
泾川县|
新建县|
潜江市|
灌阳县|
揭阳市|
西藏|
广安市|
崇信县|
灵山县|
深州市|
和政县|
延安市|
沈丘县|
潜山县|
谷城县|
泌阳县|
芮城县|
云和县|
岐山县|
庐江县|
米脂县|
平舆县|
天水市|
溧阳市|
会同县|
西丰县|
吉林市|
蒙阴县|
上饶县|
宝兴县|
光山县|