#include"AT89x52.h" #include"intrins.h" #define uint unsigned int #define uchar unsigned char
sbit wei=P2^7; //U2 74HC573的LE端 数码管的位选端 sbit pw=P1^4; //LED发光管的使能端
unsigned int a; //定义无符号整行a void main() { while(1) //死循环 { wei=0; //锁存,让位选的74hc573保持现在的状态不变,也就是一直不显示,如果不写这3行,数码管上就会有干? { pw=0; //开LED总使能 P0=0xff; //让所有数码管不显示,防止数码管干扰 P0=0x7f; //P0口送2进制 01111111 8个二进制对应8个led灯,也就是让为0的数码管亮,为1的不亮 a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; P0=0xbf; a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; P0=0xdf; a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; wei=0; P0=0xef; a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; P0=0xf7; a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; P0=0xfb; a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; P0=0xfd; a=55000; while(a--); pw=1; a=55000; while(a--); pw=0; P0=0xff; P0=0xfe; a=55000; while(a--); pw=1; a=55000; while(a--); } } }
不懂得用其他的函数来设计,所以只能递减实现。还请老师弄个简单的程序带对比的说明指南。 |