#include"AT89x52.h" #include"intrins.h" #define uint unsigned int #define uchar unsigned char
sbit wei=P2^7; //U2 74HC573的LE端 數(shù)碼管的位選端 sbit pw=P1^4; //LED發(fā)光管的使能端
unsigned int a; //定義無(wú)符號(hào)整行a void main() { while(1) //死循環(huán) { wei=0; //鎖存,讓位選的74hc573保持現(xiàn)在的狀態(tài)不變,也就是一直不顯示,如果不寫這3行,數(shù)碼管上就會(huì)有干? { pw=0; //開LED總使能 P0=0xff; //讓所有數(shù)碼管不顯示,防止數(shù)碼管干擾 P0=0x7f; //P0口送2進(jìn)制 01111111 8個(gè)二進(jìn)制對(duì)應(yīng)8個(gè)led燈,也就是讓為0的數(shù)碼管亮,為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--); } } }
不懂得用其他的函數(shù)來(lái)設(shè)計(jì),所以只能遞減實(shí)現(xiàn)。還請(qǐng)老師弄個(gè)簡(jiǎn)單的程序帶對(duì)比的說(shuō)明指南。 |