具有实时语音播报功能的超声波测距仪(c程序)

具有实时语音播报功能的超声波测距仪(c程序)

ID:8525647

大小:24.50 KB

页数:6页

时间:2018-03-31

具有实时语音播报功能的超声波测距仪(c程序)_第1页
具有实时语音播报功能的超声波测距仪(c程序)_第2页
具有实时语音播报功能的超声波测距仪(c程序)_第3页
具有实时语音播报功能的超声波测距仪(c程序)_第4页
具有实时语音播报功能的超声波测距仪(c程序)_第5页
资源描述:

《具有实时语音播报功能的超声波测距仪(c程序)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、#include//调用单片机头文件#defineucharunsignedchar//无符号字符型宏定义变量范围0~255#defineuintunsignedint//无符号整型宏定义变量范围0~65535#include//数码管段选定义0123456789ucharcodesmg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};//断码//数码管位选定义ucharcodes

2、mg_we[]={0xe0,0xd0,0xb0,0x70};uchardis_smg[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};sbitsmg_we1=P3^4;//数码管位选定义sbitsmg_we2=P3^5;sbitsmg_we3=P3^6;sbitsmg_we4=P3^7;sbitc_send=P3^2;//超声波发射sbitc_recive=P3^3;//超声波接收ucharsmg_i=3;//显示数码管的个位数bitflag_300ms;longdistance;//距离uintset_d;//

3、距离ucharflag_csb_juli;//超声波超出量程uintflag_time0;//用来保存定时器0的时候的/***********************语音模块控制IO口的定义************************/sbitVRST=P2^3;sbitVBUSY=P2^7;sbitVSDA=P2^6;sbitVCS=P2^5;sbitVSCL=P2^4;ucharyujing[3];/***************************语音地址的安排0-9:对应数字0到90b:点0c:米0d:已超出量程*************

4、*************//***********************1ms延时函数*****************************/voiddelay_1ms(uintq){uinti,j;for(i=0;i

5、*********************/voidSend_threelines(unsignedcharaddr){unsignedchari;VRST=0;delay_1ms(5);VRST=1;delay_1ms(20);/*复位拉高20ms*/VCS=0;delay_1ms(5);/*片选拉低5ms*/for(i=0;i<8;i++){VSCL=0;if(addr&0x01){VSDA=1;}elseVSDA=0;addr>>=1;delay_us(150);/*150us*/VSCL=1;delay_us(150);/*150us*/}VCS

6、=1;delay_1ms(200);while(VBUSY==0);//忙等待}/***********************数码位选函数*****************************/voidsmg_we_switch(uchari){switch(i){case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break;case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break;case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_

7、we4=1;break;case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break;}}/***********************数码显示函数*****************************/voiddisplay(){staticuchari;i++;if(i>=smg_i)i=0;smg_we_switch(i);//位选P1=dis_smg[i];//段选}/******************小延时函数*****************/voiddelay(){_nop_();//执行一

8、条_nop_()指令就是1us_nop_();_nop_();_nop_();_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。