找回密碼
 立即註冊
搜索
查看: 7327|回復: 3

8051 C PROGRAMMING

[複製鏈接]
發表於 27-6-2007 00:24:54 | 顯示全部樓層 |閱讀模式
早前我上了8051初及中班, 本人對此很感興趣, 但是組合語言來控制硬件確實需要很長的時間發展及學習,所以我開始試用C語言,但剛開始便出現一個問題,PROGRAM如下:
問題在於無論P3.2腳是OPEN還是SHORT, 都是令燈亮著, 如果用組合語言的話可以控制到燈的亮著與關閉? 請教各路高手指點.

#define _TEST_C_
#include "reg51.h"
#include "test.h"
sbit P10 = P1^0; // 燈腳
sbit K1 = P3^2; // 開關掣

void main(void)
{

if(K1)
  {
   P10 = 0;
  }
}
發表於 27-6-2007 07:37:17 | 顯示全部樓層

I hope it usefull

hello, I am vr2xpo.
I think there are some problems that is "no else" and "no looping".
The conpcert must be:
" If K1 is High then P10 is OFF else P10 is ON, go back to check "
so the program maybe follow:

while(1)
    {   If(K1)
           { // your program
           }
         else
           { P10=1;
           }
     }

I hope it no mistake ^_^
 樓主| 發表於 27-6-2007 22:35:39 | 顯示全部樓層
謝謝你的回覆, 最重要是我每一次開或關都做一次reset. 但是結果不變.

(你的方法也試過, 開關仍然不變. ) 請問實驗板及Insight Me-52hu 有什麼需要注意的地方嗎??
 樓主| 發表於 28-6-2007 01:24:54 | 顯示全部樓層
足足攪左四個小時, 原來EMULATOR 插位鬆左少少, 令P2及P3一部份PORTS位 感應好差, 氣死我了,

再此先謝謝各位的幫忙.
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

手機版|小黑屋|存檔|中華業餘無線電研究會網站

GMT+8, 3-5-2024 18:22 , Processed in 0.040273 second(s), 20 queries , Gzip On.

本討論區基於 Discuz! X3.5

版權所有 © 2001-2024 中華業餘無線電研究會有限公司,保留一切權利


重要聲明:本討論區是以即時上載留言的方式運作,中華業餘無線電研究會對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們。中華業餘無線電研究會有權刪除任何留言及拒絕任何人士上載留言(刪除前或不會作事先警告及通知),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

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