#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--); } } }
不懂得用其他的函數來設計,所以只能遞減實現。還請老師弄個簡單的程序帶對比的說明指南。 |