|
這2個頭文件是自己原創(chuàng)的,函數(shù)都已經(jīng)封裝好了,可以在你的程序中直接調(diào)用,現(xiàn)在分享在51黑電子論壇,方便大家.分別實現(xiàn)了溫度讀取和液晶顯示的功能.
0.png (47.87 KB, 下載次數(shù): 105)
下載附件
2017-3-16 02:59 上傳
DS18B20.h和LCD1602.h頭文件下載:
DS18B20和lcd1602調(diào)試好的頭文件.rar
(2.36 KB, 下載次數(shù): 131)
2017-3-16 03:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
DS18B20.h頭文件內(nèi)容預(yù)覽:
LCD1602.h頭文件:
- /*1602液晶驅(qū)動程序*/
- //作者:詹磊
- //功能:能在1602液晶上顯示字符串(字母和阿拉伯?dāng)?shù)字)、自定義圖形(5x7點陣圖形)
- /*******************************************************************************/
- #ifndef __LCD1602_H__
- #define __LCD1602_H__
- #define uchar unsigned char
- #define uint unsigned int
- /*******************************************************************************/
- /*sbit RW_LCD=P2^1;
- sbit RS_LCD=P2^0;
- sbit E_LCD=P2^2;*/
- sbit RW_LCD=P2^5;//開發(fā)板上對印引腳
- sbit RS_LCD=P2^6;
- sbit E_LCD=P2^7;
- /**********************************字符表***************************************/
- uchar bmp_table1[8]=
- {
- 0x0E,0X1F,0X11,0X11,0X11,0X11,0X1F,0x00,//電池標(biāo)號:空
- // 0 1 2 3 4 5 6 7
- };
- uchar bmp_table2[8]=
- {
- 0x0E,0X1F,0X11,0X11,0X11,0X1F,0X1F,0x00,//電池標(biāo)號:一格
- // 0 1 2 3 4 5 6 7
- };
- uchar bmp_table3[8]=
- {
- 0x0E,0X1F,0X11,0X11,0X1F,0X1F,0X1F,0x00,//電池標(biāo)號:兩格
- // 0 1 2 3 4 5 6 7
- };
- uchar bmp_table4[8]=
- {
- 0x0E,0X1F,0X11,0X1F,0X1F,0X1F,0X1F,0x00,//電池標(biāo)號:三格
- // 0 1 2 3 4 5 6 7
- };
- uchar bmp_table5[8]=
- {
- 0x0E,0X1F,0X1F,0X1F,0X1F,0X1F,0X1F,0x00//電池標(biāo)號:四格
- // 0 1 2 3 4 5 6 7
- };
- uchar bmp_table6[8]=
- {
- 0x04,0X08,0X10,0X1F,0X1F,0X1F,0X1F,0x00//FM標(biāo)號
- // 0 1 2 3 4 5 6 7
- };
- uchar bmp_table7[8]=
- {
- 0x10,0X07,0X08,0X08,0X08,0X08,0X07,0x00//溫度標(biāo)號
- // 0 1 2 3 4 5 6 7
- };
- /*******************************************************************************/
- void delay_ms(uint z)//毫秒延時函數(shù)
- {
- uint i,m;
- for(i=z;i>0;i--)
- for(m=123;m>0;m--);
- }
- void delay_us(uint time)//微秒延時函數(shù)
- {
- while(time--);
- }
- /*******************************************************************************/
- uchar R_TEST_LCD()
- {
-
- bit i;
- RS_LCD=0;
- RW_LCD=1;
- E_LCD=1;
- delay_us(1);
- i=(bit)(P0&0x80);
- E_LCD=0;
- RW_LCD=0;
- RS_LCD=1;
- return i;
- }
- /*******************************************************************************/
- void W_CMD_LCD(uchar cmd)
- {
- while(R_TEST_LCD());
- RS_LCD=0;
- RW_LCD=0;
- P0=cmd;
- E_LCD=1;
- E_LCD=0;
- RW_LCD=1;
- RS_LCD=1;
- }
- /*******************************************************************************/
- void W_DAT_LCD(uchar dat)
- {
- while(R_TEST_LCD());
- RS_LCD=1;
- RW_LCD=0;
- P0=dat;
- E_LCD=1;
- E_LCD=0;
- RW_LCD=1;
- RS_LCD=0;
- }
- /*******************************************************************************/
- void position(uchar x,uchar y)//x為橫坐標(biāo);y為縱坐標(biāo)
- {
- if(y==1)
- {
- W_CMD_LCD(0x7F+x);
- }
- else
- {
- W_CMD_LCD(0xBF+x);
- }
- }
- /*******************************************************************************/
- void printf(uchar *dat,uchar x,uchar y)//顯示函數(shù);x為橫坐標(biāo);y為縱坐標(biāo)
- {
- position(x,y);//指定首字位置
- while(*dat>0)//當(dāng)加到頭時,指針指向NULL退出循環(huán)
- {
- W_DAT_LCD(*dat);//按指針?biāo)傅牡刂啡?nèi)容,寫入LCD寄存器
- dat++;//指針++
- }
- }
- /*******************************************************************************/
- void printf_Digital(uchar dat,uchar x,uchar y)//dat<99
- {
- position(x,y);
- W_DAT_LCD(dat/10+'0');
- W_DAT_LCD(dat%10+'0');
- }
- /*******************************************************************************/
- void W_CGRAM(uchar *dat,uchar n)
- {
- uchar i;
- W_CMD_LCD(0x40+n*8);
- for(i=0;i<8;i++)
- {
- W_DAT_LCD(*dat);//按指針?biāo)傅牡刂啡?nèi)容,寫入CGRAM
- dat++;//指針++
- }
- dat=0;
- }
- /*******************************************************************************/
- void LCD_init()
- {
- delay_ms(15);
- W_CMD_LCD(0x38);
- delay_ms(1);
- W_CMD_LCD(0x08);
- delay_ms(1);
- W_CMD_LCD(0x01);
- delay_ms(1);
- W_CMD_LCD(0x06);
- delay_ms(1);
- W_CMD_LCD(0x0C);
- W_CGRAM(bmp_table1,0);
- W_CGRAM(bmp_table2,1);
- W_CGRAM(bmp_table3,2);
- W_CGRAM(bmp_table4,3);
- W_CGRAM(bmp_table5,4);
- W_CGRAM(bmp_table6,5);
- W_CGRAM(bmp_table7,6);
- }
- /*******************************************************************************/
- // 沐雨迎風(fēng)設(shè) //
- // 2012/03/16 //
- /*******************************************************************************/
- #endif
復(fù)制代碼
|
|