1、/int temp,ch;uchar check;uchar cont,f;uchar g,h;uchar k,i;void delay(uint z) uint x,m; for(x=z;x0;x-) for(m=110;mm-);void init() EA=1; ES=1;/开串口中断 ES1=1; TMOD=0x20;/定时计数器1,8位自动重装方式2 TH1=0xe8;/设计串口1的波特率为1200 TL1=0xe8; SCON1=0x50;/设计串口1为工作模式1,10位数据波特率可设 PCON=0x00;/波特率不倍增 TR1=1;/开定时计数器1/ IP=0x10; /设定串口
2、0优先级最高 SCON=0x50; T2CON=0x30;/选择迫使定时器2做串口0的波特率发生器 RCAP2L=0xe0; RCAP2H=0xfe;/辞工作在捕捉模式,其自动装入TH2中,波特率为1200 TR2=1;/开定时计数器2 PMR=0x01; /程序访问片内1KSRAM P0=0xff; flag2=1; dog=0; f=0; i=0; k=0;void sendbyte0(char temp) re0=0; SBUF=temp; while(!TI); TI=0; void sendbyte(char ch) re=0; SBUF1=ch;TI_1); TI_1=0;ucha
3、r receivecheck1() uint p; uchar sum; sum=0; for(p=2;p23;p+) sum=sum+storep; return sum;void codesend() int n,e,m,x; uchar temp; for(e=1;e=5;e+) senddatee=0xbb; senddate6=P0; senddate7=0x00; senddate8=0x12; senddate0=0x1b; temp=senddate1; for(m=9;m27;m+) senddatem=daten; n+; if(n=18) n=0; for(x=2;x=2
4、6;x+) temp=tempsenddatex; senddate27=temp;uchar receivecheck() uchar ch,j; ch=comd01; for(j=2;j=7;j+) ch=chcomd0j; return ch;void main() init(); c373ctrl2=0; XBYTE8005=0; while(1) init(); if(flag2) flag2=0; /* for(g=0;g7;g+) sendbyte(comdg); */ TI_1=1; if(flag=1) flag=0; f=0; for(h=5;hh+) datef=stor
5、eh; f+; if(f=18) f=0; flag2=1; delay(1000); if(flag1) TI=1; flag1=0; dog=dog; delay(5); / delay(900);/* if(flag1) codesend();/ ES=0; for(p=0;28; sendbyte0(senddatep); / delay(200); REN_1=1; ES1=1; REN=1; ES=1;/ ES=1; */ void ext0(void) interrupt 4 uchar q; re0=1;/访问片内SRAM数据放到片外存储器 if(RI=1) comd0k=SB
6、UF; k+; RI=0; if(k=9) k=0; check=receivecheck(); if(comd06=P0)&(comd08=check) REN=0; / flag2=1; ES1=0; REN_1=0; flag1=1; if(TI)/ flag1=0; TI=0; re0=0; codesend(); for(q=0;qq+) sendbyte0(senddateq); if(q=28) q=0; TI=0; re0=1; void ext1() interrupt 7 uchar chcek1,g; re=1; if(RI_1)/ ES=0; storei=SBUF1; i+; if(i=25) i=0; chcek1=receivecheck1(); if(chcek1=store23) flag=1;/ REN=1;/ ES=0;/ ES1=0;/ REN_1=0; RI_1=0; if(TI_1) ES=0; TI_1=0; re=0; for(g=0; if(g=7) re=1; g=0; ES=1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1