ISIS 7 Professional仿真——键控流水灯
生活随笔
收集整理的這篇文章主要介紹了
ISIS 7 Professional仿真——键控流水灯
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能:K1是總開關,當K1首次按下時,流水燈由下往上流動;當K2按下時停止流動,且全部燈滅,當K3按下時使燈由上往下流動,K4則使燈由下往上流動。
LED燈循環速度可以調整延時函數的整型調用參數值來改變。
void delay (unsigned char time){unsigned int j = 12000;for(; time > 0; time--) // 延時函數for(; j > 0; j--); }實現流水燈向 ↓移動
for(i = 0; i <= 3; i++){P2 = led[i];delay(300);}實現流水燈向↑移動
for(i = 3;i >= 0; i--){P2 = led[i];delay(300);}主程序
#include "reg51.h" unsigned char led[]={0xfe,0xfd,0xfb,0xf7}; void delay (unsigned char time){unsigned int j=12000;for(;time>0;time--) // 延時函數for(;j>0;j--); } void main(){bit dir=0,run=0;char i;while(1){switch(P0&0x0f){ // 讀取鍵值case 0x0e:run=1;break; // k1動作,設 run = 1 case 0x0d:run=0,dir=0;break; // k2 動作,設run = dir = 0case 0x0b:dir=1;break; // k3 動作, 設 dir = 1case 0x07:dir=0;break; // k4動作,設dir = 0}if(run) // 若run = dir = 1,自上而下流動if(dir)for(i=0;i<=3;i++){P2=led[i];delay(300);}else // 若 run = 1, dir = 0,自下而上流動for(i=3;i>=0;i--){P2=led[i];delay(300);}else P2=0xff; // 若 run = 0, 燈全滅}}程序電路圖
程序電路圖鏈接:https://share.weiyun.com/D6lgdrkD
總結
以上是生活随笔為你收集整理的ISIS 7 Professional仿真——键控流水灯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB 结构型变量
- 下一篇: Java 转义字符