No.73347 作者:yuanafei 邮件:yuanafei@163.COM ID:31037 登陆:9次 文章数:1篇 最后登陆IP:59.52.68.213 最后登陆:2008/9/5 20:16:37 注册:2005/2/22 11:53:10 财富:113 发帖时间:2005/2/22 11:57:15 发贴者IP:218.64.38.20 标题:yuanafei:求助!利用89C52模拟SPI协议对AT89S52的串口编程? 摘要:No.73347求助!利用89C52模拟SPI协议对AT89S52的串口编程? ;请各位大侠指教哪个地方出问题导致无法全片擦除?(利用89C52模拟SPI协议对AT89S52串口编程) ;P0.6连接到P1.7,P0.5连接到P1.6,P0.4连接到P1.5,RST接+5V ;晶体为11.0592M ;yuanafei@163.COM SCK BIT P0.6 MIN BIT P0.5 MOUT BIT P0.4 ORG 0000H MOV SP,#60H MOV R1,#02H MOV R2,#5EH RESET: MOV @R1,#00H INC R1 DJNZ R2, RESET MOV P0, #0FFH ;把SCK,MIN,MOUT置高电平 ACALL DIMS50 ACALL DIMS50 ;主程序/////////////////////////////////////// MAIN: ACALL PROGRAM ;允许擦写 ACALL DIMS10 ;延时10毫秒 ACALL ERASE ;全片擦除 ACALL DIMS50 ;延时50毫秒 ACALL DIMS50 SJMP $ ;///////////////////////////////////////////// WBYTE: CLR C MOV B, #08H ;移位8次 W1: RRC A ;低位在前,高位在后 MOV MOUT, C ;由P0.4进入AT89S52的P1.5 CLR SCK NOP NOP NOP SETB SCK ;上升沿采样数据 DJNZ B, W1 ACALL DIMS1 ;一个字节后延时1毫秒 ACALL DIMS1 ;进入内部定时写 RET ;//////////////////////////////////////////////////// PROGRAM:MOV A, #0ACH ;允许擦写 ACALL WBYTE MOV A, #53H ACALL WBYTE MOV A, #00H ACALL WBYTE MOV A, #00H ACALL WBYTE ACALL DIMS10 RET ;//////////////////////////////////////////////////// ERASE: MOV A, #0ACH ;全片擦除 ACALL WBYTE MOV A, #80H ACALL WBYTE MOV A, #00H ACALL WBYTE MOV A, #00H ACALL WBYTE ACALL DIMS10 ACALL DIMS50 RET ;//////////////////////////////////////////////////// WPAGE: MOV A, #50H ; ACALL WBYTE ......
>>返回讨论的主题
|
老古网执行:47毫秒 最大:78531毫秒 查询6次
|
|