- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.按键4处理程序 按键4用来设置测距仪工作于反射工作模式还是对射工作模式,上电初始化为反射工作模式,如果按键4被按下就可以切换到对射工作模式,当然再次按下按键4也可以从对射工作模式切换回反射工作模式。 8.5.4 子程序及中断服务程序设计 1) 按键扫描程序 该程序实现按键扫描功能,如果有按键按下则带回相应的按键值,如果无按键按下则带回的按键值为0xff。 按键值为0xff。 /**********按键扫描*********/ uchar key_scan() { uchar i,j=0xFF; kd|=0x0F; key_led=kd; _nop_(); _nop_(); i=key_led; i=~i; i=0x0F; if(i!=0) { delay(10) ; //消抖 i=key_led; i=~i; i=0x0F; if(i!=0) { switch(i) //按键判断 { case 0x01:j=0x01;break; case 0x02:j=0x02;break; case 0x04:j=0x03;break; case 0x08:j=0x04;break; default: break; } do { i=key_led; i=~i; i=0x0F; }while(i); //等待按键释放 } } return j ; } 2) 超声波发送程序 先发送20个方波的脉冲,发射完成后延时10个方波的时间来避开盲区,以防超声波未经反射直接进入接收探头,最后打开计时、接收中断。 /******发送脉冲*****/ void send() { flag=0; time_end=0; T0_init(); T2_init(); while(time_end==0); time_end=0; T00_init(); TR0=1; while(TF0==0); TR0=1; TF0=0; TH1=0; TL1=0; IE1=0; EX1=1; EA=1; ET1=1; TR1=1; } 3) 定时器T0的中断程序 定时器T0被用来控制发射超声波脉冲的数目。每次测量时发送20个40 kHz的脉冲信号,当脉冲发送开始时同时启动定时器T0,当T0中断时表示20个脉冲发送完毕。在中断处理程序中关闭定时器T2,将停止超声波信号的发射。 4) 接收和溢出中断 外部中断INT1作为超声波脉冲接收中断,在初始化时被设置为下降沿触发。当接收到超声波信号后INT1中断,在该中断处理程序中将定时器T1的计数值保存,并关闭INT1和定时器T1的定时中断,最后置位接收中断标志位flag后返回,flag表示成功地接收到了超声波信号。 当INT1直到定时计数器T1的溢出中断已经发生还没有触发,则说明发射的超声波信号未被接收到,可能是探头未对准障碍物没有足够强的信号被反射回来或测量超范围,此时可以调整重新测量。当T1溢出中断发生时,在其中断程序中会设置f_over=1,表示测量超时,中断返回后依据此标志的置位终止当前的一次测量,这样就能防止程序发生死锁现象。 8.6 程 序 清 单 1.头文件 typedef unsigned char uchar; typedef unsigned char code ucharc; typedef unsigned int uint; typedef unsigned long int ulong; /*****位变量定义******/ sbit clk=P1^0; sbit le1=P1^1; sbit le2=P1^2; sbit le3=P1^3; sbit le4=P1^4; sbit fmq=P3^7; sbit led1=P0^4; sbit led2=P0^5; sbit led3=P0^6; sbit led4=P0^7; sbit CS_F=P3^6; /******全局变量定义*******/ uchar bdata kd; sbit
您可能关注的文档
- MATLAB7.x基础教程第7章基本绘图功能.ppt
- MATLAB7.x基础教程第8章Simulink仿真环境.ppt
- Web编程基础第1章HTML基础.ppt
- Web编程基础第3章CSS样式.ppt
- Web编程基础第4章DIV和页面布局技术.ppt
- Web编程基础第5章JavaScript基础.ppt
- Web编程基础第6章JavaScript对象.ppt
- Web编程基础第7章DOM编程.ppt
- Web编程基础第10章运用DOM处理XML.ppt
- 电工电子实践基础第1章安全用电知识.ppt
- 2025年B2B企业内容营销策略:内容营销在能源行业的应用.docx
- 宠物主人宠物医疗消费习惯与全面服务需求分析报告.docx
- 物联网在智能工厂中的应用与商业化前景分析报告.docx
- B2B行业内容营销趋势分析报告:2025年案例解析与客户转化技巧.docx
- 南美跨境电商市场跨境电商平台本地化支付解决方案与风险控制研究.docx
- 小学语文“作文教学”与写作技巧培养策略研究论文.docx
- 基于大数据的初中语文作文评价系统设计与应用论文.docx
- 2024-2025学年小学科学三年级上册苏教版(2024)教学设计合集.docx
- 跨境电商物流海外仓仓储物流设备租赁与共享模式创新与案例分析报告与市场前景分析.docx
- 职场新人办公效率提升策略研究:办公软件与工作流程优化.docx
最近下载
- 2025形势与政策-加快建设社会主义文化强国.pptx
- 人教版(2025)七年级下册Unit1Animal FriendsSection B How are animals part of our lives Section B 1a~2b课件+音频(共3.pptx VIP
- 110kv变电站继电保护毕业设计.doc VIP
- 公路隧道工程施工.pptx
- 电信行业运营商业务连续性保障方案.doc VIP
- 生态酒店设计分析.pptx
- GB∕T 702-2017 热轧钢棒尺寸、外形、重量及允许偏差(高清版).pdf
- 2025-2030年中国采血器产业运行动态分析及投资战略咨询报告.docx
- 江苏旅游资源的特征与分类及开发思考.pptx VIP
- 海南大学2022-2023学年《细胞生物学》期末考试试卷(B卷)附参考答案.docx
文档评论(0)