找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3176|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)求助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:44124 發(fā)表于 2013-8-17 14:38 | 只看該作者 |只看大圖 回帖獎勵 |正序?yàn)g覽 |閱讀模式
本帖最后由 sjztjk 于 2013-8-17 15:20 編輯

最近做了個(gè)小程序試驗(yàn),結(jié)果不成功,求高手指點(diǎn),謝謝!不成功現(xiàn)象為:按下S1時(shí)D1與D2同時(shí)亮,按下S2時(shí)D1與D2同時(shí)滅!

程序如下:
ORG        0                            ;程序從0地址開始
START:   MOV   P2,#0FFH     ;將P2口設(shè)計(jì)為輸入功能,即P2口全部為11111111高電平
;按鍵檢測程序=============================================================
LOOP:    JNB   P2.0,ON       ;檢測P2.0口,若P2.0為低電平(S1按下),則跳至ON處執(zhí)行
              JNB   P2.1,OFF      ;檢測P2.1口,若P2.1為低電平(S2按下),則跳至OFF處執(zhí)行
              JNB   P2.2,OFF2    ;檢測P2.2口,若P2.2為低電平(S3按下),則跳至OFF2處執(zhí)行
              JMP   LOOP          ;跳至LOOP處形成一個(gè)循環(huán)
;開燈子程序===============================================================
ON:       CLR   P0.0            ;使P0.0清零,D1亮
             CALL  DELAY        ;調(diào)用延時(shí)子程序
             CLR   P0.1            ;使P0.1清零,D2亮
ON1:     JB    P2.0,LOOP    ;檢測P2.0口,若P2.0為高電平(S1放開),則跳至LOOP處執(zhí)行
             JMP   ON1            ;否則跳至ON1形成一個(gè)小循環(huán)
;關(guān)燈子程序===============================================================
OFF:      SETB  P0.0          ;使P0.0置位,即設(shè)定為1,D1滅
             CALL  DELAY       ;調(diào)用延時(shí)子程序
             SETB  P0.1          ;使P0.1置位,即設(shè)定為1,D2滅
             CLR   P0.2          ;使P0.2清零,D3亮
OFF1:    JB    P2.1,LOOP   ;檢測P2.1口,若P2.1為高電平(S2放開),則跳至LOOP處執(zhí)行
             JMP   OFF1         ;否則跳至OFF1形成一個(gè)循環(huán)
OFF2:    SETB  P0.2         ;使P0.2置位,即設(shè)定為1,D3滅         
             END                   ;程序結(jié)束


;1秒延時(shí)子程序(12MHz晶振)
DELAY:  MOV R1,#50
DEL0:   MOV R2,#91
DEL1:   MOV R3,#100  
            DJNZ R3,$  
            DJNZ R2,DEL1
            DJNZ R1,DEL0
            RET
            END


yawihe.JPG (103.99 KB, 下載次數(shù): 152)

yawihe.JPG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

6#
ID:94279 發(fā)表于 2015-11-1 12:48 | 只看該作者
頂上去,代碼問題一定可以解決
回復(fù)

使用道具 舉報(bào)

5#
ID:76287 發(fā)表于 2015-4-10 09:15 | 只看該作者
雖然不懂,但還是要頂,畢竟每一位老手都是從新手蛻變而來的,贊一個(gè)。。。。。。
回復(fù)

使用道具 舉報(bào)

地板
ID:27916 發(fā)表于 2013-8-18 14:53 | 只看該作者
1、你可以把延時(shí)程序加長,這樣就不會同時(shí)亮滅
2、程序最后面,如果你不想按鍵再次有效,可以寫成JMP  $,而不是直接END;如果希望按鍵再次有效,可以像前面兩個(gè)按鍵那樣,加個(gè)小循環(huán)判斷,,,
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表