#include
typedefunsigned int uint;
typedef unsigned charuchar;
本文引用地址:http://www.104case.com/article/201611/322561.htmsbit LCD_RS=P2^0;
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^2;
sbit DQ=P3^4;
uchar Temp_Value[]={0x00,0x00};
uchar Temp=0;
uchar Display_Digit[]={0,0,0,0};
bit DS18B20_IS_OK=1;
uchar code df_tab[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};//decimal fraction
uchar code Display_LINE0[]={" Current Temp:"};
uchar Display_LINE1[]={" Temp:"};
void _delay_ms(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i=0;i<125;i++);
}
}
void _delay_us(uint x)
{
while(--x);
}
bit LCD_Busy(void)//測忙
{
bit LCD_Status;//返回值變量
LCD_RS=0;//讀取狀態
LCD_RW=1;
LCD_EN=1;
_nop_();_nop_();_nop_();_nop_();
LCD_Status=(bit)(P0&0x80);
LCD_EN=0;
return LCD_Status;
}
void LCD_Write_Command(uchar cmd)//寫指令
{
while(LCD_Busy());
LCD_RS=0;//
LCD_RW=0;
LCD_EN=0;
_nop_();_nop_();
P0=cmd;
_nop_();_nop_();_nop_();_nop_();
LCD_EN=1;
_nop_();_nop_();_nop_();_nop_();
LCD_EN=0;
}
void LCD_Write_Data(uchar dat)//寫數據
{
while(LCD_Busy());//每次寫數據操作之前均需要檢測忙信號
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P0=dat;
_nop_();_nop_();_nop_();_nop_();
LCD_EN=1;
_nop_();_nop_();_nop_();_nop_();
LCD_EN=0;
}
void Init_LCD(void)//液晶初始化
{
_delay_ms(15);//延時15MS
LCD_Write_Command(0x38);
_delay_ms(5);
LCD_Write_Command(0x38);
_delay_ms(5);
LCD_Write_Command(0x38);//以后每次寫指令操作之前均需要檢測忙信號
while(LCD_Busy());
_delay_ms(5);
LCD_Write_Command(0x01);//清屏
while(LCD_Busy());
_delay_ms(5);
LCD_Write_Command(0x38);//設置16*2顯示,5*7點陣,8位數據接口
_delay_ms(5);
while(LCD_Busy());
LCD_Write_Command(0x0c);//開顯示,不顯示光標
_delay_ms(5);
while(LCD_Busy());
LCD_Write_Command(0x06);//當讀或寫一個字符后地址指針加一,且光標加一
}
void LCD_POS(uchar pos)//字符顯示位置
{
LCD_Write_Command(0x80|pos);
}
void Show_String(uchar *str)//顯示字符串
{
while(*str!=
主站蜘蛛池模板:
河曲县|
泽州县|
通化市|
新密市|
卓资县|
冀州市|
新蔡县|
新源县|
社旗县|
清镇市|
临猗县|
邢台县|
东明县|
长葛市|
连平县|
桃园县|
漾濞|
留坝县|
东乡族自治县|
逊克县|
昌图县|
高要市|
濮阳县|
芮城县|
昌都县|
华坪县|
碌曲县|
临湘市|
阜宁县|
台江县|
景泰县|
盐边县|
资溪县|
佛坪县|
泰州市|
镇平县|
海南省|
维西|
舟山市|
宜都市|
江山市|