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

  • 大小: 0.08M
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2024-04-22
  • 語言: C/C++
  • 標簽: 報警??安全??系統??

資源簡介

障礙物測距在一些機器人比賽、智能車比賽和車輛倒車預警中經常應用到,而超聲波測距是障礙物測距常用的方法。本項目用超聲波模塊對障礙物測距后進行實時距離顯示和聲音預警,是一個常用的測試系統。項目中對硬件和軟件進行細致的介紹,重點、難點分析透徹,項目難度中等,非常適合初學者學習。


資源截圖

代碼片段和文件信息

#include?“oled.h“
#include?“oledfont.h“?? ?
???
void?delay_ms(unsigned?int?ms)
{?????????????????????????
unsigned?int?a;
while(ms--)
{
a=650;
while(a--);

}
}

#if?OLED_MODE==1??//并口方式
//向SSD1106寫入一個字節。
//dat:要寫入的數據/命令
//cmd:數據/命令標志?0表示命令;1表示數據;
void?OLED_WR_Byte(u8?datu8?cmd)
{
DATAOUT(dat); ????
if(cmd)
??OLED_DC_Set();
else?
??OLED_DC_Clr(); ???
OLED_CS_Clr();
OLED_WR_Clr(); ?
OLED_WR_Set();
OLED_CS_Set(); ??
OLED_DC_Set(); ?
}? ???? ????
#else //4線串口
//向SSD1306寫入一個字節。
//dat:要寫入的數據/命令
//cmd:數據/命令標志?0表示命令;1表示數據;
void?OLED_WR_Byte(u8?datu8?cmd)
{
u8?i; ??
if(cmd)
??OLED_DC_Set();
else?
??OLED_DC_Clr(); ??
OLED_CS_Clr();
for(i=0;i<8;i++)
{ ??
OLED_SCLK_Clr();
if(dat&0x80)
{
???OLED_SDIN_Set();
}
else
???OLED_SDIN_Clr();
OLED_SCLK_Set();
dat<<=1;???
} ? ??
OLED_CS_Set();
OLED_DC_Set();??? ??
}?
#endif
void?OLED_Set_Pos(unsigned?char?x?unsigned?char?y)?
{?
OLED_WR_Byte(0xb0+yOLED_CMD);
OLED_WR_Byte(((x&0xf0)>>4)|0x10OLED_CMD);
OLED_WR_Byte((x&0x0f)|0x01OLED_CMD);?
}??? ??
//開啟OLED顯示????
void?OLED_Display_On(void)
{
OLED_WR_Byte(0X8DOLED_CMD);??//SET?DCDC命令
OLED_WR_Byte(0X14OLED_CMD);??//DCDC?ON
OLED_WR_Byte(0XAFOLED_CMD);??//DISPLAY?ON
}
//關閉OLED顯示?????
void?OLED_Display_Off(void)
{
OLED_WR_Byte(0X8DOLED_CMD);??//SET?DCDC命令
OLED_WR_Byte(0X10OLED_CMD);??//DCDC?OFF
OLED_WR_Byte(0XAEOLED_CMD);??//DISPLAY?OFF
} ??? ?
//清屏函數清完屏整個屏幕是黑色的!和沒點亮一樣!!! ??
void?OLED_Clear(void)??
{??
u8?in; ????
for(i=0;i<8;i++)??
{??
OLED_WR_Byte?(0xb0+iOLED_CMD);????//設置頁地址(0~7)
OLED_WR_Byte?(0x00OLED_CMD);??????//設置顯示位置—列低地址
OLED_WR_Byte?(0x10OLED_CMD);??????//設置顯示位置—列高地址???
for(n=0;n<128;n++)OLED_WR_Byte(0OLED_DATA);?
}?//更新顯示
}
void?OLED_Clear2(void)??
{??
u8?in; ????
for(i=2;i<4;i++)??
{??
OLED_WR_Byte?(0xb0+iOLED_CMD);????//設置頁地址(0~7)
OLED_WR_Byte?(0x00OLED_CMD);??????//設置顯示位置—列低地址
OLED_WR_Byte?(0x10OLED_CMD);??????//設置顯示位置—列高地址???
for(n=0;n<128;n++)OLED_WR_Byte(0OLED_DATA);?
}?//更新顯示
}

//在指定位置顯示一個字符包括部分字符
//x:0~127
//y:0~63
//mode:0反白顯示;1正常顯示 ?
//size:選擇字體?16/12?
void?OLED_ShowChar(u8?xu8?yu8?chr)
{??????
unsigned?char?c=0i=0;
c=chr-‘?‘;//得到偏移后的值
if(x>Max_Column-1){x=0;y=y+2;}
if(SIZE?==16)
{
OLED_Set_Pos(xy);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i]OLED_DATA);
OLED_Set_Pos(xy+1);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i+8]OLED_DATA);
}
else?{
OLED_Set_Pos(xy+1);
for(i=0;i<6;i++)
OLED_WR_Byte(F6x8[c][i]OLED_DATA);

}
}
//m^n函數
u32?oled_pow(u8?mu8?n)
{
u32?result=1; ?
while(n--)result*=m;????
return?result;
} ??
//顯示2個數字
//xy?:起點坐標 ?
//len?:數字的位數
//size:字體大小
//mode:模式 0填充模式;1疊加模式
//num:數值(0~4294967295); ? ??
void?OLED_ShowNum(u8?xu8?yu32?numu8?lenu8?size2)
{?????????
u8?ttemp;
u8?enshow=0; ???

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-05-09?13:26??11、超聲波測距實驗\
?????目錄???????????0??2020-05-05?19:55??11、超聲波測距實驗\Listings\
?????文件???????11743??2020-05-04?11:49??11、超聲波測距實驗\Listings\oled.lst
?????文件???????23211??2020-05-05?19:55??11、超聲波測距實驗\Listings\sdf.m51
?????文件????????4602??2020-05-05?19:55??11、超聲波測距實驗\Listings\template.lst
?????文件???????23236??2020-05-05?19:47??11、超聲波測距實驗\Listings\template.m51
?????目錄???????????0??2020-05-05?19:55??11、超聲波測距實驗\objects\
?????文件???????24418??2020-05-04?11:49??11、超聲波測距實驗\objects\oled.obj
?????文件???????32830??2020-05-05?19:55??11、超聲波測距實驗\objects\sdf
?????文件????????1559??2020-05-05?19:55??11、超聲波測距實驗\objects\sdf.build_log.htm
?????文件???????12491??2020-05-05?19:55??11、超聲波測距實驗\objects\sdf.hex
?????文件?????????138??2020-05-05?19:55??11、超聲波測距實驗\objects\sdf.lnp
?????文件???????32841??2020-05-05?19:47??11、超聲波測距實驗\objects\template
?????文件????????1569??2020-05-05?19:47??11、超聲波測距實驗\objects\template.build_log.htm
?????文件???????12483??2020-05-05?19:47??11、超聲波測距實驗\objects\template.hex
?????文件?????????148??2020-05-05?19:47??11、超聲波測距實驗\objects\template.lnp
?????文件???????11867??2020-05-05?19:55??11、超聲波測距實驗\objects\template.obj
?????文件????????6527??2020-05-04?11:46??11、超聲波測距實驗\oled.c
?????文件????????1876??2020-02-13?21:53??11、超聲波測距實驗\oled.h
?????文件???????15090??2020-02-14?10:19??11、超聲波測距實驗\oledfont.h
?????文件????????2134??2020-05-05?19:55??11、超聲波測距實驗\template.c
?????文件??????168731??2020-05-09?13:26??11、超聲波測距實驗\template.uvgui.hp
?????文件????????5114??2020-02-13?22:10??11、超聲波測距實驗\template.uvopt
?????文件???????14058??2020-05-05?20:00??11、超聲波測距實驗\template.uvproj

評論

共有 條評論