复制代码
- #include <REGX51.H>
- #include <absacc.h>
- #define uchar unsigned char
- #define unit unsigned int
- #define iocon XBYTE[0x8003]
- #define PA XBYTE[0x8000]
- #define PB XBYTE[0x8001]
- #define AD XBYTE[0x9000]
- sbit eoc=P1^0;
- sbit biz=P1^1;
- sbit s28=P1^2;
- sbit s29=P3^2;
- sbit wr=P3^6;
- sbit rd=P3^7;
- uchar code wei[]={0x7f,0xbf,0xdf,0xfb,0xfd,0xfe};
- uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- uchar zhi[6];
- uchar x;
- void delay(uchar x)
- {
- uchar a,b ;
- for (a=x;a>0;a--)
- for (b=1000000;b>0;b--);
- }
- void show(uchar x)
- {
- uchar i,j;
- for(i=0;i<x;i++)
- { PB=wei[i];
- j=zhi[i];
- PA=duan[j];
- }
- }
- void ext0() interrupt 0
- {
- static int u=1;
- u=~u;
- if (u==0)
- {
- while(x)
- {
- x--;
- zhi[3]=x/100;
- zhi[4]=(x%100)/10;
- zhi[5]=x%10;
- show(6);
- delay(1);
- }
- biz=0;
- delay(30);
- biz=1;
- zhi[3]=zhi[0];
- zhi[4]=zhi[1];
- zhi[5]=zhi[2];
- }
- }
- void main()
- {
- iocon=0x80;
- EA=1;
- EX0=1;
- IT0=1;
- P0=0xff;
- while(1)
- {
- if (s28==0)
- {
- x=AD; //就是这里有问题
- zhi[0]=zhi[3]=x/100;
- zhi[1]=zhi[4]=(x%100)/10;
- zhi[2]=zhi[5]=x%10;
- show(3);
- }
- else
- {
- show(6);
- }
- }
-
- }
复制代码
end.zip
(58.66 KB, 下载次数: 2)
|