#include <reg51.H><br />#include <STDIO.H> //输入输出库函数头文件<br />#include <CTYPE.H> //字符操作函数头文件<br />#include <STRING.H> //串操作函数头文件<br />#include <INTRINS.H> //内联函数头文件<br />#include <STDLIB.H> //杂函数头文件<br />sfr p4 = 0xe8;<br />sbit p4_0 = 0xe8;//DATA<br />sbit p4_1 = 0xe9;//PLUS<br />sbit key1 = P0^2;<br />sbit key2 = P0^3;<br />sbit key3 = P0^4;<br />#define uchar unsigned char<br />#define uint unsigned int<br />uchar code sseg[]={0xee, 0x28, 0xcd, 0x6d, 0x2b, 0x67, 0xe7, 0x2c, 0xef, 0x6f,<br /> 0xaf, 0xe3, 0xc6, 0xe9, 0xc7, 0x87, 0x00 <br /> };<br />uchar dispsbuff[]={16,16, 16, 16,16,16,0,0,0,0};<br />uchar fengji[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};<br />void Delay10us(uchar us) //延时10us<br />{do<br /> {<br /> _nop_();<br /> _nop_();<br /> _nop_();<br /> _nop_();<br /> _nop_();<br /> }while(--us);<br />}<br /><br />void Delay1ms(void) //延时1ms<br />{<br />Delay10us(100);<br />}<br />void Delay10ms(void) //延时10ms<br />{<br /> uint i;<br /> for(i=0;i<=9;i++)<br /> { <br /> Delay1ms();<br /> }<br />}<br />void Delay500ms(void) //延时500ms<br />{<br /> uint i;<br /> for(i=0;i<50;i++)<br /> { <br /> Delay10ms();<br /> }<br />}<br />void send(uchar ch)//send<br />{ uchar j;<br /> for(j=0;j<8;j++)<br /> {<br /> p4_0=ch&0x01;<br /> p4_1 =0;<br /> p4_1 = 1;<br /> ch >>= 1; <br /> }<br />}<br />void dis(void)<br />{<br /> uchar j;<br /> for(j=0;j<10;j++)<br /> {<br /> send(sseg[dispsbuff][j]]);<br /> }<br />}<br /><br /><br /><br /> <br /><br />bit judge_k()<br />{ bit y;<br /> if(key1==0)<br /> Delay10ms();<br /> if(key1==0)<br /> <br /> y=~y;<br /> return y;<br /> <br />}<br /><br />main()<br />{bit k;<br />uchar keyvalue=1;<br />uchar i;<br /> Delay500ms();<br /> dis();<br /> k=judge_k();<br /> if(k==1)<br /> {<br /> while(k==1)<br /> { <br /> <br /> for(i=0;i<=5;i++)<br /> {<br /> Delay500ms();<br /> P1=fengji; <br /> dispsbuff[6]=keyvalue;<br /> dis();<br /> k=judge_k();<br /> if(k==0) break; //如果此处跳出i=3,keyvalue=4<br /> ++keyvalue; <br /> if(i>=5)<br /> keyvalue=1;<br /> }<br /> continue;<br /> }<br /> }<br /> if(k==0)<br /> { <br /> P1=fengji;// i=3,keyvalue=4为啥传不到这呢?<br /> <br /> dispsbuff[6]=keyvalue;//要想实现,咋办呢?<br /> <br /> dis();<br /> if(key2==0)<br /> Delay10ms();<br /> if(key2==0) <br /> {<br /> if(i<=5)<br /> {<br /> ++i;<br /> ++keyvalue;<br /> P1=fengji; <br /> dispsbuff[6]=keyvalue;<br /> dis();<br /> }else<br /> {<br /> i=0;<br /> keyvalue=1;<br /> }<br /> }<br /> if(key3==0)<br /> Delay10ms();<br /> if(key3==0)<br /> {<br /> if(i<=5)<br /> {<br /> --i;<br /> --keyvalue;<br /> P1=fengji; <br /> dispsbuff[6]=keyvalue;<br /> dis();<br /> }else<br /> {<br /> i=0;<br /> keyvalue=1;<br /> }<br /> }<br /><br /><br /> <br /> }<br /> <br /><br />}<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> |
|