第一范文网 - 专业文章范例文档资料分享平台

基于AT89C51单片机超声波测距仪的设计毕业设计

来源:用户分享 时间:2025/8/24 1:57:43 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

参考文献

[1]谢维成,杨加国.单片机原理与应用及C51程序设计.北京:清华大学出版社,2006 [2]蔡菲娜.单片微型计算机原理和应用.杭州:杭州大学出版社,1995 [3]李建忠.单片机原理及应用.西安:西安电子科技大学出版社,2002

[4]张齐等.单片机应用系统设计技术----基于C语言编程.北京:电子工业出版社,2004 [5]吴延海.微型计算机接口技术.重庆:重庆大学出版社,1997 [6]李丽霞.单片机在超声波测距中的应用[J].电子技术,2002

[7]姜道连,宁延一,袁世良.用AT89C2051设计超声波测距仪[J].国外电子元器件,2000 [8]张鹏,张有志.一种新型超生测距系统[J].山东:山东大学学报,2003,33(1)

[9]李学海.PIC单片机实用教程-基础篇(第1版)[M].北京航天航空大学出版社.北京:2002 年2月。

[10]陈大新,胡学同,周杏鹏.利用FPGA改进超声波测距模块设计[J].传感器技术,2005,24(2): 57~59

[11]朱伟芳.一种便携式长度测量系统的硬件设计[J].江苏电器,2005,5:14-15

29

附录

附录1电路原理图

30

附录2程序源代码

超声测距器单片机程序 MCU AT89C51 XAL 12 MHz #include < reg51.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long extern void cs_t(void); extern void delay(unit); extern void display(uchar *); data uchar testok;

/ * 主程序 * / void main (void) {

data uchar dispram[5]; data uint i; data ulong time; p0=0xff; p2=0xff; TMOD=0x11; IE=0x80; while (1) {

cs_t(); delay(1); testok=0; EX0=1; ET0=1;

while ( ! testok ) display(dispram); if ( 1==testok) {

31

time = TH0;

time = (time<<8)|TL0; time * =172; time /=100000;

dispram[0]=(uchar) (time % 10); time /=10;

dispram[1]=(uchar) (time % 10); time /=10;

dispram[2]=(uchar) (time % 10); dispram[3]=(uchar) (time % 10); if(0==dispram[3]) dispram[3] =17; } else {

Dispram[0] = 16; Dispram[1] = 16; Dispram[2] = 16; Dispram[3] = 16; }

for (i=0; i<=300; i++) display(dispram); } }

/ * 超声波接收程序(外中断0)* / Void cs_r(void) interrupt 0 {

TR0 = 0; ET0 = 0; EX0 = 0; testok = 1; }

/ * 超声波清除程序(内中断 T0)*/

32

基于AT89C51单片机超声波测距仪的设计毕业设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c43uef17k760a6ri16ozy38gut0xsx2013v4_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top