找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2839|回复: 8
打印 上一主题 下一主题
收起左侧

51单片机求助

[复制链接]
跳转到指定楼层
楼主
本帖最后由 sjztjk 于 2013-8-17 15:20 编辑

最近做了个小程序试验,结果不成功,求高手指点,谢谢!不成功现象为:按下S1时D1与D2同时亮,按下S2时D1与D2同时灭!

程序如下:
ORG        0                            ;程序从0地址开始
START:   MOV   P2,#0FFH     ;将P2口设计为输入功能,即P2口全部为11111111高电平
;按键检测程序=============================================================
LOOP:    JNB   P2.0,ON       ;检测P2.0口,若P2.0为低电平(S1按下),则跳至ON处执行
              JNB   P2.1,OFF      ;检测P2.1口,若P2.1为低电平(S2按下),则跳至OFF处执行
              JNB   P2.2,OFF2    ;检测P2.2口,若P2.2为低电平(S3按下),则跳至OFF2处执行
              JMP   LOOP          ;跳至LOOP处形成一个循环
;开灯子程序===============================================================
ON:       CLR   P0.0            ;使P0.0清零,D1亮
             CALL  DELAY        ;调用延时子程序
             CLR   P0.1            ;使P0.1清零,D2亮
ON1:     JB    P2.0,LOOP    ;检测P2.0口,若P2.0为高电平(S1放开),则跳至LOOP处执行
             JMP   ON1            ;否则跳至ON1形成一个小循环
;关灯子程序===============================================================
OFF:      SETB  P0.0          ;使P0.0置位,即设定为1,D1灭
             CALL  DELAY       ;调用延时子程序
             SETB  P0.1          ;使P0.1置位,即设定为1,D2灭
             CLR   P0.2          ;使P0.2清零,D3亮
OFF1:    JB    P2.1,LOOP   ;检测P2.1口,若P2.1为高电平(S2放开),则跳至LOOP处执行
             JMP   OFF1         ;否则跳至OFF1形成一个循环
OFF2:    SETB  P0.2         ;使P0.2置位,即设定为1,D3灭         
             END                   ;程序结束


;1秒延时子程序(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, 下载次数: 120)

yawihe.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:27916 发表于 2013-8-18 14:53 | 只看该作者
1、你可以把延时程序加长,这样就不会同时亮灭
2、程序最后面,如果你不想按键再次有效,可以写成JMP  $,而不是直接END;如果希望按键再次有效,可以像前面两个按键那样,加个小循环判断,,,
回复

使用道具 举报

板凳
ID:76287 发表于 2015-4-10 09:15 | 只看该作者
虽然不懂,但还是要顶,毕竟每一位老手都是从新手蜕变而来的,赞一个。。。。。。
回复

使用道具 举报

地板
ID:94279 发表于 2015-11-1 12:48 | 只看该作者
顶上去,代码问题一定可以解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表