标题:
OLED超声波测距报警
[打印本页]
作者:
梁光阳
时间:
2018-12-30 17:59
标题:
OLED超声波测距报警
STC89系列单片机多路超声波测距报警器
可按键分别设置几路的报警距离,声光报警。程序是四路的,我屏蔽了一路,喜欢的可以自己去DIY
不多说了,自己看图,下面是部分代码
这个论坛OLED资源非常少,现在1602/12864已经不好玩了,体积大,引脚多,OLED 屏幕非常好玩,可以自己做字库。
关注我,每周都会发布作品。消息不回复的加我,论坛不是一直在线的,欢迎大家学习讨论
QQ:1137035271
IMG_3325.JPG
(1.8 MB, 下载次数: 44)
下载附件
2018-12-30 17:53 上传
IMG_3328.JPG
(1.65 MB, 下载次数: 51)
下载附件
2018-12-30 17:53 上传
#include "REG51.h" //头文件
#include "oled.h" //OLED的头文件
#include "bmp.h" //显示图片的头文件
#define u8 unsigned char
#define u16 unsigned int
sbit Trig1 = P1 ^ 3; // 1
sbit Ecno1 = P1 ^ 0; //
sbit Trig2 = P1 ^ 4; // 2
sbit Ecno2 = P1 ^ 1; //
sbit Trig3 = P1 ^ 5; // 3
sbit Ecno3 = P1 ^ 2; //
sbit Trig4 = P1 ^ 6; // 4
sbit Ecno4 = P1 ^ 7; //超声波模块管脚定义
//sbit OLED_CS =P1^4; //片选
//sbit OLED_RST =P2^5;//复位
//sbit OLED_DC =P2^4;//数据/命令控制
//sbit OLED_SCL =P2^7;//时钟 D0(SCLK
//sbit OLED_SDIN =P2^6;//D1(MOSI) 数据
u16 time1=0;
u16 time2=0;
u16 time3=0;
u16 time4=0;
long S1=0;
long S2=0;
long S3=0;
long S4=0; //计算缓存变量
bit flag =0; //溢出标志位
sbit SS1=P3^3; //进入设置模式
sbit SS2=P3^4; //报警距离加
sbit SS3=P3^5; //距离减
sbit SS4=P3^6;
//sbit
//sbit
unsigned long BJS=50; //默认报警距离30CM
unsigned long BJS2=50; //默认报警距离30CM
unsigned long BJS3=50; //默认报警距离30CM
unsigned long BJS4=50; //默认报警距离30CM
char Mode=0; //模式 0正常模式 1调整
void delay(u16 x) //延时函数
{
u16 i,j;
for(i= x;i>0;i--)
for(j=110;j>0;j--);
}
void Int_Init()
{
TMOD=0x01;
TH0=0x00;
TL0=0x00;
TR0=1;
ET0=1;
EA=1;
}
void Key_Mode() //按键扫描/模式
{
if(SS1==0) //按键按下
{
delay(10); //延时去抖
if(SS1==0) //判断按键是否按下
{
OLED_Clear(); //清屏
}
Mode++; //模式加
if(Mode==2) //模式等于二
{
Mode=0; //模式归零/正常测量模式
// OLED_Clear(); //清屏
}
while(SS1==0); //松手检测
// OLED_ShowNum(60,4,BJS,3,16);
}
}
void Conut1(void) //第一路测距
{
time1=TH0*256+TL0; //储存定时计数器的值
TH0=0x00;
TL0=0x00; //清零
S1=time1*1.7/100; //计算距离
if(flag==1) //标志位置一/超出测量
{
flag=0; //标志位归零
OLED_ShowString(20,0,"---"); //第一行显示三杠,表示超量程
// OLED_ShowNum(60,0,S1,3,16);
// OLED_ShowString(75,0,"exceed");
}
else
{
OLED_ShowString(0,0,"A:"); //通道A
OLED_ShowString(50,0,"CM"); //单位
OLED_ShowNum(20,0,S1,3,16); //显示距离
}
作者:
a598089072
时间:
2019-1-9 20:00
谢谢分享
作者:
liuyuanhui0
时间:
2019-8-18 22:04
谢谢分享
作者:
zh386
时间:
2019-8-22 20:01
楼主牛人,大神
作者:
2399182280
时间:
2019-9-24 21:04
谢谢分享
作者:
2399182280
时间:
2019-9-24 21:04
哈哈谢谢分享
作者:
momouyt
时间:
2019-9-27 14:52
666,大神
作者:
HXN1
时间:
2019-10-6 12:45
谢谢分享
作者:
1524155907
时间:
2019-10-6 15:09
这是全部程序吗,不是的话应该怎么下载
作者:
libei
时间:
2019-11-28 09:19
谢谢分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1