请单片机高手解释一段代码 谢谢 20
毕业设计中的一段代码实现的功能倒是明白但不知道执行的细节请高手帮忙解释一下谢谢voidROMDS1820(void)//跳过ROM匹配{#pragmaasmMOVA,#0...
毕业设计中的一段代码 实现的功能倒是明白 但不知道执行的细节 请高手帮忙解释一下 谢谢
void ROMDS1820(void) //跳过ROM匹配
{
#pragma asm
MOV A,#0CCH
MOV R2,#8
CLR C
WR1:
CLR P3_7
MOV R3,#6
DJNZ R3,$
RRC A
MOV P3_7,C
MOV R3,#23
DJNZ R3,$
SETB P3_7
NOP
DJNZ R2,WR1
SETB P3_7
#pragma endasm
} 展开
void ROMDS1820(void) //跳过ROM匹配
{
#pragma asm
MOV A,#0CCH
MOV R2,#8
CLR C
WR1:
CLR P3_7
MOV R3,#6
DJNZ R3,$
RRC A
MOV P3_7,C
MOV R3,#23
DJNZ R3,$
SETB P3_7
NOP
DJNZ R2,WR1
SETB P3_7
#pragma endasm
} 展开
1个回答
展开全部
将acc中数据按位写到p3.7端口进行发送
MOV A,#0CCH ;要发送的数据
MOV R2,#8 ;移位的次数
CLR C
WR1:
CLR P3_7
MOV R3,#6
DJNZ R3,$;用于延时
RRC A;数据移位,要发送的位移到C
MOV P3_7,C;将数据置入p3.7
MOV R3,#23
DJNZ R3,$;延时
SETB P3_7;拉高
NOP
DJNZ R2,WR1;循环执行8次,即将8位数据依次发送
SETB P3_7;拉高
MOV A,#0CCH ;要发送的数据
MOV R2,#8 ;移位的次数
CLR C
WR1:
CLR P3_7
MOV R3,#6
DJNZ R3,$;用于延时
RRC A;数据移位,要发送的位移到C
MOV P3_7,C;将数据置入p3.7
MOV R3,#23
DJNZ R3,$;延时
SETB P3_7;拉高
NOP
DJNZ R2,WR1;循环执行8次,即将8位数据依次发送
SETB P3_7;拉高
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询