欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4261|回復: 9
打印 上一主題 下一主題
收起左側

OLED超聲波測距報警

  [復制鏈接]
跳轉到指定樓層
樓主
STC89系列單片機多路超聲波測距報警器
可按鍵分別設置幾路的報警距離,聲光報警。程序是四路的,我屏蔽了一路,喜歡的可以自己去DIY
不多說了,自己看圖,下面是部分代碼
這個論壇OLED資源非常少,現在1602/12864已經不好玩了,體積大,引腳多,OLED 屏幕非常好玩,可以自己做字庫。
關注我,每周都會發布作品。消息不回復的加我,論壇不是一直在線的,歡迎大家學習討論
QQ:1137035271




#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);                //顯示距離
        }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:165792 發表于 2019-1-9 20:00 | 只看該作者
謝謝分享
回復

使用道具 舉報

板凳
ID:92746 發表于 2019-8-18 22:04 | 只看該作者

謝謝分享
回復

使用道具 舉報

地板
ID:358049 發表于 2019-8-22 20:01 | 只看該作者
樓主牛人,大神
回復

使用道具 舉報

5#
ID:615848 發表于 2019-9-24 21:04 | 只看該作者
謝謝分享
回復

使用道具 舉報

6#
ID:615848 發表于 2019-9-24 21:04 | 只看該作者
哈哈謝謝分享
回復

使用道具 舉報

7#
ID:413065 發表于 2019-9-27 14:52 | 只看該作者
666,大神
回復

使用道具 舉報

8#
ID:604759 發表于 2019-10-6 12:45 | 只看該作者
謝謝分享
回復

使用道具 舉報

9#
ID:585085 發表于 2019-10-6 15:09 | 只看該作者
這是全部程序嗎,不是的話應該怎么下載
回復

使用道具 舉報

10#
ID:648535 發表于 2019-11-28 09:19 | 只看該作者
謝謝分享
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表