logo资料库

智能仪器课设.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
#include #include #define uchar unsigned char #define uint unsigned int sbit clock=P1^3; sbit d_in=P1^1; sbit d_out=P1^0; sbit _cs=P1^2; sbit led1=P1^6; sbit led2=P1^7; sbit K1=P1^4; sbit K2=P1^5; sbit K3=P3^2; sbit K4=P3^3; sbit K5=P3^4; uchar a1,b1,c1,d1; float sum,sum1; double double int uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; sum_final1; sum_final; xxz,sxz; void delay(unsigned char b) { //50us unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c];
P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { i,al=0,ah=0; uchar unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out) ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01;
clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } { void main() uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; xxz=2000; sxz=4000; while(1) { loop: for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); if(sxzsum_final) led1=1,led2=0; else led1=0,led2=0;
if(K1==0) { a1=(int)sxz/1000; b1=(int)sxz%1000/100; c1=(int)sxz%1000%100/10; d1=(int)sxz%10; display(a1,b1,c1,d1); if(K3==0) {sxz++; a1=(int)sxz/1000; b1=(int)sxz%1000/100; c1=(int)sxz%1000%100/10; d1=(int)sxz%10; display(a1,b1,c1,d1); } if(K4==0) {sxz--; a1=(int)sxz/1000; b1=(int)sxz%1000/100; c1=(int)sxz%1000%100/10; d1=(int)sxz%10; display(a1,b1,c1,d1); } if(K5!=0)K1=0; else K1=1; } if(K2==0) { a1=(int)xxz/1000; b1=(int)xxz%1000/100; c1=(int)xxz%1000%100/10; d1=(int)xxz%10; display(a1,b1,c1,d1); if(K3==0) {xxz++; a1=(int)xxz/1000; b1=(int)xxz%1000/100; c1=(int)xxz%1000%100/10; d1=(int)xxz%10; display(a1,b1,c1,d1); } if(K4==0) {xxz--;
a1=(int)xxz/1000; b1=(int)xxz%1000/100; c1=(int)xxz%1000%100/10; d1=(int)xxz%10; display(a1,b1,c1,d1); } if(K5!=0)K2=0; K2=1 ; else } } }
分享到:
收藏