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

  • 大小: 65KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-25
  • 語言: 其他
  • 標(biāo)簽: MSP430G2??HC-SR04??

資源簡介

MSP430G2553單片機(jī),通過HC-SR04紅外測距傳感器測距,利用中景園0.96的OLED屏幕顯示,供大家參考

資源截圖

代碼片段和文件信息

#include??
#include?
#include?“oled.h“
#include?“bmp.h“
#include?


/**
?*?超聲波測距程序
?*?信號觸發(fā)端口為P15
?*?信號捕獲端口為P21
?*?OLED屏幕接線:
?*?GND????電源地
?*?VCC??接5V或3.3v電源
?*?D0???P14(時鐘)
?*?D1???P13(數(shù)據(jù))
?*?RES??接P12
?*?DC???接P11
?*?CS???接P10
?*/
#define?CPU_F?((double)1000000)
//毫秒延時函數(shù)
#define?delay(x)??????__delay_cycles((long)(CPU_F*(double)x/1000.0))
u32?ac?=?0str[4]i[5];
u8?u[5];
int?j;
char?w=0;???????????????//標(biāo)志進(jìn)入計數(shù)高電平的步驟
char?t=0;???????????????//在計數(shù)時,有幾個溢出中斷
void?CLK_set(void);

void?chaoshenbo()//從P1.5輸出觸發(fā)信號
{
P1DIR|=BIT5;
P1OUT|=BIT5;
delay_10us();
P1OUT&=~BIT5;
}

void?count()
{
c=a/5.8;//此時輸出c為毫米的整數(shù)值。
//c=c*10+0.5;
}
void?Echo_init()//超聲波初始化捕捉模式??TIMER1定時器,需要找到定時器的端口,然后測試距離是否正確。
{
//TA1CTL|=TASSEL_2+MC_1+TAIE+TACLR;
//TA1CCTL0?=?CCIE;

P2SEL|=BIT1;?????????????????????????//CCI1A捕獲
P2DIR&=~BIT1;
TA1CCTL1|=CM_3+SCS+CAP+CCIE+CCIS_0;?//選擇1M-SMCLK時鐘,continuous?mode
TA1CTL?|=TASSEL_2?+?ID_0?+?MC_2+?TAIE+TACLR?;
TA1CCR0?=?0;???????????????????????????//TEST
_EINT();//開啟總中斷
}
void?jishu()
{
if(TA1CCTL1&CM_1)//上升沿進(jìn)入中斷
{
str[0]=TA1CCR1;//開始時計時器的值
w=1;???????????????????????//開始計高電平
TA1CCTL1=CM_2+SCS+CAP+CCIE;
}
else?if(TA1CCTL1&CM_2)??//下降沿進(jìn)入中斷
{
str[1]=TA1CCR1;//結(jié)束時計時器的值
????w=0;
if(t==0)
{
a=str[1]-str[0];
}
else?if(t==1)
{
a=0xFFFF-str[0];
a=a+str[1];
}
else
{
a=0xFFFF-str[0];
a=a+str[1]+0xFFFF*(t-1);
}
t=0;
TA1CCTL1=CM_1+SCS+CAP+CCIE;
count();//根據(jù)t值的不同,計算高電平持續(xù)時間,進(jìn)而計算出距離
}
}

#pragma?vector=TIMER1_A1_VECTOR
__interrupt?void?Timer_A?(void)
{
switch(TA1IV)
{
case?2:?jishu();break;??//TEST
case?4:break;
case?10:if(w==1)?t++;
break;
}
}


int?main(void)?{
???? WDTCTL?=?WDTPW?|?WDTHOLD; //?Stop?watchdog?timer
???? CLK_set();
???? Echo_init();

???? OLED_Init(); //初始化OLED
???? OLED_Clear();
???? OLED_ShowString(300“OLED?TEST“);
???? OLED_ShowString(82“DISTANCE?IS?:“);//“ZHONGJINGYUAN“
???? OLED_ShowString(204“12014.“);
???? OLED_ShowString(764“CM“);
???? OLED_ShowString(06“MadeBy:“);
???? OLED_ShowString(636“***?***“);

OLED_ShowCHinese(000);//中
OLED_ShowCHinese(1801);//景
OLED_ShowCHinese(3602);//園
OLED_ShowCHinese(5403);//電
OLED_ShowCHinese(7204);//子
OLED_ShowCHinese(9005);//科
OLED_ShowCHinese(10806);//技

???? P1DIR|=BIT6;
???? while(1)
???? {
???? chaoshenbo();
???? delay(100);
???? i[0]=c%10;
???? i[1]=(c/10)%10;
???? i[2]=(c/100)%10;
???? i[3]=(c/1000)%10;
???? i[4]=(c/10000)%10;
???? u[0]?=?i[0]?+‘0‘;
???? u[1]?=?i[1]?+‘0‘;
???? u[2]?=?i[2]?+‘0‘;
???? u[3]?=?i[3]?+‘0‘;
???? u[4]?=?i[4]?+‘0‘;
???? OLED_ShowChar(204u[4]);
???? OLED_ShowChar(284u[3]);
???? OLED_ShowChar(364u[2]);
???? OLED_ShowChar(444u[1]);
???? OLED_ShowString(524“.“);
???? OLED_ShowChar(604u[0]);
???? //距離超過1米之后,點(diǎn)亮P16的LED燈
???? if(c>1000){
???? ???P1OUT?|=?BIT6;
???? }else{
???? ???P1OUT?&=?~BIT6;
???? }
???? }

}
void?CLK_set(void)
{
????BCSCTL1=CALBC1_1MHZ;
????DCOCTL=CALDCO_1MHZ;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????512??2017-03-31?22:06??Distance\.ccsproject

?????文件??????22987??2017-03-31?22:06??Distance\.cproject

?????文件???????3670??2017-03-31?22:01??Distance\.launches\Distance.launch

?????文件????????838??2017-03-31?22:00??Distance\.project

?????文件?????????62??2017-03-31?22:00??Distance\.settings\org.eclipse.cdt.codan.core.prefs

?????文件????????123??2017-03-31?22:00??Distance\.settings\org.eclipse.cdt.debug.core.prefs

?????文件????????208??2017-03-31?22:01??Distance\.settings\org.eclipse.core.resources.prefs

?????文件??????10871??2017-04-02?15:42??Distance\bmp.h

?????文件?????????62??2017-04-02?19:21??Distance\Debug\ccsObjs.opt

?????文件??????20536??2017-04-02?19:21??Distance\Debug\Distance.map

?????文件??????65234??2017-04-02?19:21??Distance\Debug\Distance.out

?????文件?????165868??2017-04-02?19:21??Distance\Debug\Distance_linkInfo.xml

?????文件??????33394??2017-04-02?19:21??Distance\Debug\main.obj

?????文件???????1205??2017-04-02?19:21??Distance\Debug\main.pp

?????文件???????3378??2017-04-02?19:21??Distance\Debug\makefile

?????文件????????250??2017-03-31?22:07??Distance\Debug\objects.mk

?????文件??????37479??2017-04-02?19:21??Distance\Debug\oled.obj

?????文件????????443??2017-04-02?19:21??Distance\Debug\oled.pp

?????文件???????1864??2017-04-02?19:21??Distance\Debug\sources.mk

?????文件???????1519??2017-03-31?22:07??Distance\Debug\subdir_rules.mk

?????文件????????589??2017-03-31?22:07??Distance\Debug\subdir_vars.mk

?????文件????????484??2017-04-02?15:03??Distance\delay.h

?????文件???????8191??2017-03-31?22:00??Distance\lnk_msp430g2553.cmd

?????文件???????3202??2017-04-03?17:45??Distance\main.c

?????文件???????8570??2017-04-02?18:50??Distance\oled.c

?????文件???????3140??2017-04-02?15:54??Distance\oled.h

?????文件??????14152??2017-04-03?17:45??Distance\oledfont.h

?????文件????????822??2017-03-31?22:06??Distance\targetConfigs\MSP430G2553.ccxml

?????文件????????806??2017-03-31?22:00??Distance\targetConfigs\readme.txt

?????目錄??????????0??2017-04-03?17:41??Distance\.launches

............此處省略7個文件信息

評論

共有 條評論