圓創力科技

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

查看: 4162|回復: 0

單晶片魔法車02-電子方向燈

[複製鏈接]
magiccar 發表於 2010-1-22 17:24 | 顯示全部樓層 |閱讀模式
如果你從來沒接觸過程式設計,看完第一個實驗,信心應該就回來了吧!
當然89C2051的個頭雖小,功能卻不只是實驗一這麼單純呢!
接下來的實驗,我們要把判斷能力寫入晶片中,用輸入的信號來產生對應的輸出。

實驗二:電子方向燈
使用材料:實驗一的材料,長導線*1
電路照片:
IMGP7796.JPG IMGP7798.JPG

程式:
  1. /*實驗二:方向燈*/

  2. #include <AT89x051.h>

  3. void delay(unsigned char tmp);    //宣告延時函數

  4. void main(void)                  //主程式開始
  5. {
  6.     while(1){                    //無限循環   
  7.         P3_0=1;
  8.         if(P3_0==1)               //假如P3輸入"1"的信號,
  9.         {                        //就執行{...}中的指令
  10.             P1_0=0;               //讓第一個LED閃爍一次
  11.             delay(100);
  12.             P1_0=1;
  13.             delay(100);
  14.         }else                    //假如P3輸入不是"1"(不符合if的條件)
  15.         {                        //就執行{...}中的指令
  16.             P1_2=0;               //讓第二個LED閃爍一次
  17.             delay(100);
  18.             P1_2=1;
  19.             delay(100);
  20.         }                        //判斷式結束
  21.     }
  22. }
  23. void delay(unsigned char tmp)    //延時函數內容,改變參數大小,可調整時間
  24. {
  25.     unsigned char i,j;            //宣告使用到的變數
  26.     i=tmp;                        //把呼叫程式式中的參數100指定給變數i
  27.     while(i)                    //只要i不為0,
  28.     {                            //就執行{...}中的指令
  29.         i--;                    //把i值減1
  30.         j=255;                   // <-+
  31.         while(j)                 //   |
  32.         {                        // 用j值讓程式執行256次的迴圈,達到延時效果
  33.              j--;                //   |
  34.         }                        // <-+
  35.     }
  36. }
複製代碼


一樣附上編譯完成的檔案,可下載直接燒錄
Input.hex (217 Bytes, 下載次數: 37)
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

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

GMT+8, 2024-4-19 13:43 , Processed in 0.027474 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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