云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 大学毕业设计---基于51单片机智能红外遥控器的

大学毕业设计---基于51单片机智能红外遥控器的

  • 62 次阅读
  • 3 次下载
  • 2025/7/15 8:50:17

青岛农业大学机电工程学院本科毕业设计(论文) CJNE A,#0FH,KEYH1;按键在第1行 SETB P3.5 CLR P3.6 MOV A,P3 ANL A,#0FH CJNE A,#0FH,KEYH2;按键在第2行 SETB P3.6 CLR P3.7 MOV A,P3 ANL A,#0FH CJNE A,#0FH,KEYH3;按键在第3行 LJMP KEYWORK

KEYH0: MOV R2,#00H;第0行行号初值为0 LJMP KEYL;查列线值

KEYH1: MOV R2,#04H;第1行行号初值为4 LJMP KEYL;查列线值

KEYH2: MOV R2,#08H;第2行行号初值为8 LJMP KEYL;查列线值

KEYH3: MOV R2,#0CH;第3行行号初值为12 LJMP KEYL;查列线值 KEYL: MOV DPTR,#TABL CLR A MOV R0,A

KEYLL: MOV A,R0;查列号开始 SUBB A,#04H;判断是不是4列检查完了 JNC KEYWORK MOV A,R0 MOVC A,@A+DPTR INC R0 ;R0存列值 CJNE A,B,KEYLL ;实际列值B与假设在那一列的值不等,则不再那一列,去查下一列 DEC R0 MOV A,R0;列值放入A ADD A,R2;求出键值 MOV B,A XRL A,#0CH JNZ X1 INC R1 MOV A,R3 ADD A,R1 AJMP X2

X1:MOV R1,#0 MOV R3,B MOV A,B X2: MOV P2,#00H MOV DPTR,#TABDISP;用数码管显示 MOVC A,@A+DPTR MOV P0,A CLR C RET

TABL:DB 0EH,0DH,0BH,07H

TABDISP:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

DELAY10MS:MOV R6,#20 ;2个机器周期 D1: MOV R7,#248 ;2个机器周期 DJNZ R7,$ ;2个机器周期

38

青岛农业大学机电工程学院本科毕业设计(论文) DJNZ R6,D1 ;2个机器周期 RET

FASE: MOV A,B ORL A,#0E0H MOV R4 ,#8 ;1us发送8 位 MOV R5 ,#20 ;1us 传输开始(同步帧) ,发送20个脉冲 LCALL H;2us调用一次子程序L20,产生20个脉冲的电平 GO: RLC A ;1us JC S1 ;2us判断是发送'0'还是'1'是\转到s1\ LCALL FAS0;2us LJMP NEXT;2us S1 : LCALL FAS1;2us

NEXT: DJNZ R4 ,GO ;2us发送8 位未完,继续 LCALL L10 ;2us 发送完,发送10个脉冲的低电平,结束 RET ;2us FASF: MOV A,B ORL A,#0F0H MOV R4 ,#8 ;1us发送8 位 MOV R5 ,# 20 ;1us 传输开始(同步帧) ,发送20个脉冲 LCALL H;2us调用一次子程序L20,产生20个脉冲的电平 GO2: RLC A ;1us JC S2 ;2us判断是发送'0'还是'1'是\转到s1\ LCALL FAS0;2us LJMP NEXT2;2us S2 : LCALL FAS1;2us NEXT2: DJNZ R4 ,GO2 ;2us发送8 位未完,继续 LCALL L10 ;2us 发送完,发送10个脉冲的低电平,结束 RET ;2us H: SETB P3.3 ;1μs MOV R6 , # 5 ;1μs DJNZ R6 , $ ;执行5 次×2μsP次= 10μs NOP ;1us CLR P3.3 ;1μs MOV R6 , # 4 ;1μs DJNZ R6 , $ ;8μs NOP ;1us DJNZ R5 ,H ;2μs RET ; FAS1: l1: CLR P3.3 ;1μs ************* MOV R6 , #124;1μs 10个脉冲的低电平 DJNZ R6 , $;248μs ************* MOV R5,#10;2us FS1: SETB P3.3 ;1μs MOV R6 , #5 ;1μs DJNZ R6 , $ ;执行5 次×2μsP次= 10μs NOP ;1us CLR P3.3 ;1μs MOV R6 , # 4 ;1μs DJNZ R6 , $ ;8μs

39

青岛农业大学机电工程学院本科毕业设计(论文) NOP ;1us DJNZ R5 ,FS1;2μs RET ;2us L20: CLR P3.3;1us MOV R5,#30 ;1us MOV R6,#225;1us DJNZ R6,$;450 DJNZ R5,$;60us RET;2us L10: CLR P3.3 ;1μs MOV R6 , #125;1μs DJNZ R6 , $;250μs RET ;2μs FAS0: l0: CLR P3.3;1us ************** MOV R5,#30 ;1us 20个脉冲宽度的低电平 MOV R6,#225;1us DJNZ R6,$;450 DJNZ R5,$;60us ***************** MOV R5,#10;1us FS0: SETB P3.3 ;1μs MOV R6 , #5 ;1μs DJNZ R6 , $ ;执行5 次×2μsP次= 10μs NOP ;1us CLR P3.3 ;1μs MOV R6 , #4 ;1μs DJNZ R6 , $ ;8μs NOP ;1us DJNZ R5 ,FS0;2μs RET ;2us DELAY: MOV R6 , # 11 ;1μs DJNZ R6 , $ ;22μs DJNZ R7 ,DELAY;每次2μs RET END

;----------------------------------------------------- ;接收一个字节的程序如下(0EH) ;程序清单

;----------------------------------------------------- SDA BIT P1.2 ;定义24C02数据线 SCL BIT P1.1 ;定义24C02时钟线 WP BIT P1.0 TEMP EQU 30H

DISSTART EQU 40H ;显示单元首地址 ORG 0000H AJMP MAIN ORG 0003H

40

青岛农业大学机电工程学院本科毕业设计(论文) LJMP EEX0 MAIN: CLR WP ACALL READ_DATA MOV B,A XSHI1: MOV A,B ; MOV A,#01H MOV P2,#02H MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P0,A JIES: SETB EA SETB EX0 LJMP XSHI1

TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH EEX0: CLR EA CLR EX0 J1: MOV R5,#8 ;接收8 位 ;MOV P2,#02H ;JB P3.2 ,$ ;等待同步帧,同步帧为低电平 MOV R7,#15; 同步帧(低电平) 到来后,延时等待15 个脉冲的时间 LCALL DELAY1 ; 调用一次子程序DELAY1,产生15个26μs 的延时 JB P3.2,Z1;延时15 个脉冲后,若P1. 0= 1 ,跳出中断 JNB P3.2 ,$ ;延时15 个脉冲后,若P1. 0 还是0 ,传输开始,再等编码中的高电平 GO: MOV R7 , #15 ; 编码中的高电平到来后,延时15 个脉冲的时间 LCALL DELAY1 JNB P3.2, RE1 ;延时15 个脉冲后,P1. 0 = 0转RE1 ,P1. 0 = 1 顺序执行 CLR C ; P1. 0 = 1 时应解码为0 ,使标志C 清0 RLC A ;把标志C = 0 移入寄存器A中,经8 次移位到A 的高位 JB P3.2 , $ ;跳过后续高电平 JNB P3.2 , $ ;再跳过后续低电平 LJMP NEXT ;转接收下一位

RE1 : SETB C ;P1. 0 = 0 时应解码为1 ,使标志C 置1 RLC A;把标志C = 0 移入寄存器A 中 JNB P3.2, $;跳过后续低电平

NEXT: DJNZ R5 ,GO ;8 位未接收完,继续 MOV R4,A ANL A,#0F0H XRL A,#0E0H JNZ Z1 MOV A,R4 ANL A,#0FH MOV B,A ;存要显示的数 MOV P2,#00H ;XSHI: MOV DPTR,#TAB ; MOVC A,@A+DPTR ; MOV P0,A MOV A,B CLR WP LCALL WRITE_DATA LCALL DELAY2MS ;Z2: LCALL DEL1S

41

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

青岛农业大学机电工程学院本科毕业设计(论文) CJNE A,#0FH,KEYH1;按键在第1行 SETB P3.5 CLR P3.6 MOV A,P3 ANL A,#0FH CJNE A,#0FH,KEYH2;按键在第2行 SETB P3.6 CLR P3.7 MOV A,P3 ANL A,#0FH CJNE A,#0FH,KEYH3;按键在第3行 LJMP KEYWORK KEYH0: MOV R2,#00H;第0行行号初值为0 LJMP KEYL;查列线值 KEYH1: MOV R2,#04H;第1行行号初值为4 LJMP KEYL;查列线值 KEYH2: MOV R2,#08H;第2行行号初值为8 LJMP KEYL;查列线值 KEYH3: MOV R2,#

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com