- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
具有实时语音播报功能的超声波测距(C程序)
#include reg52.h //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
#include intrins.h
//数码管段选定义 0 1 2 3 4 5 6 7 8 9
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //断码
//数码管位选定义
uchar code smg_we[]={0xe0,0xd0,0xb0,0x70};
uchar dis_smg[8] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
sbit smg_we1 = P3^4; //数码管位选定义
sbit smg_we2 = P3^5;
sbit smg_we3 = P3^6;
sbit smg_we4 = P3^7;
sbit c_send = P3^2; //超声波发射
sbit c_recive = P3^3; //超声波接收
uchar smg_i = 3; //显示数码管的个位数
bit flag_300ms ;
long distance; //距离
uint set_d; //距离
uchar flag_csb_juli; //超声波超出量程
uint flag_time0; //用来保存定时器0的时候的
/***********************语音模块控制IO口的定义************************/
sbit VRST = P2^3;
sbit VBUSY= P2^7;
sbit VSDA = P2^6;
sbit VCS = P2^5;
sbit VSCL = P2^4;
uchar yujing[3];
/***************************
语音地址的安排
0 - 9 : 对应数字0到9
0b : 点
0c : 米
0d : 已超出量程
**************************/
/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
uint i,j;
for(i=0;iq;i++)
for(j=0;j120;j++);
}
/***********************小延时函数**************************/
void delay_us (unsigned int us)
{
while(us--)
{
_nop_();
}
}
/***********************三线发码子程序************************/
void Send_threelines(unsigned char addr)
{
unsigned char i;
VRST=0;
delay_1ms(5);
VRST=1;
delay_1ms(20); /* 复位拉高20ms*/
VCS=0;
delay_1ms(5); /* 片选拉低5ms */
for(i=0;i8;i++)
{
VSCL=0;
if(addr0x01)
{
VSDA=1;
}
else
VSDA=0;
addr=1;
delay_us(150); /* 150us */
VSCL=1;
delay_us(150); /* 150us */
}
VCS=1;
delay_1ms(200);
while(VBUSY == 0); //忙等待
}
/***********************数码位选函数*****************************/
void smg_we_switch(uchar i)
{
switch(i)
{
case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;
case 1: smg_we1 = 1
您可能关注的文档
最近下载
- 【简历模板】优秀个人简历模板精华集合(免费下载).doc VIP
- 安防监控培训.doc VIP
- ISO 105-B02:2013 纺织品 色牢度实验 耐人造光色牢度:氙弧灯褪色试验.pdf VIP
- 物业服务体系方案.docx VIP
- 台区经理初级工练习卷含答案.doc
- ISO 105 C01—05 织物耐水洗色牢度测试方法.pdf VIP
- 消防给水及消火栓系统技术设计规范方案图示15S909.pdf
- 校长职级制 面试答辩.docx VIP
- (新版)卫生员理论考试题库(汇总版).docx VIP
- EN ISO 105-B02-2014纺织品 - 色牢度试验 - 第 B02 部分(中文版).docx VIP
文档评论(0)