|
5Z{E(@1F[Z9VRX3KW@AR1[V.png (124.11 KB, 下載次數(shù): 29)
下載附件
2019-9-28 17:05 上傳
這是仿真圖程序如下:
#include<reg51.h>
#define uint unsigned int
uint count,i,j;
#define DataPort P1//定義數(shù)據(jù)端口 程序中遇到DataPort 則用P1 替換
sbit LE1=P2^0;//定義鎖存使能端口 第一列的字節(jié)鎖存,共陰
sbit LE2=P2^1;//定義鎖存使能端口 第二列的字節(jié)鎖存,共陰
sbit CHENG1=P0^0;//定義鎖存使能端口 第一層的字節(jié)鎖存,共陽(yáng)
sbit CHENG2=P0^1;//定義鎖存使能端口 第二層的字節(jié)鎖存,共陽(yáng)
sbit CHENG3=P0^2;//定義鎖存使能端口 第三層的字節(jié)鎖存,共陽(yáng)
sbit CHENG4=P0^3;//定義鎖存使能端口 第四層的字節(jié)鎖存,共陽(yáng)
void delay_ms(unsigned int z)//延時(shí)函數(shù),單位毫秒
{
unsigned int j,k;
for(j=z;j>0;j--)
for(k=110;k>0;k--);
}
//點(diǎn)亮所有燈
void light()
{
CHENG1=1;
CHENG2=1;
CHENG3=1;
CHENG4=1;
DataPort=0x00; //把0xff送進(jìn)鎖存器1~8中,使它們的輸出引腳都輸出高電平,與行鎖存器的0x00相對(duì),點(diǎn)亮所有的燈
LE1=1;
LE1=0;
LE2=1;
LE2=0;
}
//熄滅所有燈
void dark()
{
CHENG1=1;
CHENG2=1;
CHENG3=1;
CHENG4=1;
DataPort=0xff;
LE1=1;
LE1=0;
LE2=1;
LE2=0;
}
void main()
{
while(1)
{
light();
delay_ms(100);
dark();
delay_ms(100);
}
}
|
|