基于51单片机的自学习型遥控器设计与实现 - 图文(6)

2019-05-27 17:18

陈洋德:基于51单片机的自学习型遥控器设计与实现

RLC A

DJNZ R3,LOOP6 MOV ZHENGMA,A

LOOP8:

MOV R3,#8 LOOP9:JNB P3.2,$ LCALL D088MS MOV C,P3.2 JNC LOOP10 LCALL D1MS LOOP10: RLC A

DJNZ R3,LOOP9 MOV FANGMA,A MOV A,35H CPL A

CJNE A,34H,EXIT LJMP STORE

EXIT:

SETB EA AJMP $

D8S:

MOV R4,#200

D1:

MOV R5,#200

D2: MOV R6,#98 DJNZ R6,$ DJNZ R5,D2 DJNZ R4,D1 RET D088MS:

MOV R4,#20

D3: MOV R5,#20 DJNZ R5,$ DJNZ R4,D3

- 26 -

铜陵学院毕业设计

RET D474MS:

MOV R4,#10

D4: MOV R5,#235 DJNZ R5,$ DJNZ R4,D4 RET D1MS: MOV R4,#2 D5: MOV R5,#248 DJNZ R5,$ DJNZ R4,D5 RET

STORE:

MOV MACHINEAD,#10100000B

AJMP START ORG 0030H START:

MOV SP,#60H

MOV R0,#30H

MAIN: LCALL KEY JNZ M2 MOV R6,#6 MOV R2,#0

M1:

MOV RAMADDRESS,R0 INC R0

MOV I2CADDRESS,R2 CALL I2CWRITE INC R2

DJNZ R6,M1 LJMP SELECT M2:

CJNE A,#1,M3

MOV R6,#6 MOV R2,#6

M4: MOV RAMADDRESS,R0

;程序开始 ;存入I2C中的地址- 27 -

陈洋德:基于51单片机的自学习型遥控器设计与实现

INC R0

MOV I2CADDRESS,R2 ;存入I2C中的地址 CALL I2CWRITE INC R2

DJNZ R6,M4

M3: LJMP SELECT

;************************************************** ; 写串行E2PROM子程序I2CWRITE ;************************************************** I2CWRITE:

SETB RS1 ;选择寄存器2组

CLR RS0 ;保护寄存器0、1组中的内容 MOV R1,RAMADDRESS SETB SCL SETB SDA

CLR SDA ;发开始信号 MOV A,#MACHINEAD ;送器件地址 CALL BITS

MOV A,I2CADDRESS ;将存入I2c总线的内部地址单元 CALL BITS

MOV A,@R1 ;预送I2C保存数据的RAM内容送ACC CALL BITS ;调发送单字节子程序 CLR SDA ;SDA置0, 准备送停止信号 CALL DELAYI2C ;延时以满足传输速率要求 SETB SCL ;发停止信号; CALL DELAYI2C SETB SDA RET

;************************************************** ; 发送单字节子程序

;************************************************** BITS:

MOV R0,#08H MOOP: CLR SCL; RLC A ;

- 28 -

铜陵学院毕业设计

MOV SDA,C; NOP SETB SCL; CALL DELAYI2C

DJNZ R0,MOOP ;循环8次送8个bit

CLR SCL; CALL DELAYI2C SETB SCL REP: MOV C,SDA

JC REP ;判应答到否,未到则等待 CLR SCL ; RET

;************************************************** ;按键去抖延时子程序 ;Delay time=10ms

;************************************************** KEYDELAY:

MOV R6,#20H KEYDELA2: MOV R7,#248 KEYDELA1:

DJNZ R7,KEYDELA1 DJNZ R6,KEYDELA2 RET

;************************************************** ; I2C器件延时子程序 ; Delay time=4us

;************************************************** DELAYI2C: NOP NOP RET ;键盘程序 KEY:

LCALL KS

- 29 -

陈洋德:基于51单片机的自学习型遥控器设计与实现

JZ KEY LCALL DELAY LCALL KS JZ KEY MOV R2,#0EFH MOV R4,#00H

K1: MOV P1,R2 L1:

JB P1.0,L2 MOV A,#00H AJMP LK

L2:

JB P1.1,L3 MOV A,#04H AJMP LK L3:

JB P1.2,L4 MOV A,#8 AJMP LK L4:

JB P1.3,NEXT MOV A,#12 LK:

ADD A,R4 PUSH ACC K2:

LCALL DELAY LCALL KS JNZ K2 POP ACC RET NEXT:

INC R4

MOV A,R2

JNB ACC.7,KEY

- 30 -


基于51单片机的自学习型遥控器设计与实现 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅谈我国高校体育舞蹈教学的现状与对策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: