91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

HC-SR04 超聲波測(cè)距 資料 例程代碼 51單片機(jī) 絕對(duì)能用

資源截圖

代碼片段和文件信息


/*============================================================
//HC-SRO4?超聲波測(cè)距模塊?DEMO?程序
//??QQ:?517535000
//淘寶店鋪:http://shop58246706.taobao.com
?????
==============================================================
SMC1602A(16*2)模擬口線接線方式
連接線圖:
???????---------------------------------------------------
???????|LCM-----51???| LCM-----51???| LCM------51??????|
???????--------------------------------------------------|
???????|DB0-----P1.0?| DB4-----P1.4?| RW-------P3.4????|
???????|DB1-----P1.1?| DB5-----P1.5?| RS-------P3.3????|
???????|DB2-----P1.2?| DB6-----P1.6?| E--------P3.5????|
???????|DB3-----P1.3?| DB7-----P1.7?| VLCD接1K電阻到GND|
???????---------------------------------------------------
接線:模塊TRIG接?P2.6??ECH0?接P2.7

本程序源碼只供學(xué)習(xí)參考,不得應(yīng)用于商業(yè)用途,如有需要請(qǐng)聯(lián)系作者。

[注:AT89x51使用12M或11.0592M晶振實(shí)測(cè)使用11.0592M]
=============================================================*/
#include?“reg52.H“ //器件配置文件
#include?“intrins.h“
#define?Busy????0x80?//用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)

sbit??RX=P1^0;
sbit??TX=P1^1;

sbit?LCM_RW=P2^6;?//定義LCD引腳
sbit?LCM_RS=P2^5;
sbit?LCM_E?=P2^7;
sbit?LCM_Data=P0;

sbit?Key_Data=P3^3;?//定義Keyboard引腳
sbit?Key_CLK=P3^2;


void?LCMInit(void);
void?DisplayOneChar(unsigned?char?X?unsigned?char?Y?unsigned?char?DData);
void?DisplayListChar(unsigned?char?X?unsigned?char?Y?unsigned?char?code?*DData);
void?Delay5Ms(void);
void?Delay400Ms(void);
void?Decode(unsigned?char?ScanCode);
void?WriteDataLCM(unsigned?char?WDLCM);
void?WriteCommandLCM(unsigned?char?WCLCMBuysC);

unsigned?char?ReadDataLCM(void);
unsigned?char?ReadStatusLCM(void);
unsigned?char?code?mcustudio[]?={“mcustudio.com.cn“};
unsigned?char?code?email[]?=????{“fhwxaoo@163.com?“};
unsigned?char?code?Cls[]?=??????{“????????????????“};
unsigned?char?code?ASCII[15]?=????{‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘‘.‘‘-‘‘M‘};

static?unsigned?char?DisNum?=?0;?//顯示用指針 ??
???????unsigned?int??time=0;
???unsigned?long?S=0;
???bit??????flag?=0;
???unsigned?char?disbuff[4] ???={?0000};


//寫(xiě)數(shù)據(jù)
void?WriteDataLCM(unsigned?char?WDLCM)?
{
ReadStatusLCM();?//檢測(cè)忙
LCM_Data=WDLCM;
LCM_RS=1;
LCM_RW=0;
LCM_E=0;?//若晶振速度太高可以在這后加小的延時(shí)
LCM_E=0;?//延時(shí)
LCM_E=1;
}

//寫(xiě)指令
void?WriteCommandLCM(unsigned?char?WCLCMBuysC)?//BuysC為0時(shí)忽略忙檢測(cè)
{
if?(BuysC)?ReadStatusLCM();?//根據(jù)需要檢測(cè)忙
LCM_Data=WCLCM;
LCM_RS=0;
LCM_RW=0;
LCM_E=0;
LCM_E=0;
LCM_E=1;
}

//讀數(shù)據(jù)
unsigned?char?ReadDataLCM(void)
{
LCM_RS=1;?
LCM_RW=1;
LCM_E=0;
LCM_E=0;
LCM_E=1;
return(LCM_Data);
}

//讀狀態(tài)
unsigned?char?ReadStatusLCM(void)
{
LCM_Data=0xFF;?
LCM_RS=0;
LCM_RW=1;
LCM_E=0;
LCM_E=0;
LCM_E=1;
while?(LCM_Data?&?Busy);?//檢測(cè)忙信號(hào)
return(LCM_Data);
}

void?LCMInit(void)?//LCM初始化
{
LCM_Data?=?0;
WriteCommandLCM(0x380);?//三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
Delay5Ms();?
WriteCommandLCM(0x380);
Delay5Ms();?
WriteCommandLCM(0x380);
Delay5Ms();?

WriteCommandLCM(0x381);?//顯示模式設(shè)置開(kāi)始要求每次檢測(cè)忙信號(hào)
WriteCommandLCM(0x081);?//關(guān)閉顯示
Writ

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????5287??2009-12-22?22:40??超聲波測(cè)距51C程序\51.C

?????目錄??????????0??2010-03-12?19:25??超聲波測(cè)距51C程序

-----------?---------??----------?-----??----

?????????????????5287????????????????????2


評(píng)論

共有 條評(píng)論