2018年5月15日 星期二

8051 (6) 紅外線避障模組控制LED七段顯示器。



這篇要做的Project就是感測器測到訊號時,LED七段顯示器會開始計算偵測次數,

到第5次時會讓紅色LED燈發光。



程式如下:

#include <reg52.h>

unsigned char seg[5]={0xf9,0xa4,0xb0,0x99,0x92}; //七段顯示器0~4。
sbit Sensor=P2^0;
sbit LED=P2^1;
void delay(unsigned int);
int seven_count=0;//LED7計數器。
void main()
{
 while(1)
 {
  if(Sensor==0){  //感測器是觸發給低電位。
P1=~seg[seven_count];//一開始是"0",所以LED7會先顯示"0"。
delay(20000);
seven_count++;//計數器先加1,再度觸發時就會顯示+1後的數值。。
}
if(seven_count>=5){
LED=0;//計數器為5的時候亮紅色燈泡。
delay(30000);
seven_count=0;//清除計數器。
if(seven_count<5){//計數器小於5的時候紅色燈泡不亮。
LED=1;
  delay(5000);
}
}
  }
 }   

void delay( unsigned int count)
{
 unsigned int i;
 for(i=0;i<count;i++);
}

我本來想再加一些功能,就是如果數到5以下時過了5秒會自動清除計數器,

這我還在試...

沒有留言:

張貼留言

8051 (6) 紅外線避障模組控制LED七段顯示器。

這篇要做的Project就是感測器測到訊號時,LED七段顯示器會開始計算偵測次數, 到第5次時會讓紅色LED燈發光。 程式如下: #include <reg52.h> unsigned char seg[5]={0xf9,...