关于max 1480 的疑问 点击:514 | 回复:0



winnie

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2003年10月09日
发表于:2005-08-12 16:51:00
楼主
用1480芯片 mcu 80c320 用串口0,p1。6连DE 实现功能是:mcu收到串口内容,原样发出 结果,pc只要给单片机发一个字节 单片机就老是收到这个字节的内容,然后远远而不断的发出 表述好像不清楚,举个例子把 我用pc给mcu发0x30,mcu给pc总是发送0x30 这个程序在max485上可以使用。 ps,p1_1是给另一个芯片使用的。 程序如下 //0526 // COMMUNICATE OK #include <reg320.h> #include <absacc.h> #define uchar unsigned char #define uint unsigned int sbit P1_1 =P1^1; bit flag=0; sbit max485rw =P1^6; unsigned char a ; void delay_50us(); void clock_initial (void); void delay_5us(); void send(uchar x); void receive(); void delay(int i); //////////////////////////////////// void delay(int i) { int temp; for (temp=i;temp>0;temp--); } void receive() { if(SBUF0==0){} else { a=SBUF0; flag=1; } if(SBUF0!=00) { ES0=0; // while(RI==0); a=SBUF0; RI=0; ES0=1; send(a); } else { RI=0; } } void send(unsigned char x) { max485rw=1; delay(5); SBUF0=x; while (TI==0); TI=0; ES0=0; max485rw=0; delay(5); ES0=1; } void spint(void) interrupt 4//serial port interrupt { receive(); } /***************************主函数************************/ void main(void) { SP=0x80; TMOD=0x20; TH1=0xFD; TL1=0xFD; EA=0; ES0=0; PCON=0x00; TR1=1; SCON0=0x50; IP=0x10; WDCON=0x00; ES0=1; EA=1; max485rw=0; P1_1=0; while(1) { P1_1=1; delay_5us(); P1_1=0; } }


热门招聘
相关主题

官方公众号

智造工程师