仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:
- #include <reg51.h>
- #include <intrins.h>
- #define uchar unsigned char
- sbit L0=P0^4;
- sbit L1=P0^5;
- sbit L2=P0^6;
- sbit L3=P0^7; // ??? //
- uchar jyw[16]={0xc0,0xf9,0xa4,0xb0, //??????0-F??????//
- 0x99,0x92,0x82,0xf8,
- 0x80,0x90,0x88,0x83,
- 0xc6,0xa1,0x86,0x8e};
- void delay(unsigned int time) //?????//
- {
- unsigned int i;
- for(i=0;i<time;i++)
- {}
- }
- main() //???//
- {
- while(1)
- {
- P1=0xef; //?????11101111//
- if (L0==0) P2=jyw[0]; //???????????,??,????????0(??),4(??),8(??),C(??)//
- if (L1==0) P2=jyw[1]; //???????????,??,????????1(??),5(??),9(??),d(??)//
- if (L2==0) P2=jyw[2]; //???????????,??,????????2(??),6(??),A(??),E(??)//
- if (L3==0) P2=jyw[3]; //???????????,??,????????3(??),7(??),b(??),F(??)//
- delay(500);
-
- P1=0xdf; //?????11011111//
- if (L0==0) P2=jyw[4]; //???????????,??,????????0(??),4(??),8(??),C(??)//
- if (L1==0) P2=jyw[5]; //???????????,??,????????1(??),5(??),9(??),d(??)//
- if (L2==0) P2=jyw[6]; //???????????,??,????????2(??),6(??),A(??),E(??)//
- if (L3==0) P2=jyw[7]; //???????????,??,????????3(??),7(??),b(??),F(??)//
- delay(500);
-
- P1=0xbf; //?????10111111//
- if (L0==0) P2=jyw[8]; //???????????,??,????????0(??),4(??),8(??),C(??)//
- if (L1==0) P2=jyw[9]; //???????????,??,????????1(??),5(??),9(??),d(??)//
- if (L2==0) P2=jyw[10]; //???????????,??,????????2(??),6(??),A(??),E(??)//
- if (L3==0) P2=jyw[11]; //???????????,??,????????3(??),7(??),b(??),F(??)//
- delay(500);
-
- P1=0x7f; //?????//
- if (L0==0) P2=jyw[12]; //???????????,??,????????0(??),4(??),8(??),C(??)//
- if (L1==0) P2=jyw[13]; //???????????,??,????????1(??),5(??),9(??),d(??)//
- if (L2==0) P2=jyw[14]; //???????????,??,????????2(??),6(??),A(??),E(??)//
- if (L3==0) P2=jyw[15]; //???????????,??,????????3(??),7(??),b(??),F(??)//
- delay(500);
- }
- }
復(fù)制代碼
Proteus7.5版本的仿真圖dsn文件下載:
33.zip
(22.79 KB, 下載次數(shù): 15)
2021-11-25 17:21 上傳
點擊文件名下載附件
|