史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   8051的小程式請高手幫忙~ (http://forum.slime.com.tw/thread228221.html)

socoolboyi 2008-04-14 10:18 PM

8051的小程式請高手幫忙~
 
ORG 00H
LJMP START
ORG 03H
LJMP INT0
ORG 13H
LJMP INT1
START:
MOV SP,#60H
SETB IT0
SETB IT1
SETB EA
SETB EX0
SETB EX1
SETB PX0
CLR P0.0

LOOP:
MOV A,P1
CJNE A,1,START
MOV B,P2
CJNE B,1,START
ACALL DK_1
AJMP LOOP

DK_1:
CLR P0.0
MOV R7,#50
DJNZ R7,$
SETB P0.0
MOV R7,#20
DJNZ R7,$
CLR P0.0
RET
INT0:
ACALL DK_1
LJMP LOOP
INT1:
ACALL DK_1
LJMP LOOP
END
各位大大幫小弟看看那寫錯了~
還是幫小弟寫一個小程式~
上面的程式在寫
二個輸入一個輸出脈波的小程式~
1:當input1輸入由高電位變低電位或低電位變高電位就輸出一個脈波
2:當input1輸入為1,input2輸入同時也為1時output就輸出連續的脈波~
直到input1或input2其中一個為0就停止送脈波~

飛鳥 2008-04-14 11:59 PM

你的int1和int2中斷是用來作脈波的吧

那你程式,在看P1和P2是否為 1

為什麼要P1和P2 的16 支腳都要看呢?

因為不知道你的電路怎麼接,但如果8支腳,其他七支腳接空的話,會不一定是0喔

有像無線電的東西,都會使接腳有一點點電壓,所以要看一支腳就可以了,試試看

可以只看一支腳就好了
引用:

LOOP:
JNB P1.1,START
JNB P1.2,START
CALL DK_1
JMP LOOP

JNB P1.1,START
#P1.1不為0就跳到START

JB P1.1,START
#P1.1為0就跳到START

socoolboyi 2008-04-15 02:20 PM

給上面的大大~
 
ORG 00H
LJMP START
ORG 03H
LJMP INT0
ORG 13H
LJMP INT1
START:
MOV SP,#60H
SETB IT0
SETB IT1
SETB EA
SETB EX0
SETB EX1
SETB PX0
LOOP:
JNB P1.1,LOOP
JNB P1.2,LOOP
CALL DK_1
JMP LOOP
DK_1:
CLR P0.0
MOV R7,#50
DJNZ R7,$
SETB P0.0
MOV R7,#20
DJNZ R7,$
CLR P0.0
RET
INT0:
ACALL DK_1
LJMP LOOP
INT1:
ACALL DK_1
LJMP LOOP
END
我有做了一些小改變~
煩請大大在幫我看一下~

飛鳥 2008-04-15 03:13 PM

語法:

ORG    00H
        LJMP    START
        ORG    03H
        LJMP    INT0
        ORG    13H
        LJMP    INT1
START:
        MOV    SP,#60H
        SETB    IT0
        SETB    IT1
        SETB    EA
        SETB    EX0
        SETB    EX1
        SETB    PX0
LOOP:
            JNB      P1.1,LOOP
            JNB      P1.2,LOOP
            CALL    DK_1
            JMP      LOOP
DK_1:
            CLR      P0.0
            MOV    R7,#50
            DJNZ    R7,$
            SETB    P0.0
            MOV      R7,#20
            DJNZ    R7,$
            CLR      P0.0
            RET
INT0:
        ACALL  DK_1
        LJMP        LOOP
INT1:
        ACALL  DK_1
        LJMP        LOOP
    END

有硬體圖嗎?要產生怎麼樣的脈波?

有一定要使用中斷INT0,INT1嗎?

socoolboyi 2008-04-15 04:48 PM

感謝上面的大大~
 
沒有電路圖也~= =..
脈波也沒有規定~
不一定要用中斷~
只要可以完成就ok~~
沒有特別的規定~
INPUT1: ____ ________________
|_______|
INPUT2:_______ ____________
|_________| |______
_ _ _ _ _ _
OTPUT:____| |______| |_| |_| |_| |_| |________

輸入和輸出圖
感謝大大幫忙~

天才小痴 2008-04-17 01:35 AM

楼主,你没有说明INPUT1,INPUT2的脉冲的周期时间啊,还有OUTPUT要得到什么样的脉冲,没有这样条件,没办法写出程序呀!:on_47::on_47:


所有時間均為台北時間。現在的時間是 08:49 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1