TSL2561LCD结合显示.docx

上传人:scccc 文档编号:14040582 上传时间:2022-01-31 格式:DOCX 页数:18 大小:16.08KB
返回 下载 相关 举报
TSL2561LCD结合显示.docx_第1页
第1页 / 共18页
TSL2561LCD结合显示.docx_第2页
第2页 / 共18页
TSL2561LCD结合显示.docx_第3页
第3页 / 共18页
TSL2561LCD结合显示.docx_第4页
第4页 / 共18页
TSL2561LCD结合显示.docx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《TSL2561LCD结合显示.docx》由会员分享,可在线阅读,更多相关《TSL2561LCD结合显示.docx(18页珍藏版)》请在三一文库上搜索。

1、#include#includc /TSL2561 地址#dcfinc uchar unsigned char#dcfinc uint unsigned int设缶读写地址#dcfinc SLAVE_ADDR_WR 0x52#dcfinc SLAVE_ADDR_RD ()x53命令控制寄存器#dcfinc CONTROL ()x80#/dcfinc TIMING 0x81#dcfinc DATAOLOW 0x8C#dcfinc DATA0H1GH 0x8D#dcfinc DATA1LOW 0x8E#dcfinc DATA1H1GH 0x8F uchar DataLo),DataHigh(),D

2、ataL()wl ,DataHighl ,commad;long double Channel。,Channell;unsigned long tcmp=(),wct=();float ratio;unsigned char lc6;/LCD控制脚sbit LCD RS = P2人5;sbit LCD RW = P2A6;sbit LCD EN = P2人7;sbit sda = P2A0;sbit scl = P2A1;void delay。;uchar code cdis3 = nguangzhaoshiyann;uchar code cdis4 = nqdu:Lux;#dcnc dcla

3、yNOPO _nop_0 ;_nop_0 ;_nop_() ;_nop_0 ;void delayI (int ms)|unsigned char y ;while (ms-)for(y=0;y();a)for(b=l ()0;b();b);*/* 检 查 LCD 忙 状 态*/*lcd_busy为1时,忙,等待。Icd-busy为。时,闲,可写指令与数据。*/I *Ibit lcd_busyObit result;LCD RS = 0 ;LCD_RW = 1 ;LCD EN = 1 ;ciclayNOPQ ;result = (bit)(P0&0x80);LCD EN = 0 ;return

4、(result);/* 写 指 令 数 据 到 LCD*/*RS=L, RW=L,已=高脉冲,口()-口7=指令码。*/I *Iwhile(lcd_busyO);LCD RS = 0;LCD RW = 0;LCD EN = ();_nop_0 ;_nop_0 ;PO = cmd ;dclayNOPO ;LCD EN = 1 ;dclayNOPO ;LCD EN = ();|I *!/*写显示数据到LCD*/*RS=H, RW=L,6=高脉冲,D0-D7=数据。*/*void lcd_wdat(uchar dat)while(lcd_busyO);LCD_RW = 0;LCD EN = ();P

5、O = dat;dclayNOPQ ;LCD EN = 1 ;dclayNOPO ;LCD EN = ();/*LCD 初 始 化 设 定*/*/void lcd_initQdelay1 (15);lcd_wcmd()x()l); 清除LCD的显示内容lcd_wcmd()x38) ;/16*2 显示,5*7 点阵,8 位数据delay1 (5);lcd_wcmd(0x38);delay1 (5);lcd_wcmd(0x38);delay1 (5);lcd_wcmd()x()c);delay1 (5);lcd_wcmd(OxO6);dclayl (5);lcd_wcmd(0x01);dclayl

6、 (5);/*设定显示位置显示开,关光标移动光标/清除LCD的显示内容*/I *1void lcd_pos(uchar pos)lcd_wcmd(pos | 0x80); 数据指针=80+地址变量void start。sda=l;delay 0; scl=l;delay ;sda=();delay 0;void stopOsda=();delay 0; scl=l;delay 0; sda=l;delay 0;void responsQuchar i;scl=l;delay 0;whilc(sda=l)&(i250)i+; scl=();delay 0;void write_bytc(unsi

7、gned char date)uchar i;for(i=();i8;i+)|scl=();datc=l;sda=CY;delay。;scl=l;delay。;scl=();delay。;sda=l; /释放资源delay。;uchar rcad_byte()uchar i,k=();scl=O;delay。;sda=l; /释放资源delay。;for(i=0;i0)&(ratio0.5)&(ratio0.61)&(ratio0.8)&(ratio=1.3)tcmp=().()()l 46*Channcl()-0.()0112*Channell;else|tcmp=();ratio=();v

8、oid ciisp(void)/显示函数wct=tcmp;tcmp=();lc()=wet%10; /最低位wet=wet/1();lcl=wet%10; /第二位 wet=wet/10;lc2=wet%10; /第三位wet=wet/10;lc3=wet%10;lcd_pos(0x47);lcd_wdat(lc 3 +48);lcd_pos(0x48);lcd_wdat(lc2 +48);lcd_pos(0x49);lcd_wdat(lcl +48);lcd_pos(0x4a);lcd_wdat(lc0 +48);delays (100);void gzh_Mcnu 0显示湿度的菜单|uchar m;lcd_pos(0);设置显示位置为第一行的第1个字符m = 0;whilc(cdis3m != 0)lcd_wdat(cdis3m);lcd_pos(0x40);/显示字符/设置显示位置为第二行第1个字while(cdis4m != lOf)lcd_wdat(cdis4m);显示字符void main()lcd_initQ;gzh_Mcnu();TSL2561_Write(CONTROL,Ox03); 设置 TSL2561 未开启状while(l)Rcad_Light();dispO; /delayl(lOO);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1