|
大家好,我是个小萌新,最近才入驻单片机论坛
这个是我最近学习的
发在论坛里
谢谢大家
尽情采用
单片机源程序如下:
- #include <REGX51.H>
- #include <ABSACC.H>
- #define uchar unsigned char
- #define uint unsigned int
- #define A CBYTE[0x00ff] //0000 0000 0000 0000
- #define B CBYTE[0x01ff] //0000 0001 0000 0000
- #define C CBYTE[0x02ff] //0000 0010 0000 0000
- #define D CBYTE[0x03ff] //0000 0011 0000 0000
- #define E CBYTE[0x04ff] //0000 0100 0000 0000
- #define F CBYTE[0x05ff] //0000 0101 0000 0000
- #define G CBYTE[0x06ff] //0000 0110 0000 0000
- #define H CBYTE[0x07ff] //0000 0111 0000 0000
- uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
- uchar ma[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- uchar ck=4;
- uchar cak=6;
- uchar tz=1;
- uchar rk=0;
- uchar cuk=0;
- uchar man=0;
- uchar zhan;
- sbit SHU0=P2^0;
- sbit SHU1=P2^1;
- sbit SHU2=P2^2;
- void delay(uchar xms) //延时
- {
- uchar i,j;
- for(i=xms;i>0;i--)
- for(j=10;j>0;j--);
- }
- void Led_shu() //数码管显示
- {
- SHU0=0;
- SHU1=0;
- SHU2=0;
- delay(10);
- P0=duan[cak];
- delay(10);
- P0=0x00;
- delay(1);
-
- SHU0=1;
- SHU1=0;
- SHU2=0;
- P0=duan[2];
- delay(10);
- P0=0x00;
- delay(1);
-
- SHU0=0;
- SHU1=1;
- SHU2=0;
- P0=duan[cak];
- delay(1);
- P0=0x00;
- delay(1);
-
- SHU0=1;
- SHU1=1;
- SHU2=0;
- P0=duan[cak];
- delay(1);
- P0=0x00;
- delay(1);
-
- SHU0=0;
- SHU1=0;
- SHU2=1;
- P0=duan[tz];
- delay(1);
- P0=0x00;
- delay(1);
-
- SHU0=1;
- SHU1=0;
- SHU2=1;
- P0=duan[cak];
- delay(1);
- P0=0x00;
- delay(1);
-
- SHU0=0;
- SHU1=1;
- SHU2=1;
- P0=duan[cak];
- delay(1);
- P0=0x00;
- delay(1);
-
- SHU0=1;
- SHU1=1;
- SHU2=1;
- P0=duan[cak];
- delay(1);
- P0=0x00;
- delay(1);
- }
- void main()
- {
- while(1)
- {
- Led_shu();
- }
- }
复制代码
|
|