No.77817 作者:air_hill 邮件:jewel1106@hotmail.com ID:34342 登陆:1次 文章数:1篇 最后登陆IP:221.6.19.197 最后登陆:2005/5/17 11:09:43 注册:2005/5/17 11:05:43 财富:55 发帖时间:2005/5/17 11:09:43 发贴者IP:221.6.19.197 标题:air_hill:谁能帮我分析一下这段C语言程序啊 摘要:No.77817谁能帮我分析一下这段C语言程序啊 是Atmel公司AT29C040的读写程序,谁能帮我分析下或者给个流程图呢?谢谢!我的邮箱是jewel1106@tom.com 代码如下: #include <reg51.h> #include <intrins.h> unsigned char time; void int_t0(void) interrupt 1 { time++; } unsigned char d; //rec data bit rec(void) { TH0=0;time=0; while (!RI) {if (time> 1) return(1);} RI=0; d=SBUF; return(0); } void sen(unsigned char dd) { SBUF=dd; while (!TI) {} TI=0; } void wait(void) { time=0;while (time <10) {} } void wait10ms(void) { TH0=150;time=0; while (!time) {} } sbit ce=P3^5; sbit oe=P3^6; sbit we=P3^7; sbit a16=P3^2; sbit a17=P3^3; sbit a18=P3^4; void pro_to_card(void) { unsigned char no,i,j; sen(0xaa); if (rec()) {wait();return;} no=d; sen(d); no < <=2; no|=0xe3; P3=0xff; P3&=no; i=0; do { P0=i; j=0; do { if (rec()) {wait();ce=1;return;} TI=0;SBUF=d; P1=j; P2=d; ce=0; we=0; we=1; ce=1; j++; } while (j); wait10ms(); i++; } while (i); ce=1; } void card_to_pro(void) { unsigned char no,i,j; sen(0x55); if (rec()) {wait();return;} no=d; sen(d); no < <=2; no|=0xe3; P3=0xff; P3&=no; P2=0xff; i=0; do { P0=i; j= ......
>>返回讨论的主题
|