xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 7KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-07-17
  • 語言: 其他
  • 標(biāo)簽: 超聲波??測距??

資源簡介

超聲波測距并LCD1602上顯示距離,蜂鳴器發(fā)出的聲音頻率判斷距離大小。

資源截圖

代碼片段和文件信息


#include????
#include?
typedef?unsigned?int?u16; ??//對數(shù)據(jù)類型進(jìn)行聲明定義
#define?uint?unsigned?int
#define?uchar?unsigned?char
sbit?rs=P2^6;????????????//1602的數(shù)據(jù)/指令選擇控制線?
sbit?rw=P2^5;???????????//1602的讀寫控制線?
sbit?en=P2^7;??????????//1602的使能控制線?
sbit?trig=P1^0;??????//超聲波測距模塊Trig
sbit?echo=P1^1;?????//超聲波測距模塊Echo
sbit?beep=P1^5; //?蜂鳴器連接端
uchar?flag=1;?????????//觸發(fā)信號標(biāo)志位//
uchar?count;???????????//中斷累加變量
long?int?distance;????//測量所得距離
unsigned?char?code?table[?]={“0123456789“};?//定義字符數(shù)組顯示數(shù)字
/*------------------------------------------------
??????????????????延時函數(shù)
------------------------------------------------*/
void?delay(uint?n)???????????????????????????
{?
????uint?xy;??
????for(x=n;x>0;x--)?
????for(y=110;y>0;y--);?
}?

/*---延時函數(shù)---*/
void?delay1(u16?i)
{
while(i--);
}
???
/*------------------------------------------------
??????????????????延時函數(shù)
------------------------------------------------*/
void?delayt(uint?x)
{
????uchar?j;
????while(x--?>?0)
????{
??????????????for(j?=?0;j?????????{
??????????;
????????}
????}
}

/*------------------------------------------------
????????????????1602寫命令函數(shù)?
------------------------------------------------*/
void?lcd_wcom(uchar?com)????????????
{?
????rs=0;????????????????//選擇指令寄存器?
????rw=0;???????????????//選擇寫?
????P0=com;????????????//把命令字送入P0?
????delay(5);?????????//延時一小會兒,讓1602準(zhǔn)備接收數(shù)據(jù)?
????en=1;????????????//使能線電平變化,命令送入1602的8位數(shù)據(jù)口這點(diǎn)非常重要?
????en=0;?
}

/*------------------------------------------------
???????????????1602寫數(shù)據(jù)函數(shù)????
------------------------------------------------*/
void?lcd_wdat(uchar?dat)????????
{?
????rs=1;?????????????//選擇數(shù)據(jù)寄存器?
????rw=0;????????????//選擇寫?
????P0=dat;?????????//把要顯示的數(shù)據(jù)送入P0?
????delay(5);??????//延時一小會兒,讓1602準(zhǔn)備接收數(shù)據(jù)也就是檢測忙信號,這點(diǎn)非常重要。
????en=1;?????????//使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口?
????en=0;?
??}?

/*------------------------------------------------
????????????????1602初始化函數(shù)??????
------------------------------------------------*/
void?lcd_init()??????????????
{?
????lcd_wcom(0x38);???????//8位數(shù)據(jù),雙列,5*7字形??,用到功能設(shè)定指令?????
????lcd_wcom(0x0c);??????//開啟顯示屏,關(guān)光標(biāo),光標(biāo)不閃爍,用到顯示開關(guān)控制指令?
????lcd_wcom(0x06);?????//顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位,用到了寫入模式設(shè)置指令
????lcd_wcom(0x01);????//清屏,用到了清屏指令
}

/*------------------------------------------------
??????????????1602顯示固定字符函數(shù)??????
------------------------------------------------*/
void?lcd_xianshi()??????????????
{?
????lcd_wcom(0x40+0x40);
????????lcd_wdat(‘D‘);
????????lcd_wdat(‘i‘);
????????lcd_wdat(‘s‘);
????????lcd_wdat(‘t‘);
????????lcd_wdat(‘a(chǎn)‘);
????????lcd_wdat(‘n‘);
????????lcd_wdat(‘c‘);
????????lcd_wdat(‘e‘);
????????lcd_wdat(‘:‘);
????????lcd_wcom(0x40+0x4c);
????????lcd_wdat(‘.‘);
????????lcd_wcom(0x40+0x4e);//單位是厘米// ?0x40表示第一排顯示0x80表示第二排顯示
????????lcd_wdat(‘c‘);
????????lcd_wdat(‘m‘);
}


/*------------------------------------------------
定時器0初始化,用于計(jì)算響應(yīng)信號時間
------------------------------------

評論

共有 條評論