#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--);
}
}
}
不懂得用其他的函數來設計,所以只能遞減實現。還請老師弄個簡單的程序帶對比的說明指南。
最好是通過移位來實現
看這個帖子 http://m.zg4o1577.cn/bbs/dpj-3009-1.html
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |