圓創力科技

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

查看: 4246|回復: 0

單晶片魔法車03-光控LED燈

[複製鏈接]
magiccar 發表於 2010-1-26 00:52 | 顯示全部樓層 |閱讀模式
  做完第二個方向燈的實驗,有沒有發現用程式來控制輸出的結果,比修改實體電路還來得簡單。只要改個字或判斷的符號,輸出結果就能馬上改變。就像在實驗中要延長LED發亮的時間,也不用再裝一顆定時IC,只要寫段迴圈程式就可以有同樣的功能了。所以透過程式的規劃,也能減低電路的複雜度喔!
  接下來就更好玩了!還記得我們的初級課程中,做了不少感測器的電路來控制科學魔法車。有沒有想過,如果要把這些感測器的信號輸入到單晶片中,該如何做呢?所以。。。開工吧!

實驗三:光控LED燈
使用材料:實驗二的材料,光敏電阻*1,100KΩ電阻*1
電路照片:
光敏電阻的接法...反相器呢?用程式就能完成了。
IMGP7831.JPG

光線被擋住時,P1_0點亮左側LED
IMGP7832.JPG

有光線時,P1_3點亮右側LED
IMGP7833.JPG

  1. /*實驗三:光控LED燈*/
  2. #include <AT89x051.h>
  3. void delay(unsigned char tmp); //宣告延時函數
  4. void main(void)      //主程式開始
  5. {
  6. while(1)
  7. {       //無限循環
  8.    P3_0=1;     //將P3_0啟動輸入模式
  9.    if(P3_0==1)    //假如P3_0=1,就執行{...}中的指令
  10.    {      //
  11.      P1_2=1;    //第三個LED熄滅
  12.      P1_0=0;    //第一個LED點亮
  13.    }else     //假如P3_0不是1,就執行{...}中的指令
  14.    {      //
  15.      P1_0=1;    //第一個LED熄滅
  16.      P1_2=0;    //第三個LED點亮
  17.    }      //判斷式結束
  18. }
  19. }
複製代碼


編譯好的程式送上來了囉!
sensor1.hex (129 Bytes, 下載次數: 29)
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|Archiver|手機版|小黑屋|圓創力科技有限公司 IOP Robotic Technology Co.,Ltd Tel: 07-3924582 Fax: 07-3924001

GMT+8, 2024-4-26 21:09 , Processed in 0.027196 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表