資源簡介
基于51單片機的傳感器使用,文件附有本人親自測試代碼,講解文檔,以及代碼詳細備注,大家有什么不清楚的地方歡迎咨詢。

代碼片段和文件信息
#include?<1602.h>
sbit?LCDEN=P3^4;
sbit?RS=P3^5;
//RW直接接地,只允許寫不允許讀
sbit?BF=P0^7;
//u8?DectectBusyBit(void)//狀態判斷函數(忙/閑?)
//{???
// bit?result;
// P0?=?0xff; //讀狀態前先置高電平,防止誤判
// RS?=?0;
// delay_ms(5);
//????RW?=?1;
// LCDEN?=?1;
// delay_ms(5);
// result=BF;?//若LCM忙則反復測試在此處原地踏步;當LCM閑時,才往下繼續
// LCDEN?=?0;
// return?result; ??????
//}
//u8?RdACAdr(void)//讀當前光標地址
//{???
// u8?result;
// P0?=?0xff; //讀地址前先置高電平,防止誤判
// RS?=?0;
// delay_ms(5);
//????RW?=?1;
// LCDEN?=?1;
// delay_ms(5);
// result=P0&0x7f;?//去掉最高位忙閑標記,只保留低7位地址值
// LCDEN?=?0;
// return?result; ??????
//}?
void?WrComLCD(u8?ComVal)//寫命令函數
{
// while(DectectBusyBit()==1);?????????//先檢測LCM是否空閑
RS?=?0;
delay_ms(1);
//??RW?=?0;
LCDEN?=?1;
P0?=?ComVal;
delay_ms(1);
LCDEN?=?0;
}
void?WrDatLCD(u8?DatVal)//寫數據函數
{
// while(DectectBusyBit()==1);?
RS?=?1;
delay_ms(1);
//??RW?=?0;
LCDEN?=?1;
P0?=?DatVal;
delay_ms(1);
LCDEN?=?0;
}
void?LCD1602_Init(void)//1602初始化函數
{?
WrComLCD(0x38);?????//?功能設定:16*2行、5*7點陣、8位數據接口
WrComLCD(0x38);
WrComLCD(0x38);????
//多次重復設定功能指令因為LCD啟動后并不知道使用的是4位數據接口還是8位的,所以開始時總是默認為4位,這樣剛開始寫入功能設定指令時,低4位被忽略為了可靠,最好多寫幾遍該指令?
WrComLCD(0x01);????//?清屏?
WrComLCD(0x06);????//?光標自增、屏幕不動??
delay_ms(1); ??????//?延時,等待上面的指令生效,下面再顯示,防止出現亂碼
WrComLCD(0x0C);????//?開顯示、關光標
delay_ms(5);
}
void?LCD1602pos(u8?xu8?y)//1602顯示坐標定位函數:x為行標,0:第一行,1:第二行;y為列標,0-15
{
u8?t;
t=x?0x40:0x00;
WrComLCD(0x80+t+y);??
}
void?LCD1602_disstr(u8?*pu8?xu8?y)//從指定坐標開始顯示英文字符串(長度不超過32)
{
u8?i=0t;
????LCD1602pos(xy);
while(p[i]!=‘\0‘)
{??
?? WrDatLCD(p[i]);
i++;
delay_ms(5);
// t=RdACAdr();
????//??if(t==0x10)?LCD1602pos(10);//讀當前坐標,如果第1行寫完換行到第2行
// if(t==0x50)?LCD1602pos(00);//讀當前坐標,如果第2行寫完換行到第1行
????
????if(y+i==16)?{x=x^0x01;LCD1602pos(x0);}//x=x^0x01;//如果第1行寫完換行到第2行如果第2行寫完換行到第1行
}
}
void?LCD1602_disch(u8?chu8?xu8?y)//顯示一個英文字符
{
??? LCD1602pos(xy);
WrDatLCD(ch);
delay_ms(5);
}
void?LCD1602_clear(void)//1602清屏函數
{
? WrComLCD(0x01);????//?清屏
}?
void?LCD1602_backspace(void)//向左刪除一個字符
{
? WrComLCD(0x10);//光標左移
WrDatLCD(‘?‘);//輸出空格
WrComLCD(0x10);//光標左移
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-02-24?14:05??2016117147?呂建沖?實驗五????聲控光控燈\
?????文件???????66783??2018-11-25?10:35??2016117147?呂建沖?實驗五????聲控光控燈\201617117?呂建沖?18實驗5.docx
?????目錄???????????0??2019-02-24?14:05??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\
?????文件??????557176??2010-08-18?01:29??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\LCD12864A.dll
?????文件??????180792??2018-11-12?22:58??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\Last?Loaded?zhendong.DBK
?????目錄???????????0??2019-02-24?14:05??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\
?????文件????????5778??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\1602.LST
?????文件????????7170??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\1602.OBJ
?????文件????????2593??2018-11-08?08:34??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\1602.c
?????文件?????????396??2018-11-06?22:26??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\1602.h
?????文件????????6376??2009-05-07?14:37??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\STARTUP.A51
?????文件???????14051??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\STARTUP.LST
?????文件?????????758??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\STARTUP.OBJ
?????文件?????????269??2018-11-12?22:41??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\config.h
?????文件???????10046??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\pcf8591.LST
?????文件???????10180??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\pcf8591.OBJ
?????文件????????6025??2018-11-12?22:52??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\pcf8591.c
?????文件?????????215??2018-11-12?22:52??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\pcf8591.h
?????文件???????27166??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test
?????文件????????7142??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.LST
?????文件???????27917??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.M51
?????文件????????8418??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.OBJ
?????文件????????2118??2018-11-21?11:59??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.build_log.htm
?????文件????????2315??2018-11-21?12:00??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.c
?????文件????????6467??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.hex
?????文件??????????83??2018-12-02?09:12??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.lnp
?????文件?????????276??2019-01-20?10:43??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.plg
?????文件???????75067??2018-11-25?10:51??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.uvgui.Admin
?????文件???????70778??2018-12-02?17:57??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.uvgui.Administrator
?????文件???????57190??2019-01-20?10:43??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.uvopt
?????文件???????13887??2019-01-20?10:43??2016117147?呂建沖?實驗五????聲控光控燈\光敏傳感器控制燈\test\test.uvproj
............此處省略11個文件信息
評論
共有 條評論