C51COMPILERV8.02JP07/23/201108:48:56PAGE1
C51COMPILERV8.02,COMPILATIONOFMODULEJP
OBJECTMODULEPLACEDINjp.OBJ
COMPILERINVOKEDBY:C:\Keil\C51\BIN\C51.EXEjp.cBROWSEDEBUGOBJECTEXTEND
linelevelsource
1#include
2#defineuintunsignedint
3#defineucharunsignedchar
4sbitbuzzer=P3^7;
5ucharcodetap[]={0x3f,0x06,0x5b,0x4f,
60x66,0x6d,0x7d,0x07,
70x7f,0x6f,0x77,0x7c,
80x39,0x5e,0x79,0x71,0x00};
9
10uintd,num=0,shi=0,ge=0,p,t,s,a,k,b=1;
11voiddelay(uintc)
12{
131uinti,j;
141for(i=c;i>0;i--)
151for(j=110;j>0;j--);
161
171}
18voiddisplay(ucharshi,ucharge)
19{
201
211P0=0xfe;
221P2=tap[shi];
231delay(40);
241P0=0xfd;
251P2=tap[ge];
261delay(40);
271}
28voidmain()
29{
301TMOD=0X01;
311EA=1;
321ET0=1;
331TH0=(65536-50000)/256;
341TL0=(65536-50000)%256;
351P1=0x00;
361P2=0;
371shi=0;
381ge=0;
391display(shi,ge);
401while(1)
411{while(t<3)
422{P1=0xfe;//键盘扫描第一行
433d=P1;
443d=d&;0xf0;
453if(d!=0xf0)
463{
474delay(300);
484if(d!=0xf0)
494switch(d)
504{
515case0xe0:num=0;t++;
525break;
535case0xd0:num=1;t++;
545break;
555case0xb0:num=2;t++;
C51COMPILERV8.02JP07/23/201108:48:56PAGE2
565break;
575case0x70:num=3;t++;
585break;
595}
604
614
624display(shi,ge);
634}
643
653P1=0xfd;
663d=P1;//键盘扫描第二行
673d=d&;0xf0;
683if(d!=0xf0)
693{
704delay(300);
714if(d!=0xf0)
724switch(d)
734{
745case0xe0:num=4;t++;
755break;
765case0xd0:num=5;t++;
775break;
785case0xb0:num=6;t++;
795break;
805case0x70:num=7;t++;
815break;
825}
834
844}
853
863P1=0xfb;//键盘扫描第三行
873d=P1;
883d=d&;0xf0;
893