基于12864及18B20的温度液晶显示完整版本.docx
- 文档编号:29463731
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:24
- 大小:20.88KB
基于12864及18B20的温度液晶显示完整版本.docx
《基于12864及18B20的温度液晶显示完整版本.docx》由会员分享,可在线阅读,更多相关《基于12864及18B20的温度液晶显示完整版本.docx(24页珍藏版)》请在冰豆网上搜索。
基于12864及18B20的温度液晶显示完整版本
基于12864及18B20的温度液晶显示
#include
#include
#include
#include
#include
/*-------------------Definetheregistercommandcode----------------------*/
#defineDisp_On0x3f
#defineDisp_Off0x3e
#defineCol_Add0x40
#definePage_Add0xb8
#defineStart_Line0xc0
#defineLcd_BusP0
#defineucharunsignedchar
#defineuintunsignedint
uchart1,t2,t3,ser;
sbitDS=P2^2; /*----------与单片机的单总线接口--------*/
uinttemp; /*----------可变温度值------------------*/
ucharflag1; /*----------温度正负标志----------------*/
sbitMcs=P3^7;
sbitScs=P2^4;
sbitEnable=P3^4;
sbitDi=P3^5;
sbitRW=P3^6;
sbitLcd_Rst=P2^1;
sbitDIO=P2^5;
sbitDU=P2^6;
sbitWE=P2^7;
charcodeezk[]=
{
0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,//-0-
0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,
0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,//-1-
0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,//-2-
0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,//-3-
0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,//-4-
0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,//-5-
0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,//-6-
0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,//-7-
0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,
0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,//-8-
0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,//-9-
0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,
/*-----------0x30,0x30-----':
'已改为'.'-----*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,
};
ucharcodeFirstPage[]=
{
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x30,0x10,0x80,0x30,0x10,0x80,0xC8,0xB0,
0xB0,0x76,0xC8,0xE8,0x76,0x99,0x7C,0x7E,0x9F,0x79,0x7C,0x7E,0x79,0x3E,0x1C,0x09,
0x37,0x13,0x09,0x0E,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x20,0x20,0x00,0x23,0x32,0x98,0x44,0x63,0x33,0x9C,0x23,0x75,0xCC,0x03,0x25,
0x34,0x1B,0x04,0x26,0x33,0x04,0x82,0x03,0x30,0x03,0x80,0x80,0x40,0x08,0x98,0x80,
0x40,0x40,0x00,0x80,0x40,0xC0,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0x00,0x00,0x80,
0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x20,
0x60,0xC0,0x02,0x12,0x98,0xC0,0xCC,0x85,0x20,0xEC,0xF0,0xF9,0xE4,0xFC,0xFC,0xFD,
0xFE,0xFC,0xFC,0xFF,0xFE,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,
0xFF,0xFE,0xFF,0xFF,0xFE,0xFC,0xFE,0xFE,0xF0,0xF8,0xF0,0xF0,0x20,0x00,0x00,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x06,
0x06,0x60,0x08,0x4D,0xED,0xF8,0xFE,0xFF,0xFF,0x1F,0x9F,0x9F,0x0F,0x67,0x63,0x01,
0x00,0x48,0x6D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xE7,0xF3,0x81,0xC9,
0xED,0xE7,0xF3,0xE2,0xE0,0x31,0x69,0x2D,0xDF,0x8F,0xD7,0x93,0x03,0x0F,0x0F,0x6E,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x08,
0x08,0x60,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0x79,0xB6,0xB8,0x78,0x96,0x78,0x78,0x33,
0x78,0x38,0x18,0x68,0x99,0xBB,0x1F,0x3F,0x1F,0x0F,0x3F,0x1F,0x0F,0x0F,0x07,0x07,
0x03,0x01,0x06,0x05,0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x01,0x00,0x1B,0x01,0x00,0x06,0x00,0x00,0x06,0x00,0x04,0x04,0x01,0x00,0x02,0x03,
0x00,0x04,0x04,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
ucharcodeSecondPage[]= //数据表64*64
{
0xFF,0x03,0x01,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,
0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x01,0xFF,0xFF,
0xFF,0x0F,0x03,0x01,0x39,0x19,0x39,0x39,0x39,0x19,0x19,0x09,0x1B,0xFF,0xC1,0x81,
0x8F,0x9F,0x9F,0x9F,0x9F,0x01,0x01,0x1F,0x9F,0x9F,0x9F,0x9F,0x81,0xC1,0xF3,0xFF,
0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,
0xFF,0x00,0x00,0x00,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xC0,0x60,0xF8,0xFF,0x03,0x01,
0x48,0xCC,0xCC,0xCC,0xCC,0x00,0x00,0x48,0xCC,0xCC,0xCC,0x48,0x01,0x01,0xCF,0xFF,
0xFF,0xC0,0x80,0x80,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x9F,0x00,
0x00,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xFC,0xFC,0xFF,0xFF,
0xFF,0x00,0x00,0x00,0x78,0x78,0x78,0x78,0x78,0x78,0x00,0x00,0xC0,0xFF,0x0F,0x06,
0x44,0xE4,0xE4,0xE4,0xE4,0x00,0x00,0xE4,0xE4,0xE4,0xE4,0xE4,0x06,0x0E,0xFF,0xFF,
0xFF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xC0,
0xC0,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xFF,0xFF,
0xFF,0xC0,0xC0,0xE0,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xC6,0xC0,
0xE0,0xFF,0xFF,0xFF,0xFF,0xC0,0xC0,0xFF,0xFF,0xFF,0xFF,0xF0,0xC0,0xC4,0xFF,0xFF,
0xFF,0xFF,0xE0,0x00,0x01,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x7D,
0x78,0x78,0x38,0x38,0x28,0x00,0x00,0x20,0x38,0x38,0x38,0x19,0x01,0x83,0xE7,0xFF,
0xFF,0x0B,0x09,0x19,0x99,0x99,0x99,0x99,0x99,0x99,0x19,0x09,0x09,0xF9,0xF9,0x09,
0x09,0xF9,0xFF,0xDB,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x89,0x19,0x39,0xFF,0xFF,
0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE,0xFF,0xFE,0xFE,0xFE,0xFF,0xF1,
0xE0,0xC0,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8E,0x8F,0x1F,0x3F,0x7F,0xFF,
0xFF,0xDC,0x08,0x88,0x83,0x83,0x83,0x83,0x83,0x81,0x89,0x88,0x0C,0x8F,0x8F,0x40,
0x40,0xCF,0xFF,0x7B,0x33,0x13,0x93,0x93,0x81,0x81,0x91,0x91,0x18,0x3C,0xFF,0xFF,
0xFF,0xFF,0x3F,0x00,0x00,0xC0,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,0xC7,
0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0xFC,0xFF,
0xFF,0xC0,0x80,0x18,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x00,0x80,0xFF,0xFF,0x00,
0x00,0xFF,0xFF,0xFC,0x80,0x01,0x1F,0x8F,0x07,0x23,0xF3,0xF3,0xF8,0xF8,0xFF,0xFF,
0xFF,0xFF,0xF0,0xE0,0xC0,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0xCF,0x8F,0xCF,
0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xC0,0xC0,0xDF,0xFF,
0xFF,0xDF,0xCF,0xC7,0xE7,0xE7,0xE7,0xE3,0xE3,0xE7,0xE7,0xC7,0xC7,0xCF,0xC7,0xE0,
0xF0,0xFF,0xFF,0xEF,0xC0,0xE0,0xFE,0xFF,0xFE,0xFC,0xF8,0xF1,0xE3,0xC7,0xFF,0xFF
};
/*------------------延时子程序-----------------------------*/
voiddelay(uintt)
{
uinti,j;
for(i=0;i for(j=0;j<10;j++); } /*------------------写命令到LCD------------------------------*/ voidwrite_com(ucharcmdcode) { Di=0; RW=0; Lcd_Bus=cmdcode; delay(0); Enable=1; delay(0); Enable=0; } /*-------------------写数据到LCD----------------------------*/ voidwrite_data(ucharDispdata) { Di=1; RW=0; Lcd_Bus=Dispdata; delay(0); Enable=1; delay(0); Enable=0; } /*------------------清除内存---------------*/ voidClr_Scr() { ucharj,k; Mcs=1;Scs=1; write_com(Page_Add+0); write_com(Col_Add+0); for(k=0;k<8;k++) { write_com(Page_Add+k); for(j=0;j<64;j++) write_data(0x00); } } /*---------------------指定位置显示8*16数字-----------------------*/ /* 使用全部ASCII字符x=(order-0x20)*16 */ /*------------同时main中数字abcdef应分别加0x30--------------------*/ voidez_disp(ucharpag,ucharcol,ucharorder) { uchari=0; ucharj=0; uintx; x=(order-0x30)*16; for(j=0;j<2;j++) { write_com(Page_Add+pag+j); write_com(Col_Add+col); for(i=0;i<8;i++) { write_data(ezk[x]); x++; } } } /*-----------------指定位置显示x*y的点阵图片-------------------*/ voidDisp_Img(ucharpag,ucharcol,ucharcode*zk) { ucharj=0,i=0; uchark=0; for(j=0;j<8;j++) { write_com(Page_Add+pag+j); write_com(Col_Add+col); for(i=0;i<64;i++) write_data(zk[64*j+i]); } } voiddadian(ucharpag,ucharcol,ucharx) { ucharj=0,i=0; for(j=0;j<1;j++) { write_com(Page_Add+pag+j); write_com(Col_Add+col); write_data(x); } } /*------------------初始化LCD屏--------------------------*/ voidinit_lcd() { Lcd_Rst=0; delay(100); Lcd_Rst=1; delay(100); Mcs=1; Scs=1; delay(100); write_com(Disp_Off); write_com(Page_Add+0); write_com(Start_Line+0); write_com(Col_Add+0); write_com(Disp_On); } voidInit_Com(void) { TMOD=0x20; PCON=0x00; SCON=0x50; TH1=0xFd; TL1=0xFd; TR1=1; } voiddsreset(void) //sendresetandinitializationcommand { uinti; DS=0; i=103; while(i>0)i--; DS=1; i=4; while(i>0)i--; } bittmpreadbit(void) //readabit { uinti; bitdat; DS=0; i++; //i++fordelay DS=1; i++; i++; dat=DS; i=8; while(i>0) i--; return(dat); } uchartmpread(void) //readabytedate { uchari,j,dat; dat=0; for(i=1;i<=8;i++) { j=tmpreadbit(); dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里 } return(dat); } voidtmpwritebyte(uchardat) //writeabytetods18b20 { uinti; ucharj; bittestb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //write1 {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 12864 18 B20 温度 液晶显示 完整 版本
![提示](https://static.bdocx.com/images/bang_tan.gif)