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

資源簡(jiǎn)介

障礙物測(cè)距在一些機(jī)器人比賽、智能車比賽和車輛倒車預(yù)警中經(jīng)常應(yīng)用到,而超聲波測(cè)距是障礙物測(cè)距常用的方法。本項(xiàng)目用超聲波模塊對(duì)障礙物測(cè)距后進(jìn)行實(shí)時(shí)距離顯示和聲音預(yù)警,是一個(gè)常用的測(cè)試系統(tǒng)。項(xiàng)目中對(duì)硬件和軟件進(jìn)行細(xì)致的介紹,重點(diǎn)、難點(diǎn)分析透徹,項(xiàng)目難度中等,非常適合初學(xué)者學(xué)習(xí)。


資源截圖

代碼片段和文件信息

#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寫入一個(gè)字節(jié)。
//dat:要寫入的數(shù)據(jù)/命令
//cmd:數(shù)據(jù)/命令標(biāo)志?0表示命令;1表示數(shù)據(jù);
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寫入一個(gè)字節(jié)。
//dat:要寫入的數(shù)據(jù)/命令
//cmd:數(shù)據(jù)/命令標(biāo)志?0表示命令;1表示數(shù)據(jù);
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);?
}??? ??
//開(kāi)啟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
}
//關(guān)閉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
} ??? ?
//清屏函數(shù)清完屏整個(gè)屏幕是黑色的!和沒(méi)點(diǎn)亮一樣!!! ??
void?OLED_Clear(void)??
{??
u8?in; ????
for(i=0;i<8;i++)??
{??
OLED_WR_Byte?(0xb0+iOLED_CMD);????//設(shè)置頁(yè)地址(0~7)
OLED_WR_Byte?(0x00OLED_CMD);??????//設(shè)置顯示位置—列低地址
OLED_WR_Byte?(0x10OLED_CMD);??????//設(shè)置顯示位置—列高地址???
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);????//設(shè)置頁(yè)地址(0~7)
OLED_WR_Byte?(0x00OLED_CMD);??????//設(shè)置顯示位置—列低地址
OLED_WR_Byte?(0x10OLED_CMD);??????//設(shè)置顯示位置—列高地址???
for(n=0;n<128;n++)OLED_WR_Byte(0OLED_DATA);?
}?//更新顯示
}

//在指定位置顯示一個(gè)字符包括部分字符
//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函數(shù)
u32?oled_pow(u8?mu8?n)
{
u32?result=1; ?
while(n--)result*=m;????
return?result;
} ??
//顯示2個(gè)數(shù)字
//xy?:起點(diǎn)坐標(biāo) ?
//len?:數(shù)字的位數(shù)
//size:字體大小
//mode:模式 0填充模式;1疊加模式
//num:數(shù)值(0~4294967295); ? ??
void?OLED_ShowNum(u8?xu8?yu32?numu8?lenu8?size2)
{?????????
u8?ttemp;
u8?enshow=0; ???

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

評(píng)論

共有 條評(píng)論

相關(guān)資源