全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1412
推到 Plurk!
推到 Facebook!

8051 接收解碼訊號後 , 搬移腳位輸出有問題

尚未結案
lip310031
一般會員


發表:2
回覆:0
積分:0
註冊:2013-08-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-09-01 01:07:06 IP:60.244.xxx.xxx 訂閱
我想要的功能在檔案內,以下是我的程式檔
ORG 0000H
JMP START
CH0: ;訊號C
CLR P2.0 ;關閉強風
CLR P2.1 ;關閉弱風
CLR P2.2 ;關閉擺頭
CLR P2.3 ;關閉感測
JMP WAIT_END ;跳到等待結束

START: MOV P0,#1 ;程式開始
MOV P2,#0 ;P2執行
MOV P1,#1 ;P1執行
LOOP1:
MOV A,P1 ;A被P1值取代
ANL A,#00011111B ;A包含.0 .1 .2 .3 .4 .5
CJNE A,#00000000B,PA0 ;輸入指令不是0跳至PA0
JMP LOOP1 ;跳到LOOP1
;-------------------------------
PA0: ;強風
CJNE A,#00000001B,PA1 ;按鍵值不是P1.0跳PA1
CLR P2.1 ;關閉P2.1
SETB P2.0 ;啟動P2.0
JMP WAIT_END ;跳至等待結束
;------------------------------- ;上下不可以一起執行
PA1: ;弱風
CJNE A,#00000010B,PA2 ;按鍵值不是P1.1跳至PA2
CLR P2.0 ;關閉P2.0
SETB P2.1 ;啟動P2.1
JMP WAIT_END ;跳至等待結束
;-------------------------------
PA2: ;基本擺頭
CJNE A,#00000100B,PA3 ;按鍵值不是P1.2跳PA3
CLR P2.3 ;關閉P2.3
SETB P2.2 ;啟動P2.2
JMP WAIT_END ;跳到等待結束
;-------------------------------
PA3: ;感測器
CJNE A,#00001000B,PA4 ;按鍵值不是P1.3跳至PA4
CLR P2.2 ;關閉P2.2
SETB P2.3 ;啟動P2.3
JMP WAIT_END ;跳至等待結束
;-------------------------------
PA4: ;關閉全部功能
CJNE A,#00010000B,WAIT_END ;按鍵值不是P1.4
MOV P2,#00000000B ;P2全部值為0
JMP WAIT_END ;跳到等待結束
;================================
WAIT_END: ;等待結束
MOV A,P1 ;A被P1取代
ANL A,#00011111B ;A包含.0 .1 .2 .3 .4
CJNE A,#00000000B,WAIT_END ;A不為0跳至等待結束
JMP LOOP1 ;跳至LOOP1

END
附加檔案:522222badaa33_內容.docx
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-09-01 06:44:38 IP:114.24.xxx.xxx 訂閱
 .
.
START: MOV P0,#1 ;程式開始
MOV P2,#0 ;P2執行
MOV P1,#1 ;P1執行 <== 當輸入偵測用,P1需寫入#0FFH
.
.

系統時間:2017-10-18 13:23:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!