日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 單片機(jī) >> 正文

超聲波測(cè)距+溫度+報(bào)警的單片機(jī)代碼_51單片機(jī)超聲波測(cè)距C語(yǔ)言程序

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2023/8/6

可以測(cè)當(dāng)前距離,當(dāng)超過(guò)閾值距離時(shí),蜂蜜器報(bào)警,并且實(shí)時(shí)顯示溫度數(shù)據(jù),51單片機(jī)超聲波測(cè)距C語(yǔ)言程序

制作出來(lái)的實(shí)物圖如下:

源代碼資料下載 : www.shkcfs.com/Soft/mcu/92.html

 
單片機(jī)超聲波測(cè)距 

單片機(jī)超聲波測(cè)距 

單片機(jī)超聲波測(cè)距實(shí)驗(yàn) 
51單片機(jī)超聲波測(cè)距C語(yǔ)言程序部分代碼如下:

#include
#include 
#define uchar unsigned char
#define uint unsigned int
int num=0;
unsigned char table[]={"0123456789"};//顯示的數(shù)值
//   1602的引腳定義
sbit RW=P2^5; 
sbit RS=P2^6;  
sbit E=P2^7;   
//報(bào)警引腳定義
sbit feng=P2^4;
sbit led=P1^2;
sbit key1=P1^0;
sbit key2=P1^1;
int numm=0,nnum=0;
void delayms(unsigned int ms)
{
        unsigned char i=100,j;
        for(;ms;ms--)
        {
                while(--i)
                {
                        j=10;
                        while(--j);
                }
        }
}
bit flag;           //溫度變量
uint temp;
sbit ds=P1^3;  //溫度引腳
//超聲波位定義
sbit Trig = P2^1;
sbit Echo = P2^0;
uint time=0;
unsigned long S=0;
bit flagg=0;
void delay2(uchar p)
        {
          uchar l,k;
           for(l=p;l>0;l--)
              for(k=110;k>0;k--);
        }
void delay(uchar z)
{
    while(z--);
}
//溫度初始化函數(shù)                        
void ds_reste()          
{
        ds=1;
        delay(5);
        ds=0;
        delay(80);
        ds=1;
        delay(14);
        if(ds==0)                 //判斷ds總線被拉低
        flag=1;
        else 
        flag=0;
        delay(20);
}
//讀一位字節(jié)
bit ds_read_byte()        
{
         bit dat;
         ds=0;                
         _nop_();
         _nop_();
         ds=1;
         _nop_();
         dat=ds;         
         delay(10);
         return dat;
}
//讀一位字節(jié)
uchar ds_read()        
{
        uchar i,j,k;
      for(i=0;i<8;i++)
        {
        j=ds_read_byte();
        k=(j<<7)|(k>>1);
        }
         return k;
}
//寫(xiě)入數(shù)據(jù)
void ds_write(uchar dat)
{
         uchar i;
         for(i=0;i<8;i++)
    {
         ds=0;
         _nop_();
         ds=dat&0x01;
         delay(6);
         ds=1;
         dat=dat>>1;
        }
         delay(6);
}
//讀取溫度
uint read_temp()          
{
        uchar a,b;
        ds_reste();
        ds_write(0xcc);
        ds_write(0xbe);
        a=ds_read();
        b=ds_read(); 
        temp=b;
        temp=temp<<8;
        temp=temp|a;
        temp=temp*0.0625*10+0.5;                 
        return temp;
} 
//寫(xiě)入命令1602
void write_com(uchar com)           
{
        RS=0;
        RW=0;
        E=0;
        P0=com;           
        delay2(5);
        E=1;
        delay2(5);
        E=0;
}
//寫(xiě)入數(shù)據(jù) 1602
void write_data(uchar date)        
{
        RS=1;
        RW=0;
        E=0;
        P0=date;                
        delay2(5);
        E=1;
        delay2(5);
        E=0;
}
//1602初始化顯示
void init()                                 
{
    RS=0;
        write_com(0x38);
         write_com(0x0c);
         write_com(0x06);
        write_com(0x01);
        write_com(0x80);
}
//溫度在1602上顯示出來(lái)
void display(uint tempp)           
{  
         write_com(0x80+0x0b);                         
         write_data(table[tempp/100]);         
         delay2(0);
         write_com(0x80+0x0c);
         write_data(table[tempp%100/10]);           
         delay2(0);        
            write_com(0x80+0x0d);
         write_data('.');                           
         delay2(0);
            write_com(0x80+0x0e);
         write_data(table[tempp%100%10]);
         delay2(0);                                                         
         write_com(0x80+0x0f);
         write_data('C');                                    
         delay2(0);
         write_com(0x80+0x09);
         write_data('T');                                    
         delay2(0);
         write_com(0x80+0x0a);
         write_data(':');                                  
         delay2(0);
}

全部代碼到頁(yè)面下載 www.shkcfs.com/Soft/mcu/92.html
Tags:超聲波測(cè)距,51單片機(jī),單片機(jī),溫度  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒(méi)有了
  • 相關(guān)文章列表
    基于51單片機(jī)的SHT11溫濕度測(cè)量?jī)x設(shè)計(jì)(源碼+仿真+文檔)
    基于51單片機(jī)的恒溫控制器系統(tǒng) protues+keil c
    51單片機(jī)數(shù)碼管顯示程序, 共陰數(shù)碼管顯示程序 數(shù)碼管原理(顯示
    七段數(shù)碼管顯示原理研究_數(shù)碼管顯示0~9對(duì)應(yīng)的段碼
    單片機(jī)C語(yǔ)言編程入門(mén)教程  流水燈程序示例
    51單片機(jī)學(xué)習(xí)筆記直流電機(jī)驅(qū)動(dòng)(PWM)C語(yǔ)言程序
    MCU-51單片機(jī)直流電機(jī)驅(qū)動(dòng)(PWM)51單片機(jī)驅(qū)動(dòng)直流電機(jī)
    基于51單片機(jī)—多功能秒表,多功能計(jì)時(shí)器C語(yǔ)言程序
    STC89C52單片機(jī)數(shù)字電流表電壓表源碼與電路圖  51單片機(jī)電流電壓
    自學(xué)stm32單片機(jī)四個(gè)步驟,實(shí)用又高效!
    先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
    單片機(jī)最小系統(tǒng)介紹及電路設(shè)計(jì) STM32單片機(jī)最小系統(tǒng)
    什么是PIC單片機(jī)
    51單片機(jī)和STM32單片機(jī)的結(jié)構(gòu)有什么不同
    51單片機(jī)、AVR單片機(jī)和PIC單片機(jī)的IO口操作
    關(guān)于51單片機(jī)IO引腳的驅(qū)動(dòng)能力與上拉電阻
    為什么51單片機(jī)的晶振一般使用11.0592? 51單片機(jī)常用波特率初值表
    51單片機(jī)寄存器功能一覽表
    單片機(jī)寫(xiě)延時(shí)程序的幾種方法
    自學(xué)單片機(jī)編程之中斷與時(shí)鐘程序
    哈佛結(jié)構(gòu)與馮·諾伊曼結(jié)構(gòu)區(qū)別以及X86體系
    單片機(jī)萬(wàn)年歷:公歷日期與農(nóng)歷日期的相互轉(zhuǎn)換程序
    AVR定時(shí)器1的CTC模式設(shè)置
    單片機(jī)超聲波視覺(jué)識(shí)別系統(tǒng)的測(cè)量軟件開(kāi)發(fā),超聲波測(cè)距
    51單片機(jī)“呼吸燈”程序
    LCD1602的單片機(jī)驅(qū)動(dòng)詳解
    單片機(jī)時(shí)鐘電路原理
    51單片機(jī)入門(mén)之靜態(tài)數(shù)碼管電路設(shè)計(jì)
    基于stc89c52的4*4矩陣鍵盤(pán)輸入數(shù)碼管,一個(gè)小計(jì)算器
    單片機(jī)紅外遙控器設(shè)計(jì)
    請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱(chēng):
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    最新推薦
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁(yè)面
    下到頁(yè)底
    晶體管查詢(xún)
    主站蜘蛛池模板: 金华市| 青浦区| 三台县| 蒙山县| 昭苏县| 泾阳县| 广汉市| 资中县| 城口县| 安义县| 阳曲县| 仁化县| 左云县| 内江市| 甘孜| 沂南县| 康定县| 普陀区| 文登市| 象州县| 哈巴河县| 宁津县| 屏山县| 博湖县| 长宁区| 兴和县| 遂昌县| 赣州市| 密山市| 桐乡市| 上虞市| 长春市| 西乌| 田阳县| 海盐县| 汉阴县| 无棣县| 牙克石市| 乌恰县| 荆州市| 新乐市|