資源簡介
基于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?呂建沖?實驗九?安防報警系統\
?????文件???????46356??2018-12-08?11:00??2016117147?呂建沖?實驗九?安防報警系統\2016117147?呂建沖?18實驗9.docx
?????文件????53771905??2018-12-17?11:51??2016117147?呂建沖?實驗九?安防報警系統\上位機.mp4
?????文件????11596251??2018-12-08?09:12??2016117147?呂建沖?實驗九?安防報警系統\實驗九震動?火焰?紅外.mp4
?????目錄???????????0??2019-02-24?14:05??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\
?????文件??????557176??2010-08-18?01:29??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\LCD12864A.dll
?????文件??????172093??2018-11-13?08:15??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\Last?Loaded?zhendong.DBK
?????目錄???????????0??2019-02-24?14:05??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\
?????文件????????5558??2018-11-16?11:46??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\1602.LST
?????文件????????6938??2018-11-16?11:46??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\1602.OBJ
?????文件????????2593??2018-11-14?17:18??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\1602.c
?????文件?????????396??2018-11-06?22:26??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\1602.h
?????文件????????6376??2009-05-07?14:37??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\STARTUP.A51
?????文件???????14052??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\STARTUP.LST
?????文件?????????749??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\STARTUP.OBJ
?????文件?????????247??2018-11-07?11:58??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\config.h
?????文件???????13338??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test
?????文件????????4919??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.LST
?????文件???????15064??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.M51
?????文件????????7815??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.OBJ
?????文件????????1451??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.build_log.htm
?????文件????????2222??2018-12-02?22:25??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.c
?????文件????????9684??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.hex
?????文件??????????54??2018-12-02?22:22??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.lnp
?????文件?????????271??2019-01-20?10:58??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.plg
?????文件???????73014??2018-11-21?19:04??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.uvgui.Admin
?????文件???????72041??2018-12-17?11:55??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.uvgui.Administrator
?????文件???????57334??2019-01-20?10:58??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.uvopt
?????文件???????13557??2019-01-20?10:58??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test.uvproj
?????文件????????5766??2018-12-02?19:58??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test_uvopt.bak
?????文件???????14172??2018-12-02?19:58??2016117147?呂建沖?實驗九?安防報警系統\家用安防系統\test\test_uvproj.bak
............此處省略7個文件信息
評論
共有 條評論