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就停止送脈波~ |
你的int1和int2中斷是用來作脈波的吧
那你程式,在看P1和P2是否為 1 吧 為什麼要P1和P2 的16 支腳都要看呢? 因為不知道你的電路怎麼接,但如果8支腳,其他七支腳接空的話,會不一定是0喔 有像無線電的東西,都會使接腳有一點點電壓,所以要看一支腳就可以了,試試看 可以只看一支腳就好了 引用:
#P1.1不為0就跳到START JB P1.1,START #P1.1為0就跳到START |
給上面的大大~
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 我有做了一些小改變~ 煩請大大在幫我看一下~ |
語法:
ORG 00H 有一定要使用中斷INT0,INT1嗎? |
感謝上面的大大~
沒有電路圖也~= =..
脈波也沒有規定~ 不一定要用中斷~ 只要可以完成就ok~~ 沒有特別的規定~ INPUT1: ____ ________________ |_______| INPUT2:_______ ____________ |_________| |______ _ _ _ _ _ _ OTPUT:____| |______| |_| |_| |_| |_| |________ 輸入和輸出圖 感謝大大幫忙~ |
楼主,你没有说明INPUT1,INPUT2的脉冲的周期时间啊,还有OUTPUT要得到什么样的脉冲,没有这样条件,没办法写出程序呀!:on_47::on_47:
|
所有時間均為台北時間。現在的時間是 08:49 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *