資源簡介
基于msp430的超聲波測距的程序,大家可以參考。

代碼片段和文件信息
#include?
#include“1602.h“
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?CPU_F?((double)8000000)?
#define?delay_us(x)?__delay_cycles((long)(CPU_F*(double)x/1000000.0))?
#define?delay_ms(x)?__delay_cycles((long)(CPU_F*(double)x/1000.0))
extern?unsigned?char?table[];?
extern?unsigned?char?table2[];
extern??unsigned?char?table1[4];?
uint?num;
void?delay(?int?n)???
??{?
????unsigned?int?ij;?
????for(i=0;i ????for(j=0;j<530;j++);?
??}?
void?IO_1602_init()
{
??P4DIR&=0X00;
??P4DIR|=0XFF;????????//P4設置為輸出
??P5DIR&=0X00;??????//P5.6?RW??為0??寫
??P5DIR|=0XFF;?????????//P5初始狀態設置為輸出低電平
??P5OUT&=0X00;??????
??//P3DIR|=0XFF;?????????//P3輸出
??//P1DIR|=0Xf0;??????????????//?1111?0000???P1.0~P1.3作為鍵盤輸入檢測?
??//P1SEL|=?0xf0;????????????//???1111?0000???P14~P1.7作為復用IO口
?????
}
void?write_com(unsigned?char?com) ??//命令
{??
??P5OUT&=0xDF; //選擇寫命令??P5.5=0?????&?1101?1111??RS=0?
??delay(10);
??P5OUT|=0x80; //使能信號??????P5.7=1???|1000?0000????EC=1
??P4OUT=com;?????//P4口為數據口
??delay(10);
??P5OUT&=0x00; ??//關閉使能信號??
}
void?write_data(int?date) ??//數據
{?
?
??P5OUT|=0x20; //選擇寫數據?????P5.5=1??????|0010?0000??RS=1
??delay(10);
??P5OUT|=0x80;???//使能信號??????P5.7=1???|1000?0000????EC=1
??P4OUT=date;
??delay(10);
??P5OUT&=0x00; ?//關閉使能
}
void?init()
{?
??write_com(0x38); ?//00111000 設置16*2顯示,5*7點陣?8為數據接口
??write_com(0x0c);???//00001100 設置開顯示,不顯示光標
??write_com(0x06);? //?00000110 寫一個字符后地址指針加?1
??write_com(0x01); ?//00000001 顯示清0,數據指針清零 ?/*???*/
}
void?yj1602() ?//液晶控制
{??
??init();
??delay(50);
??write_com(0x80); //1000?0000+0100?0000
??for(num=0;num<14;num++)
???{
??write_data(table[num]);
??delay_ms(10);
???}?
?
??write_com(0x80+0x40+7); //1000?0000+0100?0000
??for(num=14;num<16;num++)
???{
??write_data(table[num]);
??delay_ms(10);
???}?}
void?num_show(uchar?sint?string)
{?
?????int?abcd;????????????//mn
?????a=string/1000;??????????//AD的千位
?????b=string/100-10*a;?????//AD的百
?????c=string%100/10;???????//AD的十位
?????d=string%10;???????????//?AD的個位
?????table1[3]=table2[d];
?????table1[2]=table2[c];
?????table1[1]=table2[b];
?????table1[0]=table2[a];
??
????????write_com(0x80+0x40+s);
?????????for(num=0;num<4;num++)
???????{?
??????????write_data(table1[num]);
??????????delay_ms(30);
???????}????
}
void?show_xiaoshu(float?n)
{????int?a1a2a3a4;
?????float?m;
?????a1=(int)(n);??????????????//a1為整數部分??????13
?????m=n-a1;????????????????//m為小數部分????????0.678??????????
?????a2=a1%10;?????????????//a2為個位???????3
?????a1=a1/10;???????????//a1為十位?????????1???????????
?????a3=(int)(m*10);???????//a2為小數點后第1位???6
?????a4=(int)((m*100)-10*a3);??????????//a3為小數點后第一位????6????????????
?????delay_ms(10);
?????write_com(0x80+0x40+2);
?????write_data(table2[a1]);
?????delay_ms(10);
?????write_com(0x80+0x40+3);
?????write_data(table2[a2]);
?????delay_ms(10);?
?????write_com(0x80+0x40+5);
?????write_data(table2[a3]);
?????delay_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-07-26?16:38??我的超聲波測距程序\
?????文件????????3259??2012-07-20?18:24??我的超聲波測距程序\1602.c
?????文件?????????303??2012-07-20?18:24??我的超聲波測距程序\1602.h
?????文件?????????599??2012-07-20?18:24??我的超聲波測距程序\csb.c
?????文件?????????357??2012-07-20?18:24??我的超聲波測距程序\csb.h
?????文件????????4584??2012-07-26?16:38??我的超聲波測距程序\csbcj.dep
?????文件???????47892??2012-07-21?20:08??我的超聲波測距程序\csbcj.ewp
?????文件?????????159??2012-07-20?18:24??我的超聲波測距程序\csbcj.eww
?????目錄???????????0??2012-07-20?18:24??我的超聲波測距程序\Debug\
?????目錄???????????0??2012-07-20?18:24??我的超聲波測距程序\Debug\Exe\
?????文件???????41253??2012-07-21?20:08??我的超聲波測距程序\Debug\Exe\csbcj.ad4
?????文件???????23369??2012-07-20?18:24??我的超聲波測距程序\Debug\Exe\csbcj.d43
?????文件???????21393??2012-07-20?18:24??我的超聲波測距程序\Debug\Exe\csbcj.txt
?????目錄???????????0??2012-07-20?18:24??我的超聲波測距程序\Debug\List\
?????目錄???????????0??2012-07-26?16:38??我的超聲波測距程序\Debug\Obj\
?????文件?????????514??2012-07-26?16:38??我的超聲波測距程序\Debug\Obj\1602.pbi
?????文件???????26105??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\1602.r43
?????文件?????????512??2012-07-26?16:38??我的超聲波測距程序\Debug\Obj\csb.pbi
?????文件????????5473??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\csb.r43
?????文件?????????308??2012-07-26?16:38??我的超聲波測距程序\Debug\Obj\csbcj.pbd
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW1071.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW1082.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW10DF.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW11CD.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW12D1.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW13C8.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW1581.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW15D3.r43
?????文件?????????867??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW1637.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW17A4.r43
?????文件?????????852??2012-07-20?18:24??我的超聲波測距程序\Debug\Obj\EW17CC.r43
............此處省略265個文件信息
- 上一篇:DDos工具 trinoo.tar
- 下一篇:一份網站開發標準合同
評論
共有 條評論