用2051做超声波测距的源程序和电路图(With 2051 to do ultrasonic ranging source and circuit diagram).doc

用2051做超声波测距的源程序和电路图(With 2051 to do ultrasonic ranging source and circuit diagram).doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用2051做超声波测距的源程序和电路图(With 2051 to do ultrasonic ranging source and circuit diagram)

用2051做超声波测距的源程序和电路图(With 2051 to do ultrasonic ranging source and circuit diagram) #包括 reg2051。” # K1 p3_4定义 #定义csbout p3_5 /超声波发送 #定义csbint p3_7 /超声波接收 #定义CSBC = 0.034 # BG p3_3定义 unsigned char csbds、光电、数字、缓冲[ 3 ],XM1、XM2、xm0,关键,jpjs;/ /显示标识 unsigned char转换[ 10 ] = { 0x3F,0x06,0x5b,0x4f,0x66,0x6d,7d,0x07,0x7f,0x6f };// 0 ~ 9段码 unsigned int型的S,T,我,XX,J,SJ1、SJ2、SJ3,MQS,SX1; 位氯; 无效csbcj(); 延时(J);/ /延时函数 scanled() /显示函数无效; timetobuffer() /显示转换函数无效; 无效keyscan(); 无效k1cl(); 无效k2cl(); 无效k3cl(); 无效k4cl(); 无效offmsd(); 无效main() /主函数 { EA = 1;//开中断 0x11 TMOD = 0;//设定时器为计数,设定时器1定时 ET0 = 1;//定时器0中断允许 ET1 = 1;//定时器1中断允许 TH0 = 0x00; TL0 = 0x00; 0x9e Th1 =; 0x57 TL1 =; csbds = 0; csbint = 1; csbout = 1; CL=0; 光电= 0xff; jpjs = 0; SJ1 = 45; SJ2 = 200; SJ3 = 400; k4cl(); TR1 = 1; (1) { keyscan(); 如果(jpjs<1) { csbcj(); 如果(S>SJ3) { [ 2 ] = 0x76缓冲; [ 1 ] = 0x76缓冲; [ 0 ] = 0x76缓冲; } 如果(S<SJ1) { 缓冲区[ 2 ] = 0x40; 缓冲区[ 1 ] = 0x40; 缓冲区[ 0 ] = 0x40; } 其他timetobuffer(); } 其他timetobuffer();/ /将值转换成LED段码 offmsd(); scanled();/ /显示函数 如果(S<SJ2) BG = 0; BG = 1; } } 无效scanled() /显示功能模块 { 数字= 0x04; 为(i = 0;i 3;i++)/ / 3位数显示 { P3 = ~数字与光;/ /依次显示各位数 P1 = ~缓冲;/ /显示数据送P1口 延迟(20);//延时处理 P1 = 0xff;/ / P1口置高电平(关闭) 如果((P3和0x10)= = 0)/ 3位是否显示完判断 键= 0; 数字 = 1;//循环右移1位 } } 无效timetobuffer() /转换段码功能模块 { xm0 = S / 100; xm1 = (s - 100 * xm0) / 10; xm2 = s - 100 * xm0 - 10 * xm1; buffer [2] = convert [xm2]; buffer [1] = convert [xm1]; buffer [0] = convert [xm0]; } void delay (in) { while (- in); } timer1int void (void) interrupt 3 using 2 { th1 = 0x9e; to illustrate the = 0x57; csbds + +; if (csbds = 40) { csbds = 0; cl = 1; } } csbcj (void) { if (a = = 1) { tr1 = 0; th0 = 0x00; tl0 = 0x00; in = 10; while (- -) { csbout =! csbout; } tr0 = 1; in = mqs; / / 盲区 while (- -) { } in = 0; while (csbint) { in + +; if (i = 2450) / / 上限值 csbint = 0; } tr0 = 0; th1 = 0x9e; to illustrate the = 0x57; t = th0; t = t * 256 + tl0; s = t * csbc / 2; tr1 = 1; cl = 0; } } void keyscan () / / 健盘处理函数 { xx = 0; if (k1! = 1) / / 判断开关是否按

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档