基于c51单片机超声波测距器设计内容摘要:

接收顺序的控制。 定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读 取、距离计算、结果的输出等工作。 图( 22) 主程序流程图 八、设计程序清单:。 ****************************************************。 USE BY :超声波测距器。 IC :AT89C51。 TEL :。 OSCCAL :XT (12M)。 display :共阳 LED显示。 Updata :2020/07/09。 ****************************************************。 测距范围 7CM11M,堆栈在 4FH 以上, 20H 用于标志。 显示缓冲单元在 40H43H,使用内存 44H、 45H、 46H 用于计算距离。 VOUT EQU。 红外脉冲输出端口 基于 C51 单片机超声波测距器课程设计 13 speak equ。 ********************************************。 * 中断入口程序 *。 ********************************************。 ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH RETI ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI。 ********************************************。 * 主 程 序 *。 ********************************************。 START: MOV SP,4FH MOV R0,40H。 40H43H为显示数据存放单元( 40H为最高位) MOV R7,0BH CLEARDISP: MOV @R0,00H INC R0 DJNZ R7,CLEARDISP MOV 20H , 00H MOV TMOD , 11H。 T1为 T0为 16位定时器 MOV TH0 , 00H。 65毫秒初值 MOV TL0 , 00H MOV TH1 , 00H MOV TL1 , 00H MOV P0 , 0FFH MOV P1 , 0FFH MOV P2 , 0FFH MOV P3 , 0FFH MOV R4 , 04H。 超声波肪冲个数控制(为赋值的一半) SETB PX0 SETB ET1 基于 C51 单片机超声波测距器课程设计 14 SETB EA SETB TR1。 开启测距定时器 start1: LCALL DISPLAY JNB 00H,START1。 收到反射信号时标志 位为 1 CLR EA LCALL WORK。 计算距离子程序 CLR EA MOV R2,32h。 64H。 测量间隔控制(约 4*100=400MS) LOOP: LCALL DISPLAY DJNZ R2,LOOP CLR 00H SETB ET0 MOV TH0,00H MOV TL0,00H SETB TR1。 重新开启测距定时器 SETB EA SJMP Start1。 ****************************************************。 * 中断程序 * *。 ****************************************************。 T1 中断,发超声波用。 T1 中断, 65毫秒中断一次。 INTT1: CLR EA CLR TR0 CLR EX0 MOV TH0 , 00H MOV TL0 , 00H MOV TH1 , 00H MOV TL1 , 00H SETB ET0 SETB EA SETB TR0。 启动计数器 T0,用以计数 INTT11: CPL VOUT。 40KHZ NOP NOP NOP NOP NOP NOP NOP NOP NOP 基于 C51 单片机超声波测距器课程设计 15 DJNZ R4 , INTT11。 超声波发送完毕, MOV R4,04H LCALL delay_250。 延时,避开发射的直达声波信号 SET。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。