51单片机汇编点灯程序

 单片机数码管显示0~9程序:

        ORG 0000H
        AJMP MAIN
        ORG 000BH
        AJMP INT_T0

MAIN:   MOV TMOD,#01H
        MOV TH0,#HIGH(65536-10000)
        MOV TL0,#LOW(65536-10000)
        SETB ET0
        SETB EA
        MOV R1,#64H    ;100个10ms延时
        MOV R0,#00H
        SETB TR0
        SJMP $

INT_T0: MOV TH0,#HIGH(65536-10000)
        MOV TL0,#LOW(65536-10000)
        DJNZ R1,L
        MOV DPTR,#TABLE
        MOV A,R0
        MOVC A,@A+DPTR
        MOV P0,A
        INC R0
        MOV R1,#64H
        CJNE R0,#10,L
        MOV R0,#00H
L:
        RETI
TABLE:  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

单片机8个数码管从左到右依次点亮0~7程序:

        ORG 0000H
        AJMP MAIN
        ORG 000BH
        AJMP INT_T0

MAIN:   MOV TMOD,#01H
        MOV TH0,#HIGH(65536-10000)
        MOV TL0,#LOW(65536-10000)
        SETB ET0
        SETB EA
        MOV R1,#64H
        MOV R0,#00H
        SETB TR0
        SJMP $

INT_T0: MOV TH0,#HIGH(65536-10000)
        MOV TL0,#LOW(65536-10000)
        DJNZ R1,L
        MOV DPTR,#TABLE
        MOV A,R0
        MOVC A,@A+DPTR
        MOV P2,R0    ;与上面程序对比只加了这条语句,使数码管点亮对应数字位
        MOV P0,A
        INC R0
        MOV R1,#64H
        CJNE R0,#8,L
        MOV R0,#00H
L:
        RETI
TABLE:  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

点亮发光二极管程序(现象:0号灯暗,1号灯亮):

        ORG 0000H
        AJMP MAIN
        ORG 000BH
        AJMP INT_T0

MAIN:   MOV TMOD,#01H
        MOV TH0,#HIGH(65536-10000)
        MOV TL0,#LOW(65536-10000)
        SETB ET0
        SETB EA
        CLR P1.1    ;点亮1号灯做明暗对比
        SETB TR0
        SJMP $

INT_T0: MOV TH0,#HIGH(65536-10000)    ;10ms取反一次
        MOV TL0,#LOW(65536-10000)
        CPL P1.0    ;0号灯取反

L:
        RETI
TABLE:  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值