S2按下后显示正常数值也能增加,就是不能储存,S5和S6按下后都能正常显示和储存。这是什么情况啊?望知道的老师指导一下,谢谢!
void main(){ init(); //初始化24C02 led=1; led3=0; led1=read24c02(2); if(!s4) write24c02(2,1); num1=read24c02(0); //用地址0单元存储num十六进制表示时的低两位 num2=read24c02(1); //用地址0单元存储num十六进制表示时的高两位 num=num2*256+num1; num++; num2=num/256; num1=num%256; write24c02(0,num1); write24c02(1,num2); if(!s3) { led1=0; write24c02(2,0); num=0; num2=num/256; num1=num%256; write24c02(0,num1); write24c02(1,num2); } num1a=read24c02(3); //用地址0单元存储num十六进制表示时的低两位 num2a=read24c02(4); //用地址0单元存储num十六进制表示时的高两位 numa=num2a*256+num1a; num2a=numa/256; num1a=numa%256; write24c02(3,num1a); write24c02(4,num2a); if(num>numa) {led2=0; led3=1;} while(num>numa); while(1) { /* if(num>300) led=0; else led=1; */ while(num>numa); if(!s5) { numa++; num2a=numa/256; num1a=numa%256; write24c02(3,num1a); write24c02(4,num2a); } if(!s2) { num++; num2=num/256; num1=num%256; write24c02(0,num1); write24c02(1,num2); } if(!s6) { numa--; num2a=numa/256; num1a=numa%256; write24c02(3,num1a); write24c02(4,num2a); } display(num); display1(numa); } }
|