电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

msp430超声波测距程序

msp430超声波测距程序_第1页
1/3
msp430超声波测距程序_第2页
2/3
msp430超声波测距程序_第3页
3/3
msp430 超声波测距程序 1、#includemsp430x14x.h#include1602.c#defineuintunsignedint#defineucharunsignedcharvoidUSARTinit();voidtimeinit();longstaticuintdistance=0;uchartable[]=guzhuanyuan;/*voiddelay(uinty){uintx;for(;y0;y--)for(x=100;x0;x--);}*/uchari=0,j=0;voidmain(){//StopwatchdogtimertopreventtimeoutresetWDTCTL=WDTPW+WDTHOLD;//USARTinit();P1DIR| 2、=BIT0;P2DIR=0XFF;timeinit();lcdinit();display_string(3,1,table);P1IE=BIT1;P1IES=~BIT1;while(1){P1OUT|=BIT0;delay(1);P1OUT=~BIT0;delay(1000);display_one(1,0,(distance/10000)%10+0x30);display_one(2,0,(distance/1000)%10+0x30);display_one(3,0,(distance/100)%10+0x30);display_one(4,0,(distance/10)%10+0x30);display_one(5,0,distan 3、ce%10+0x30);}}voidtimeinit(){TACTL=TASSEL_2+ID_3+MC_1;//ID_2 表示八分频!MC_1 表示连续计数模式!BCSCTL2=0x88;//选择SMCLK的信号源XT2CLK〔8MHz〕CCR0=65535;_EINT();//打开总中断!}#pragmavector=PORT1_VECTOR__interruptvoidport1_int(void){if((P1INBIT1)==BIT1){TACTL|=MC_1+TACLR;P1IES|=BIT1;}else{TACTL=~MC_3;P1IES=~BIT1;distance=TAR*5/3;P2OUT=TAR;}P1IFG=~BIT1;} 4、#includemsp430x14x.h#defineuintunsignedint#defineucharunsignedcharvoidlcdinit();voidwritecommand(ucharwdata);voidwritedata(ucharwdata);voiddelay(uinty);voiddisplay_xy(ucharx,uchary);voiddisplay_one(ucharx,uchary,ucharc);voiddisplay_string(ucharx,uchary,uchar*s);voidlcdinit(){P4DIR=0XFF;P3DIR=0xff;delay(1);writecommand(0x38 5、);//必需要有,显示模式设置,设置为 16*2 显示,5*7 点阵,8 位数据接口!//delay(50);writecommand(0x08);//关闭显示,要不要都可以writecommand(0x01);//显示清屏writecommand(0x0f);// 开 显 示 , 显 示 光 标 , 光 标 闪 耀 ! !writecommand(0x06);// 读 / 写 作 用 时 地 址 自 动 加一}voidwritecommand(ucharwdata){P3OUT=~BIT0;//使 RS=0,表示写 指 令 P3OUT=~BIT1;//rw=0 , 表 示 向 1602 里 面 写 数 据 //P3OUT=~BIT2;//E=0delay(1);P3OUT|=BIT2;//使能E置一P4OUT=wdata;// 6、送指令 delay(10);//短暂延时,代替检测忙状态,产生方波!P3OUT=~BIT2;// 使 能 E=0 , 下 降 沿 将 指 令 货 数 据 送 入1602}voidwritedata(ucharwdata){P3OUT|=BIT0;// 使 RS=1 , 表 示写 数 据 P3OUT=~BIT1;//rw=0 , 表 示 向 1602 里 面 写 数 据 //P3OUT=~BIT2; 可 以 加 , 也 可 以 不 加 ! ! delay(1);P3OUT|=BIT2;P4OUT=wdata;delay(10);P3OUT=~BIT2;}voiddelay(uinty){uintx;for(;y0;y--)for(x=100;x0;x--);// 用8MHz的 总 频率!!!}voiddisplay_xy(ucharx,uc 7 、 hary)// 找 字 符 串 的 地 址 ! ! {if(y==0x01){x=x+0x40+0x80;//首地址0X80,,其次行地址0X80+0X40!}else{x=0x80+x;}writecommand(x);}voiddisplay_string(ucharx,uchary,uchar*s)//显示字符串{display_xy(x,y);while(*s){writedata(*s);s++;}}voiddisplay_one(ucharx,uchary,ucharc)// 显 示 一 个 字 符 !{display_xy(x,y);writedata(c);}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

msp430超声波测距程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部