• 大小: 61.89MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-11
  • 语言: 其他
  • 标签:

资源简介

基于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个文件信息

评论

共有 条评论