找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1884|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于c51單片機(jī)芯片的超聲波測(cè)距代碼+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
剛做的超聲波測(cè)距,分享一下放一段主函數(shù)

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

單片機(jī)源程序如下:
#include <REGX52.H>
#include "intrins.h"        
#include "Delay.h"
#include "Nixie.h"
#include "UART.h"
#include "SR04.h"
#include "stdio.h"

void main(void)
{
        int i=0;
        float x;                //用于接收測(cè)量距離單位mm
  uart_and_time_init();//串口初始化

        while(1)
        {
                if(i>100) //未接收數(shù)據(jù)時(shí)數(shù)碼管顯示上一次測(cè)量值
                {
                        trigger();//發(fā)送20us觸發(fā)信號(hào)
                        while(!Echo);                //當(dāng)RX為零時(shí)等待
                        TR0=1;                            //開啟計(jì)數(shù)
                        while(Echo);                        //當(dāng)RX為1計(jì)數(shù)并等待
                        TR0=0;                                  //關(guān)閉計(jì)數(shù)
                        x=Conut()*10;                        //向電腦傳遞距離,同時(shí)將測(cè)量值賦給x
                        i=0;
                }
                else
                {
                        Nixie(1,(unsigned int)x/1000);//顯示測(cè)量值千位

                        Nixie(2,(unsigned int)x%1000/100);//顯示測(cè)量值百位

                        Nixie(3,(unsigned int)x%100/10);//顯示測(cè)量值十位

                        Nixie(4,(unsigned int)x%10);//顯示測(cè)量值個(gè)位

                        i++;
                }
               
        }
}

Keil代碼與Proteus仿真下載:

HC-SR04超聲波模塊.zip

54.05 KB, 下載次數(shù): 48, 下載積分: 黑幣 -5

源代碼

超聲波仿真文件.zip

65.52 KB, 下載次數(shù): 36, 下載積分: 黑幣 -5

仿真

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表