版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;///////////////////////////////////////////////////////;USEBY:超声波测距器;测距范围xxCM-yyCM,堆栈在4FH以上,20H用于标志;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离VOUTEQUP1.0 ;红外脉冲输出端口speakequp1.1;喇叭输出端口;*中断入口程序*ORG0000HLJMPSTARTORG0003HLJMPPINT0ORG000BHretiORG0013HRETIORG001BHLJMPINTT1ORG0023HRETIORG002BHRETI;*主程序;*START:MOVMOVSP,#4FHR0,#40H;40H-43H为显示数据存放单兀(40H为最高位)MOVR7,#0BHCLEARDISP:MOV@R0,#00HINCR0DJNZR7,CLEARDISPMOV20H,#00HMOVTMOD,#11H;T1/T0为16位定时器MOVTH0,#00H;65毫秒初值MOVTL0,#00HMOVTH1,#00HMOVTL1,#00HMOVP0,#0FFHMOVP1,#0FFHMOVP2,#0FFHMOVP3,#0FFHMOVR4,#04HSETBPX0SETBET1SETBEASETBTR1;超声波脉冲个数控制(为赋值的一半);开启测距定时器start1:LCALLDISPLAYJNB00H,START1CLREALCALLWORKclrEAMOVR2,#32h;#64H
;收到反射信号时标志位为1;计算距离子程序;测量间隔控制(约4*100=400MS)LOOP:LCALLDISPLAYDJNZ R2,LOOPCLR 00Hsetbet0mov th0,00hmov tl0,00hSETB TR1 ;重新开启测距定时器SETB EASJMPStart1;*中断程序* *;T1中断,发超声波用;T1中断,65毫秒中断一次INTT1:CLREACLRTR0clrex0MOVTH0,#00HMOVTL0,#00HMOVTH1,#00HMOVTL1,#00HSETBET0SETBEASETBTRO ;启动计数器TO,用以计数intt11:CPLnopnopnopnopVOUT ;40KHZ
nopnopnopnopnopDJNZR4,intt11;超声波发送完毕,MOVR4,#04H ;只发送了两个周期lcalldelay_250;延时,避开发射的直达声波信号SETBEX0 ;开启接收回波中断RETIOUT:RETI;外中断0PINT0:收到回波时进入;外中断0PINT0:收到回波时进入nopjbp3.2,pint0_exitCLRTR0;关计数器CLREA\CLREX0\MOV44H,TL0;将计数值移入处理单元MOV45H,TH0\movth0,#00hmovtl0,#00hjnbp3.2,$SETB00H;接收成功标志pint0_exit:RETI;*、显示程序;*、;40H为最高位,43H为最低位,先扫描高位DISPLAY:MOVR1,#40H;GMOVR5,#7fH;GPLAY:MOVA,R5MOVP0,#0FFHMOVP2,AMOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,ALCALLDL1MSINCR1MOVA,R5JNBACC.4,ENDOUT;GRRAMOVR5,AAJMPPLAY
ENDOUT:MOVP2,#0FFHMOVP0,#0FFHRETTAB:DB18h,7Bh,2Ch,29h,4Bh,89h,88h,3Bh,08h,09h,0ffh;共阳段码表"0""1""2" "3""4""5""6""7""8""9""不亮""A""-";*延时程序(1ms) *DL1MS:push 06hpush 07hMOV R6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DL2:DJNZR7,DL2DJNZR6,DL1pop07hpop06hRET; 距离计算程序(=计数值*17/1000cm) *work:PUSHACCPUSHPSWPUSHBMOVPSW,#18hMOVR3,45HMOVR2,44HMOVR1,#00DMOVR0,#17DLCALLMUL2BY2MOVR3,#03HMOVR2,#0E8HLCALLDIV4BY2LCALLDIV4BY2MOV40H,R4MOVA,40H;最高位为零,不点亮;最高位为零,不点亮MOV40H,#0AHJJ0:MOVA,R0MOVR4,AMOVA,R1MOVR5,A
MOVR3,#00DMOVR2,#100DLCALLDIV4BY2JJ1:JJ2:MOV41H,R4JJ1:JJ2:MOVA,41HJNZJJ1MOVA,40H ;次高位为0,先看最高位是否为不亮SUBBA,#0AHJNZJJ1MOV41H,#0AH;最高位不亮,次高位也不亮MOVA,R0MOVR4,AMOVA,R1MOVR5,AMOVR3,#00DMOVR2,#10DLCALLDIV4BY2MOV42H,R4MOVA,42HJNZJJ2MOVA,41H ;次次高位为0,先看次高位是否为不亮SUBBA,#0AHJNZJJ2MOV42H,#0AH;次高位不亮,次次高位也不亮MOV43H,R0POPBPOPPSWPOPACCRET;*两字节无符号数乘法程序*;R7R6R5R4<=R3R2*R1R0MUL2BY2:CLRAMOVR7,AMOVR6,AMOVR5,AMOVR4,AMOV46H,#10HMULLOOP1:CLRCMOVA,R4RLCAMOVR4,AMOVA,R5
RLCAMOVR5,AMOVA,R6RLCAMOVR6,AMOVA,R7RLCAMOVR7,AMOVA,R0RLCAMOVR0,AMOVA,R1RLCAMOVR1,AJNCMULLOOP2MOVA,R4ADDA,R2MOVR4,AMOVA,R5ADDCA,R3MOVR5,AMOVA,R6ADDCA,#00HMOVR6,AMOVA,R7ADDCA,#00HMOVR7,AMULLOOP2:DJNZ46H,MULLOOP1RET;* 四字节/两字节无符号数除法程序 *; R7R6R5R4/R3R2=R7R6R5R4(商)...R1R0(余数)DIV4BY2:MOV46H,#20HMOVR0,#00HMOVR1,#00HDIVLOOP1:MOVA,R4RLCAMOVR4,AMOVA,R5RLCAMOVR5,AMOVA,R6RLCA
MOVR6,AMOVA,R7RLCAMOVR7,AMOVA,R0RLCAMOVR0,AMOVA,R1RLCAMOVR1,ACLRCMOVA,R0SUBBA,R2MOVB,AMOVA,R1SUBBA,R3JCDIVLOOP2MOVR0,BMOVR1,ADIVLOOP2:CPLCDJNZ46H,DIVLOOP1MOVA,R4RLCAMOVR4,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度高端定制旅游服务合同2篇
- 一次性付款2024年度技术转让合同2篇
- 基于人工智能的打车服务2024年度技术许可合同2篇
- 二零二四年度智能电网监控系统开发合同2篇
- 2024年度新媒体运营与推广合同3篇
- 2024企业虚拟股权奖金分配合同版B版
- 建筑工程分包合同在2024年度的验收标准与流程
- 2024年度版权质押合同标的和具体条款2篇
- 二零二四年度房地产项目转让合同服务内容扩展3篇
- 2024年人工智能技术研发与落地应用合同
- 2024年小学体育新课标测评考试题库(含答案)
- 部编 2024版历史七年级上册期末(全册)复习卷(后附答案及解析)
- GB 15740-2024汽车防盗装置
- 《篮球移动技术 行进间传球》教案(共三篇)
- 眼镜验光员(二级)技能鉴定考试题及答案
- 期中试卷(1-5单元)(试题)-2024-2025学年五年级上册数学苏教版
- 人工智能岗位招聘笔试题及解答(某大型央企)2025年
- 关于粤菜的课件
- 宫颈机能不全护理
- 2024-2030年中国光伏发电行业市场发展分析及前景趋势与投资战略研究报告
- 2024年中国骨关节炎诊疗指南解读课件
评论
0/150
提交评论