《单片机接口技术报告》
课程设计报告
题 目 超声波测距离课程设计
姓 名 姓名 学号
汪为民 15510505041 程长春 15510505007
江照锋 15510505017 朱伟伟 15510505064 杨继虎 15510505053
张 涛 15510505057 专业班级 1 5自 动 化 指导教师 蔺 玉 柱 日 期 2017.6.8 1
目 录
一、设计任务与要求 ..................................................................................... 错误!未定义书签。
二、元件清单及简介 ..................................................................................... 错误!未定义书签。 三、设计原理分析....................................................................................................................... ....4
3.1 数码管显示距离模块 ...................................................................... 错误!未定义书签。 3.2 超声波传感器原理及简介 ................................................................................................ 5 四、设计中的问题及改进 ............................................................................................................... 6 五、总结........................................................................................................................................... 6 六、源代码.......................................................................................................................................7 七、电路图.......................................................................................................................................9 八、参考文献 ................................................................................................................................. 10
超声波测距离的设计
2
一、设计任务与要求
1、确定系统设计方案; 2、进行系统的硬件设计;
3、完成必要的参数计算与元器件选择; 4、完成应用程序设计; 5、应用程序的调试。
二、元器件清单及简介
1、单片机最小系统板
2、超声波传感器(hc-sr04) 3、四段数码管
元器件简介:
1.(1)单片机技术自发展以来已走过了近20年的发展路程 。单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。小到遥控电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。针对单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生单片机开发板也称单片机学习板、单片机实验板。比较有名的例如电子人DZR-01A单片机开发板
(2) 单片机开发板是用于学习51、STC、AVR型号的单片机实验设备。根据单片机使用的型号又有51单片机开发板、STC单片机开发板、AVR单片机开发板。常见配套有硬件、实验程序源码、电路原理图、电路PCB图等学习资料。例如电子人单片机开发板,针对部分学者需要特别配套有VB上位机软件开发,游戏开发等教程学习资料。开发此类单片机开发板的公司一般提供完善的售后服务与技术支持
2. 超声波传感器hc-sr04工作原理及简介
(1)采用IO口TRIG触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2; 本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定
3
时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值
3. 数码管工作原理及简介
四位数码管是一种半导体发光器件,其基本单元是发光二极管。能显示4个数码管叫四位数码管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
三.设计原理分析
单元电路:
(一)数码管显示距离模块
设计思路:通过函数将距离显示到数码管中,中间使用延时和消隐技术将数码管显示更清楚。
void display(uint temp)//将距离在数码管上显示 {
uchar one,two,three; one=temp/100;
two=(temp0)/10; three=temp; a1=a2=a3=1; a1=0;
P0=table[one]; delay(5); P0=0xff;
4
a1=a2=a3=1; a2=0;
P0=table[two]; delay(5); P0=0xff;
a1=a2=a3=1; a3=0;
P0=table[three]; delay(5); P0=0xff; }
(二)超声波测距模块
设计思路:通过对hc-sr04发送超过10us的高电平,模块自动发送8个40khz的方波,检测是否有信号返回,并通过定时器判断信号响应端口echo高电平的时间,进而根据声波的计算出距离,将距离返回到数码管显示距离模块。
void main() //echo输出响应 {
//test =0; Trig=0; Echo=0; EA=1;
TMOD=0x10; while(1) {
EA=0; Trig=1;
delay_20us();//延时等待 Trig=0;
while(Echo==0); succeed_flag=0; EA=1; //开启总中断 TH1=0; TL1=0;
EX0=1; //开启外部中断 TR1=1; TF1=0;// //delay(200);
5