Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

利用8051做開關和寫程式

我打算要從一塊電路板上的J2(有6點)拉線接到8051

有3個繼電器接到8051上

超過上限溫度時J2-4,J2-5短路 低於下限溫度時J2-1,J2-2短路

把1,2,4,5這4點接到8051上

超過上限溫度時,啟動繼電器 低於下限溫度,啟動繼電器

利用它的短路經由8051來控制繼電器

不知道如何寫8051的程式

http://tw.wrs.yahoo.com/_ylt=A3TWBZRN3VdMeBwBKxNr1... 這是溫控電路的電路板(其J2接點及LED1-LED3說明有錯誤,以上述的為主)

Update:

回答者: 慕容雪 ( 初學者 5 級 )

這是C語言嗎?

可以解釋一下嗎?

Update 2:

可以用keil C 程式來寫嗎?

這樣我比較好編譯

Update 3:

但是我編譯不了

會出現Target not created

我用keil C 教學程式碼就可以編譯成功

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    #define Up_Tamp1 P2_0

    #define Up_Tamp2 P2_1

    #define Down_Tamp1 P2_2

    #define Down_Tamp2 P2_3

    #define Relay_1 P2_4

    #define Relay_2 P2_5

    #define Relay_3 P2_6

    void main(void)

    {

    char value;

    P2=0x00;

    value=0x00;

    Interrupt_Initial();

    while(1)

    {

    P2=value && 0xF5;

    Delay_Timer(20);

    value=P2;

    value=value && 0x0F;

    if(value==0x03)

    value=0x70;

    if(value==0x0C)

    value=0x70;

    P2=value;

    }

    }

    2010-08-07 13:42:06 補充:

    1.是keil C 程式沒錯。

    2.你有寫過80C51的相關程式嗎?

    3.我給的程式是片段,其中包含參數定義、Main程式。

    4.Interrupt_Inital(); 是關於80C51中斷設定的副程式。

    5.Delay_Timer(20); 是延遲副程式。

  • 1 decade ago

    溫控ic(ad590) 類比 你要轉成數位信號 ( 類比轉數位 ic adc0804)8位元

    建議你買這本書 8051單晶片設計實務 (組合語言版) 這本書來不錯用

    ds1821這個ic 我沒玩過 所以不知道他性格

    如果他有程式碼 你可以自己看看呀

Still have questions? Get your answers by asking now.