stc125a60s2串口通讯 代码.docVIP

  • 202
  • 0
  • 约4.1千字
  • 约 5页
  • 2016-12-03 发布于贵州
  • 举报
stc125a60s2串口通讯 代码

#include stc12c5a60s2.h #includestring.h unsigned char yb; unsigned char n[14]; char nn; unsigned char sn; unsigned char num,mm; //定时器计数 unsigned char sn; unsigned char adcnum[8]; //ad转换结果 unsigned char adcyb; //ad转换游标 unsigned char ssbuf[12]; //串口缓存 unsigned char syb; sbit dat=P3^2; sbit clk=P3^3; sbit load=P3^6; sbit dat1=P3^4; sbit clk1=P3^5; sbit load1=P3^7; sbit sys=P4^4; sbit sc1=P4^6; sbit sc2=P4^5; sbit led1 = P0^6; void ssend() { SBUF=ssbuf[0]; syb=1; } void adc(void) interrupt 5 { adcnum[adcyb]=ADC_RES; //存储结果 //adcnuml[adcyb]=ADC_RESL; //低两位 adcyb++; if (adcyb7) {adcyb=0;ADC_CONTR=(0XE0|adcyb);ssbuf[0]=253;ssbuf[1]=adcnum[0];ssbuf[2]=adcnum[1];ssbuf[3]=adcnum[2];ssbuf[4]=adcnum[3]; ssbuf[5]=adcnum[4];ssbuf[6]=adcnum[5];ssbuf[7]=adcnum[6];ssbuf[8]=adcnum[7];ssbuf[9]=254;ssbuf[10]=0x0d;ssbuf[11]=\n;ssend();} else {ADC_CONTR=(0xe8|adcyb);} //继续下一位 } void out(unsigned char a1,unsigned char a2,unsigned char sin) { load=1; clk=1; dat=a1; clk=0; clk=1; dat=a2; clk=0; clk=1; dat=1; clk=0; clk=1; dat=(sin7); clk=0; clk=1; dat=((sin 0x40)6); clk=0;clk=1; dat=((sin 0x20)5); clk=0;clk=1; dat=((sin 0x10)4); clk=0;clk=1; dat=((sin 0x08)3); clk=0;clk=1; dat=((sin 0x04)2); clk=0;clk=1; dat=((sin 0x02)1); clk=0;clk=1; dat=(sin 0x01); clk=0;clk=1; load=0; load=1; } void out1(unsigned char a1,unsigned char a2,unsigned char sin) { load1=1; clk1=1; dat1=a1; clk1=0; clk1=1; dat1=a2; clk1=0; clk1=1; dat1=1; clk1=0; clk1=1; dat1=(sin7); clk1=0; clk1=1; dat1=((sin 0x40)6); clk1=0;clk1=1; dat1=((sin 0x20)5); clk1=0;clk1=1; dat1=((sin 0x10)4); clk1=0;clk1=1; dat1=((sin 0x08)3); clk1=0;clk1=1; dat1=((sin 0x04)2); clk1=0;clk1=1; dat1=((sin 0x02)1); clk1=0;clk1=1; dat1=(sin 0x01); clk1=0;clk1=1; load1=0; load1=1; } void delay(int nu) { unsigned int m,n; for(m=1;m=nu;m++) for(n=1;n2000;n++); } void cl(void) { if(yb13) if((n[0]==0xfd)(n[13]==0xfe)) { yb=0; out(0,0

文档评论(0)

1亿VIP精品文档

相关文档