资源简介
基于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个文件信息
相关资源
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 基于51单片机的计算器(C51编写,有
- 基于51单片机的交通信号灯程序
- 基于51单片机的多通道数据采集范围控
- 基于51单片机的直流电机转速控制及显
- 基于51单片机的教室智能照明控制系统
- 基于51单片机的交通灯设计
- 基于51单片机的智能十字路口交通灯系
- 基于51单片机的超声波测距技术实现含
- 基于51单片机射频密码锁设计门禁刷卡
- 基于51单片机的十字路口交通灯Protu
- 基于51单片机的刷卡签到系统
- 基于51单片机的十字路口交通灯控制系
- 基于51单片机的直流电机PID控制
- 基于51单片机超声波测距毕业设计
- 基于51单片机电子万年历的设计
- 基于51单片机控制的婴儿电子驱蚊器的
- 基于51单片机的温度检测系统的设计与
- 基于51单片机的NRF2401无线火灾的报警
- 基于51单片机的脉搏监测系统
- 基于51单片机数控直流电源的设计
- 基于51单片机的led点阵显示屏设计
- 基于51单片机的火焰传感器检测与报警
- 基于51单片机的PID调温系统热得快
- 基于51单片机设计的简易电子琴.
- 基于51单片机室内环境检测仪.zip
- 基于51单片机的智能晾衣架设计.docx
- 基于51单片机的电机转速监测
评论
共有 条评论