2022年DYP-ME超声波模块AVRmega程序 .pdf
《2022年DYP-ME超声波模块AVRmega程序 .pdf》由会员分享,可在线阅读,更多相关《2022年DYP-ME超声波模块AVRmega程序 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、希望大家有什么好的资料或程序往百度上传,免费又好下载,又可以评价得分。程序编写根据资料:DYP-ME007 超声波模块说明编绎工具 AVRstudio4.0 芯片 mega16 晶振 8M 计时器 1 8 分频,PA1 发出信号, PA2 接收信号程序没有考虑测量范围,这个不难,有朋友要用到的话,记得考虑。主函数:#include1602.h #include #include #define uchar unsigned char #define uint unsigned int uint data; void delay(uint ms) uint m,j; for(m=0;mms;m+
2、) for(j=0;j1141;j+); /延时写上,管他能不能用上 void delay_10us(void) uchar i; for(i=0;i13;i+); void init_devices(void) DDRA=0XFB; PORTA=0 xff; void start() PORTA&=(12); /10us 的触发信号,顺便把接收口拉低PORTA|=(11); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - de
3、lay_10us(); PORTA&=(11); void ceju() while(!(PINA&0X04) ; TCNT1H=0; /低电平一过,计时器清零,开始计时TCNT1L=0; while(PINA&0 x04); data=TCNT1L+256*TCNT1H; /高电平过后,计时结束,计算距离data=data*1.72/100; /本来应该是1.7,1.72 是修正后的值(声速跟温度有关),WriteNum(0,2,data%10); / 单位 CM WriteNum(0,1,data/10%10); WriteNum(0,0,data/100%10); int main()
4、uchar j; init_devices(); LcdInit(); TCCR1A=0X00; TCCR1B=0X02; /八分频while(1) data=0; start(); for(j=0;j40;j+) /见资料上时序图: 发出触发信号后有8 个 40Khz 脉冲, 也就是 400us asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); asm(nop); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
5、心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - asm(nop); ceju(); delay(1000); /为方便肉眼看清,1s 测一次 头文件:#define uchar unsigned char #define uint unsigned int #include #define RS 4 #define RW 5 #define EN 6 void s_ms(uint ms) for(;ms1;ms-); /查忙void busy(void) uchar temp; s_ms(500); PORTA&=(1RS); /RS=0 s_m
6、s(500); PORTA|=(1RW); /RW=1 s_ms(500); while(temp) PORTA|=(1EN); /EN=1 s_ms(500); DDRB=0 x00; /A 口变输入PORTB=0 xff; /上拉使能s_ms(500); temp = PINB&0 x80; /读取 A 口s_ms(500); DDRB=0 xff; PORTB=0 xff; /A 口变输出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - -
7、 - - - s_ms(500); PORTA&=(1EN); /EN=0 s_ms(500); /写指令void writecom(uchar com) busy(); s_ms(500); PORTA&=(1RS); /RS=0 s_ms(500); PORTA&=(1RW); /RW=0 s_ms(500); PORTA|=(1EN); /EN=1 s_ms(500); PORTB = com; /输出指令s_ms(500); PORTA&=(1EN); /EN=0 s_ms(500); /1602 初始化void LcdInit(void) DDRB = 0 xff; PORTB =
8、0 x00; writecom(0 x38); s_ms(1000); writecom(0 x01); s_ms(1000); s_ms(1000); s_ms(1000); s_ms(1000); s_ms(1000); s_ms(1000); s_ms(1000); writecom(0 x02); s_ms(1000); writecom(0 x06); s_ms(1000); writecom(0 x0c); s_ms(1000); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年DYP-ME超声波模块AVRmega程序 2022 DYP ME 超声波 模块 AVRmega 程序
限制150内