找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机八个按键控制八个灯、流水灯、交通灯程序

[复制链接]
跳转到指定楼层
楼主
(一)八个按键控制八个灯原理图



程序:
ORG 0000H
Ljmp main
ORG 0100H
main:mov sp,#40H
    mov A,#0FFH
               mov P1,A
               Loop:mov A,P1
                    mov P0,A;将P1口的数据通过A为媒介传给P0
                                   sjmpLoop;短转移
                                   END1
(二)流水灯
原理图同上
程序:
ORG 0000H
Ljmp main
ORG 0100H
main:mov sp,#50H
    mov R1,#01H
               mov A,R1
               Loop:mov P0,A
                                   LCALLDELAY100;调用延时程序
                                   RLA;循环右移
                                   sjmpLoop
DELAY100: push PSW
          CLR RS0
                                    SETB RS1
                                    mov R7,#0C7H
                                    LOOP1:mov R6,#0FAH
                                    LOOP2:DJNZ R6,LOOP2
                                          DJNZ R7,LOOP1
                                                         POP PSW
                                                         RET

                                   END
仿真时的效果为,发光二极管从上到下依次亮起,不断循环这个过程。
(三)交通灯
原理图

程序:
org 0000h
ljmp main
org 0100H
main: mov SP,#50H
     mov R3,#0AH
                     MOVA,#00H
                     MOVP1,A
LOOP1: SETB P1.7
     SETB p1.0
LOOP2:LCALL DELAY100
                     DJNZR3,LOOP2;亮一秒
                     MOVR3,#0AH
                     CLRP1.0
LOOP3:SETB P1.1
                     LCALLDELAY100
                     CLRP1.1
                     LCALLDELAY100
                     DJNZR3,LOOP3;闪一秒
                     CLRP1.1
                     CLRP1.7
                     MOVR3,#0AH
                     SETBP1.2
                     SETBP1.5
LOOP4:LCALL DELAY100
     DJNZ R3,LOOP4;亮一秒
                     CLRP1.2
                     CLRP1.5
                     SETBP1.2
                     SETBP1.5
                     MOVR3,#0AH
LOOP5:LCALL DELAY100
                     DJNZR3,LOOP5;亮一秒
                     CLRP1.5
                     MOVR3,#0AH
LOOP6:CLR P1.6
                     LCALLDELAY100
                     SETBP1.6
                     LCALLDELAY100
                     DJNZR3,LOOP6;闪一秒
                     CLRP1.6
                     CLRP1.2
                     SETBP1.7
                     SETBP1.0
                     MOVR3,#0AH
LOOP7:LCALL DELAY100
                     DJNZR3,LOOP7;亮一秒
                     CLRP1.2
                     CLRP1.6
                     LJMPMAIN
DELAY100:PUSH PSW
        CLR RS0
                             SETB RS1
                             MOV R7,#0C7H
LOOP8:MOV R6,#0FAH
LOOP9:DJNZ R6,LOOP9
                             DJNZ R7,LOOP8
                             POP PSW
                             RET

                     END
功能:




2.png (161.14 KB, 下载次数: 49)

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

使用道具 举报

沙发
ID:636319 发表于 2019-11-5 21:32 来自手机 | 只看该作者
楼主 是51单片机么?
回复

使用道具 举报

板凳
ID:606169 发表于 2020-9-3 10:19 | 只看该作者
凝香456\ 发表于 2019-11-5 21:32
楼主 是51单片机么?

嗯80c51
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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