




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.(1786)一种简单串行鼠标控制的单片机实现完整的程序清单如下:. 完整的程序清单如下: ORG 0000H AJMP MAIN ORG 0023H AJMP RTSD ORG 0030HMAIN: MOV SP,#60H MOV R1,#00H ;X方向指针 MOV R2,#00H ;X方向移动记数 MOV R3,#00H ;Y方向指针 MOV R4,#00H ;Y方向移动记数 MOV R7,#00H ;循环延时指针 MOV TMOD,#20H ;置T1工作方式2 MOV TL1,#0E8H ;置1200波特率相应的时间常数 MOV TH1,#0E8H MOV SCON,#40H MOV PCON,#00H SETB EA ;CPU开中断 SETB ES SETB TR1 MOV A,#0CDH MOV SBUF,A MOV R0,#32H ;数据发送指针(R0) SETB 18H ;18H为左右键上次发送时的状态 SETB 19H ;19H为左右键上次发送时的状态 CLR 11H ;鼠标动标志初始化 SETB 10H;读鼠标左右上下移动初始状态MOVT: JB P1.2,MT1 ;读取左右移动初始化状态 JB P1.3,MT2 ;并设定标志位 MOV 20H,#01H AJMP JUDGMT1: JB P1.3,MT3 MOV 20H,#02H AJMP JUDGMT3: MOV 20H,#04H AJMP JUDGMT2: MOV 20H,#08HJUDG: JB P1.4,CON1 ;读取上下移动初始化状态 JB P1.5,CON2 ;并设定标志位 MOV 21H,#01H AJMP LOOPCON1: JB P1.5,CON3 MOV 21H,#02H AJMP LOOPCON3: MOV 21H,#04H AJMP LOOPCON2: MOV 21H,#08H;初始化结束后进入正常扫描状态;左右移动扫描LOOP: JB 00H,AOP JB 01H,BOP JB 02H,COP JB 03H,DOOPAOP: JB P1.2,AOP1 JB P1.3,AOP2 MOV 20H,#01H AJMP KOOPAOP1: JB P1.3,ERRA MOV 20H,#02H INC R1 CJNE R1,#04H,AP1 MOV R1,#00H INC R2AP1: AJMP KOOPAOP2: MOV 20H,#08H ;否则为负(0) DEC R1 CJNE R1,#0FCH,AP2 MOV R1,#00H DEC R2AP2: AJMP KOOPERRA: MOV R1,#00H MOV 20H,#04H ;扫描错误处理 AJMP KOOPBOP: JNB P1.2,BOP1 JB P1.3,BOP2 MOV 20H,#02H AJMP KOOPBOP1: JB P1.3,ERRB MOV 20H,#01H DEC R1 CJNE R1,#0FCH,BP1 MOV R1,#00H DEC R2BP1: AJMP KOOPBOP2: MOV 20H,#04H INC R1 CJNE R1,#04H,BP2 MOV R1,#00H INC R2BP2: AJMP KOOPERRB: MOV R1,#00H MOV 20H,#08H AJMP KOOPDOOP: AJMP DOPCOP: JNB P1.2,COP1 JNB P1.3,COP2 MOV 20H,#04H AJMP KOOPCOP1: JNB P1.3,ERRC MOV 20H,#08H INC R1 CJNE R1,#04H,CP1 MOV R1,#00H INC R2CP1: AJMP KOOPCOP2: MOV 20H,#02H DEC R1 CJNE R1,#0FCH,CP2 MOV R1,#00H DEC R2CP2: AJMP KOOPERRC: MOV R1,#00H MOV 20H,#01H AJMP KOOPDOP: JB P1.2,DOP1 JNB P1.3,DOP2 MOV 20H,#08H AJMP KOOPDOP1: JNB P1.3,ERRD MOV 20H,#04H DEC R1 CJNE R1,#0FCH,DP1 MOV R1,#00H DEC R2DP1: AJMP KOOPDOP2: MOV 20H,#01H INC R1 CJNE R1,#04H,DP2 MOV R1,#00H INC R2DP2: AJMP KOOPERRD: MOV R1,#00H MOV 20H,#02H;上下移动扫描KOOP: JB 08H,AAOP JB 09H,BBOP JB 0AH,CCOP JB 0BH,DDOPAAOP: JB P1.4,AAOP1 JB P1.5,AAOP2 MOV 21H,#01H AJMP KENDAAOP1: JB P1.5,EERA MOV 21H,#02H INC R3 CJNE R3,#04H,AAP1 MOV R3,#00H INC R4AAP1: AJMP KENDAAOP2: MOV 21H,#08H DEC R3 CJNE R3,#0FCH,AAP2 MOV R3,#00H DEC R4AAP2: AJMP KENDEERA: MOV R3,#00H MOV 21H,#04H ;扫描错误处理 AJMP KENDBBOP: JNB P1.4,BBOP1 JB P1.5,BBOP2 MOV 21H,#02H AJMP KENDBBOP1: JB P1.5,EERB MOV 21H,#01H DEC R3 CJNE R3,#0FCH,BBP1 MOV R3,#00H DEC R4BBP1: AJMP KENDBBOP2: MOV 21H,#04H INC R3 CJNE R3,#04H,BBP2 MOV R3,#00H INC R4BBP2: AJMP KOOPEERB: MOV R3,#00H MOV 21H,#08H AJMP KENDDDOP: AJMP DDPPCCOP: JNB P1.4,CCOP1 JNB P1.5,CCOP2 MOV 21H,#04H AJMP KENDCCOP1: JNB P1.5,EERC MOV 21H,#08H INC R3 CJNE R3,#04H,CCP1 MOV R3,#00H DEC R4CCP1: AJMP KENDCCOP2: MOV 21H,#02H DEC R3 CJNE R3,#0FCH,CCP2 MOV R3,#00H DEC R4CCP2: AJMP KENDEERC: MOV R3,#00H MOV 21H,#01H AJMP KENDDDPP: JB P1.4,DDOP1 JNB P1.5,DDOP2 MOV 21H,#08H AJMP KENDDDOP1: JNB P1.5,EERD MOV 21H,#04H DEC R3 CJNE R3,#0FCH,DDP1 MOV R3,#00H DEC R4DDP1: AJMP KENDDDOP2: MOV 21H,#01H INC R3 CJNE R3,#04H,DDP2 MOV R3,#00H INC R4DDP2: AJMP KENDEERD: MOV R3,#00H MOV 21H,#02H;正常扫描一次结束KEND: JNB 10H,NXD ACALL JNCE ;调判断有无键按下及鼠标移动子程序 JNB 11H,NSEND INC R7 CJNE R7,#64H,NSEND MOV R7,#00H ACALL PANDNXD: JNB 1FH,NSEND ;三字节数据发送完标志 SETB 10H ACALL SHSD ;调数据处理与发送程序NSEND: AJMP LOOP;串口中断程序RTSD: CLR TI INC R0 CJNE R0,#33H,GOON SETB 1FH AJMP QUITGOON: MOV A,R0 MOV SBUF,A CLR 1FHQUIT: RETI;判断有无键按下,释放及移动子程序JNCE: JNB 18H,FYT JNB P1.6,SEND AJMP XIA1FYT: JB P1.6,SEND AJMP XIA1XIA1: JNB 17H,FF1 JNB P1.7,SEND AJMP XIA2FF1: JB P1.7,SEND AJMP XIA2XIA2: CJNE R2,#00H,SEND CJNE R4,#00H,SEND AJMP NENDSEND: SETB 11HNEND: RET;数据处理与发送子程序SHSD: MOV A,R2 ANL A,#3FH ORL A,#80H ;字节的最高位置1,(第一个停止位) MOV 31H,A MOV A,R4 ANL A,#3FH ORL A,#80H ;字节的最高位置1,(第一个停止位) MOV 32H,A MOV A,#0C0H JNB P1.6,CHAN1 CLR ACC.5 SETB 18H AJMP CHAN2CHAN1: CLR 18H SETB ACC.5CHAN2: JNB P1.7,CHAN3 CLR ACC.4 SETB 19H AJMP CHAN4CHAN3: CLR 19H SETB ACC.4CHAN4: MOV R5,A MOV A,R2 RL A RL A ANL A,#03H MOV R2,A MOV A,R4 SWAP A ANL A,#0CH ORL A,R2 ORL A,R5 MOV SBUF,A MOV R0,#30H MOV R2,#00H MOV R4,#00H RET;延时后确认有无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030AI制药行业靶点发现分析及算法迭代与药企合作开发案例研究
- 数实融合推动新型工业化的发展路径
- 量子密钥存储机制-洞察及研究
- 2025年液压试题及答案
- 2025年传感器试题及答案
- 2025年学历类自考学前儿童体育教育-西方行政学说史参考题库含答案解析(5套试卷)
- 品牌联名合作效应分析-洞察及研究
- 2025年学历类自考中小学教育管理-经济法概论参考题库含答案解析(5套试卷)
- 2025年学历类自考中外文学作品导读-社会学概论参考题库含答案解析(5套试卷)
- 刮痧光子治疗结合-洞察及研究
- 纪念抗美援朝队会课件
- 2025-2026学年人教版(2024)小学数学三年级上册(全册)教学设计(附目录P296)
- 2025广东茂名市信宜市供销合作联社招聘基层供销社负责人2人笔试模拟试题及答案解析
- 2025年山东省临沂市、枣庄市、聊城市、菏泽市、济宁市中考语文试题解读
- 2025年秋季学期第一次中层干部会议上校长讲话:凝心聚力明方向沉心落力干实事
- 医院患者身份识别核查流程规范
- 2025年北京市综合评标专家库专家考试历年参考题库含答案详解(5套)
- 2025年全国特种设备安全管理人员A证考试题库(含答案)
- 浙江省金华市婺城区2024-2025学年七年级上学期语文期中考试试卷(含答案)
- DGJ08-81-2015 现有建筑抗震鉴定与加固规程
- 碳中和技术概论全套教学课件
评论
0/150
提交评论