基于89c51超声波测距论文内容摘要:

LJMP START ORG 0003H LJMP PINT0 ORG 000BH LJMP INTT0 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,21H。 T1 为 8位自动重装模式, T0为 16 位定时器 MOV TH0,00H。 65 毫秒初值 MOV TL0,00H MOV TH1,0F2H。 40KHZ 初值 MOV TL1,0F2H MOV P0,0FFH MOV P1,0FFH MOV P2,0FFH MOV P3,0FFH MOV R4,04H。 超声波肪冲个数控制(为赋值的一半) SETB PX0 SETB ET0 SETB EA SETB TR0。 开启测距定时器 start1: LCALL DISPLAY JNB 00H,START1。 收到反射信号时标志位为 1 第 9 页 江苏技术师范学院课程设计论文 9 CLR EA LCALL WORK。 计算距离子程序 SETB EA CLR 00H SETB TR0。 重新开启测距定时器 MOV R2,64H。 测量间隔控制(约 4*100=400MS) LOOP: LCALL DISPLAY DJNZ R2,LOOP SJMP Start1。 ****************************************************。 * 中断程序 * *。 ****************************************************。 T0 中断, 65 毫秒中断一次 INTT0: CLR EA CLR TR0 MOV TH0,00H MOV TL0,00H SETB ET1 SETB EA SETB TR0。 启动计数器 T0,用以计算超声来回时间 SETB TR1。 开启发超声波用定时器 T1 OUT: RETI。 T1 中断,发超声波用 INTT1: CPL VOUT DJNZ R4,RETIOUT CLR TR1。 超声波发送完毕,关 T1 CLR ET1。 MOV R4,04H SETB EX0。 开启接收回波中断 RETIOUT: RETI。 外中断 0,收到回波时进入 PINT0: CLR TR0。 关计数器 CLR TR1 CLR ET1 CLR EA。 CLR EX0。 MOV 44H,TL0。 将计数值移入处理单元 MOV 45H,TH0。 SETB 00H。 接收成功标志 RETI。 **************************************************** 第 10 页 江苏技术师范学院课程设计论文 10。 * 显示程序 *。 ****************************************************。 40H 为最高位, 43H 为最低位,先扫描高位 DISPLAY: MOV R1,40H。 G。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。