|
某學(xué)校課程設(shè)計(jì)程序與電路
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (15.3 KB, 下載次數(shù): 42)
下載附件
2018-12-25 00:41 上傳
單片機(jī)源程序如下:
- #include <reg52.h> //頭文件
- #include <intrins.h>
- #define uint unsigned int //宏定義
- #define uchar unsigned char
- sbit key1 =P2^0; //按鍵1
- sbit key2 =P2^1; //按鍵2
- sbit key3 =P2^2; //按鍵3
- sbit key4 =P2^3; //按鍵4
- uint a,b;
- uchar table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff}; //第一種現(xiàn)象的數(shù)據(jù)
- uchar table2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //第二種現(xiàn)象的數(shù)據(jù)
- uchar table3[]={0xaa,0x55}; //第三種現(xiàn)象的數(shù)據(jù)
- void delay(uint t); //較短延時(shí)
- void delayms(); //較長延時(shí)
- void main()
- {
-
- while(1)
- {
- if(key1==0) //第一個(gè)按鍵按下
- {
- delay(10); //消除機(jī)械抖動(dòng)延時(shí)
- if(key1==0) //再次檢測(cè)
- {
- while(!key1);//松手檢測(cè)
- while(1)
- {
- for(a=0;a<9;a++)
- {
- P1=table[a];
- delayms();
- if(key1==0||key2==0||key3==0||key4==0) //有任一按鍵按下,就打破當(dāng)前循環(huán)
- break;
- }
- if(key1==0||key2==0||key3==0||key4==0)
- break;
- }
- }
- }
-
- if(key2==0) //同理
- {
- delay(10);
- if(key2==0)
- {
- while(!key2);
- while(1)
- {
- for(a=0;a<8;a++)
- {
- P1=0xff;
- delayms();
- P1=table2[a];
- delayms();
- if(key1==0||key2==0||key3==0||key4==0)
- break;
- }
- if(key1==0||key2==0||key3==0||key4==0)
- break;
- }
- }
- }
- if(key3==0) //同理
- {
- delay(10);
- if(key3==0)
- {
- while(!key3);
- while(1)
- {
- for(a=0;a<2;a++)
- {
- P1=0xff;
- delayms();
- P1=table3[a];
- delayms();
- if(key1==0||key2==0||key3==0||key4==0)
- break;
- }
- if(key1==0||key2==0||key3==0||key4==0)
- break;
- }
- }
- }
-
- if(key4==0)
- {
- delay(10);
- if(key4==0)
- {
- while(1) //使其陷入死循環(huán)
- {
- if(key1==0||key2==0||key3==0||key4==0)
- break;
- }
- }
- }
-
- }
- }
- void delay(uint t)
- {
- while(t--);
- }
- void delayms()
- {
- for(b=0;b<200;b++)
- {
- delay(200);
- if(key1==0||key2==0||key3==0||key4==0)//可能按鍵按下時(shí)程序執(zhí)行在延時(shí)函數(shù)里面所以需要檢測(cè)打破循環(huán)
- break;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
電路仿真.zip
(31.48 KB, 下載次數(shù): 16)
2018-12-24 23:48 上傳
點(diǎn)擊文件名下載附件
按鍵小燈控制電路 下載積分: 黑幣 -5
程序.zip
(26.66 KB, 下載次數(shù): 11)
2018-12-24 23:48 上傳
點(diǎn)擊文件名下載附件
按鍵小燈控制程序 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|