計(jì)算機(jī)的com口控制流水燈仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (17.85 KB, 下載次數(shù): 33)
下載附件
2019-1-11 15:58 上傳
0.png (6.09 KB, 下載次數(shù): 37)
下載附件
2019-1-11 15:59 上傳
單片機(jī)源程序如下:
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- char lsd_flag;
- void delay (uint k)
- {
- uint i,j;
- for (i=7;i<k;i++)
- for (j=0;j<124;j++);
- }
- void led_shift_L()
- {
- P1=0xfe;delay(500);
- P1=0xfd;delay(500);
- P1=0xfb;delay(500);
- P1=0xf7;delay(500);
- P1=0xef;delay(500);
- P1=0xdf;delay(500);
- P1=0xbf;delay(500);
- P1=0x7f;delay(500);
- }
- void led_shift_F()
- {
- P1=0x7f;delay(500);
- P1=0xbf;delay(500);
- P1=0xdf;delay(500);
- P1=0xef;delay(500);
- P1=0xf7;delay(500);
- P1=0xfb;delay(500);
- P1=0xfd;delay(500);
- P1=0xfe;delay(500);
- }
- void led_on_off()
- {
- P1=0x00;delay(500);
- P1=0xff;delay(500);
- P1=0x00;delay(500);
- P1=0xff;delay(500);
- P1=0x00;delay(500);
- P1=0xff;delay(500);
- P1=0x00;delay(500);
- P1=0xff;delay(500);
- }
- main ()
- {
- TMOD=0x20;
- SM0=0;
- SM1=1;
- REN=1;
- PCON=0;
- TH1=0xFD;
- TL1=0xFD;
- TR1=1;
-
- EA=1;
- ES=1;
- lsd_flag=0;
- while(1)
- {
- switch (lsd_flag)
- {
- case '1':led_shift_L();
- break;
- case '2':led_shift_F();
- break;
- case '3':led_on_off();
- break;
- }
- }
- }
- void comm (void) interrupt 4
- {
- if (RI==1) //有數(shù)據(jù)到達(dá)
- {
- RI=0;
- lsd_flag=SBUF;
- //SBUF=P1+1;
- }
- else
- {
- TI=0;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
流水燈.zip
(16.21 KB, 下載次數(shù): 54)
2019-1-11 14:47 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|