LCD温度曲线显示
LCDLCD 温度曲线显示温度曲线显示 includereg51.h includeLCD12864.h void hua_zuobiaovoid;//画坐标 void delay1msuint k;//延时间 void TLC2543void;//2543 读数据子函数 void count_advoid;//1602 的显示 uchar code shuzi[]{0 x00,0 x80,0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01};//0--8 uchar code number[]{0123456789}; uchartab1[]{wendu49.99c };//9 10. 12 13 uchar code tab2[]{made of suwei }; unsigned long int ad; /////////////////// TLC2543 sbit clkP13;//时钟 sbit csP12;//1 变 0 时 TLC2543 复位 sbit adtainP11;//数据输入 sbit adtaoutP10;//数据输出 //////////////// void mainvoid { uchar x,y;//x 页 y 列 uchar i; uint j; uchar wendu30,dp;//温度//曲线的点 ///////////1602 init_1602; gotoxy1,0; fori0; i16;i write_LCD_datatab1[i]; gotoxy2,0; fori0;i16;i write_LCD_datatab2[i]; ///////////////12864LCD initi_LCD;// hua_zuobiao;//画坐标图 y12;//从 12 列开始 while1 { TLC2543;//2543 读数据子函数 count_ad;//lcd1602 的更新显示 delay1ms1; j; ifj50{j0; wenduad/100;//取温度的前 2 位 xwendu-1/8; x6-x; dpwendu-181; ify64 { set_adrx,y; wdatashuzi[dp],1,0; } else { set_adrx,y-64; wdatashuzi[dp],0,1; } y;//列 ify128{y12;// clear;//清屏 hua_zuobiao;//画坐标图 } //////////// /*i0; initi_LCD; hua_zuobiao;//画坐标 set_adr3,12; y3;c13; while1 { i; c; ifi8 { i0; yy-1; ify0y7; temp0 xb8y; wcodetemp,1,1; } ifc64 set_adrtemp,0; ifc127 while1; ifc64 wdatashuzhi[i],0,1; else wdatashuzhi[i],1,0; delay1ms100; } } *//////////////// } // } ////1602 的显示 void count_advoid { uchar i; uint temp; tempad; tab1[13]number[temp10]; temptemp/10; tab1[12]number[temp10]; temptemp/10; tab1[10]number[temp10]; temptemp/10; tab1[9] number[temp10]; gotoxy1,0; fori0; i16;iwrite_LCD_datatab1[i]; } ////////////////////////////////// void TLC2543void//2543 读数据子函数 {uchar i;//输入数据为 0 x00//0 x10 为第一通道 ad0; clk0; cs0; fori0; i12;i { ifadtaout1adad|0 x01;//读出数据 adtain0;//写入数据 clk1; clk 0; ad1;//左移一位 } cs1; ad1;//数据存在 ad 里 adad*1000/819; //tempad*5000/4095; } /////////////////////////// void hua_zuobiaovoid//画坐标 { uchar j; int i; forj0;j8;j//页码 { set_adrj,0; fori1;i64;i { wdatazuobiao[ij*128],1,0; wdatazuobiao[63ij*128],0,1; } } } //////////////////////// void delay1msuint k//延时间 { kk*125; while--k; } //////////// 调用子程序 includereg51.h define _LCD12864_h define uchar unsigned char define uint unsigned int void delayuint k;//延时 void wcodeuchar com,uchar cs1,uchar cs2;//写指令 void wdatauchar da,uchar cs1,uchar cs2;//写数据 void set_startlineuchar i;//起始行 void set_adruchar x,uchar y;//页值设置 void clearvoid;///clear 清屏 void initi_LCDvoid;//初始化 LCD //////////单片机与液晶显示的引脚连接///////// // sbit RSTP22; 起始列值函数 sbit CS2P20; sbit CS1P21; sbitRSP22;//或 DI sbit RWP23; sbitEP24; //P0 口为数据口 ////////////////////////////// void initi_LCDvoid//初始化 LCD { wcode0 x3f,1,1;//显示开//0 x3e 关 set_startline0;//起始行第 0 行 clear;//清屏 } /////////////////////// void delay uint k//延时 { whilek--; } ////