我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 140|回复: 17

[源码共享] STC90C516RD+,P0驱动共阳数码管显示0-7显示1秒,同时P2驱动7颗LED实现流水灯(汇编代码)

  [复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:99
  • 打卡月天数:0
  • 打卡总奖励:320
  • 最近打卡:2026-06-10 14:36:35

12

主题

582

回帖

1002

积分

二级逆天

积分
1002

终身成就奖特殊贡献奖原创先锋奖

发表于 2026-8-10 21:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
; STC90C516RD+ 汇编程序
; P0:8路流水灯,IO输出低电平点亮LED 显示1S
; P2:输出共阳数码管段码0-7显示1S,段码低电平点亮
; 逻辑同步:8颗LED流水一轮,数码管数字同步从0循环回到0,一一对应

        ORG 0000H                ; 设定程序起始地址为单片机复位入口地址0000H,CPU上电从此处取指令
                                                ; 告诉Keil编写的代码起始地址为 0000H
                LJMP MAIN                ; 长跳转,直接跳到主程序MAIN,跳过中断向量区,避免中断误触发
                                                ; 汇编是从0000 H开始执行,不要LJMP MAIN也行,
        ORG 0030H       ; 后续主程序代码从0030H地址开始存放,避开0003H~002FH中断向量预留区
                                                ; 因为上一行使用了LJMP MAIN 所以这一行相当于告诉编译器MAIN的地址是 0030H 从这里开始执行吧
MAIN:
        MOV R0,#0        ; R0寄存器用作数码管显示计数变量,初始值赋值0,从数字0开始显示
        MOV R1,#0FEH      ; R1寄存器存放流水灯输出状态,0FEH=11111110,P2.0引脚输出低电平,第一颗LED点亮

LOOP:
        ; ========== P0口输出共阳数码管段码 ==========
        MOV DPTR,#SEG_TABLE  ; 把数码管段码表的首地址赋值给数据指针DPTR,用于查表取值
        MOV A,R0             ; 将数码管计数值R0送入累加器A,作为查表偏移量
        MOVC A,@A+DPTR       ; 程序存储器查表指令:基址+偏移量读取对应数字的数码管段码,存入A
        MOV P0,A             ; 将查表得到的段码输出到P0口,驱动共阳数码管显示对应数字

        ; ========== P2口输出流水灯状态 ==========
        MOV A,R1             ; 将流水灯状态值R1送入累加器A
        MOV P2,A             ; 把状态码输出到P2口,控制8路LED亮灭状态

        LCALL DELAY_1S   ; 长调用1秒延时子程序,固定灯光、数码管显示时长,肉眼可分辨变化

        ; ========== 流水灯整体左移,点亮下一颗LED ==========
        MOV A,R1         ; 读取当前流水灯状态到累加器A
        RL A             ; 累加器A循环左移1位,低电平向左移动一位,实现LED向左流水点亮
        MOV R1,A         ; 将移位后的新状态保存回R1寄存器,用于下一轮输出

        ; ========== 数码管计数循环 0~6,到7清零回到0(匹配8位灯0~7一轮) ==========
        INC R0           ; 数码管计数变量自增1,数字+1
        CJNE R0,#8,NEXT_NUM ; 比较R0和立即数7:不相等直接跳转到NEXT_NUM继续循环;相等则顺序执行清零
        MOV R0,#0        ; 计数值到达7,重置为0,数码管数字从头循环
NEXT_NUM:

        LJMP LOOP        ; 长跳转回到LOOP标签,无限循环流水灯+数码管刷新逻辑

; 共阳数码管段码表 0~9 不带小数点,高位为小数点,全部熄灭
SEG_TABLE:
        DB 0C0H,0F9H,0A4H,0B0H,99H  ; 数字0、1、2、3、4段码
        DB 92H,82H,0F8H,80H,90H     ; 数字5、6、7、8、9段码

; 11.0592MHz晶振,12T模式,约1秒延时子程序,三重循环软件延时
DELAY_1S:
        MOV R5,#10       ; 第一层循环计数器R5赋值10
D1:     MOV R6,#200      ; 第二层循环计数器R6赋值200
D2:     MOV R7,#248      ; 第三层循环计数器R7赋值248
        DJNZ R7,$        ; R7自减1,非0则原地循环,最内层空循环消耗时钟周期
        DJNZ R6,D2       ; R6自减1,非0跳回D2,重复内层循环
        DJNZ R5,D1       ; R5自减1,非0跳回D1,重复中层+内层循环
        RET              ; 子程序返回指令,回到调用处LCALL的下一行继续执行

        END              ; 汇编程序结束标记,告知编译器代码全部结束

回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:577
  • 打卡月天数:13
  • 打卡总奖励:2590
  • 最近打卡:2026-09-16 09:00:21

34

主题

2161

回帖

6945

积分

1元学习Allegro(230718)

积分
6945

终身成就奖特殊贡献奖原创先锋奖

发表于 2026-8-10 21:38 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家II
  • 打卡总天数:295
  • 打卡月天数:24
  • 打卡总奖励:841
  • 最近打卡:2026-09-24 22:51:07

4

主题

1449

回帖

1613

积分

二级逆天

积分
1613
发表于 2026-8-10 21:43 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:643
  • 打卡月天数:23
  • 打卡总奖励:2709
  • 最近打卡:2026-09-24 19:19:54

74

主题

1万

回帖

1万

积分

三级逆天

积分
10265

终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

QQ
发表于 2026-8-11 06:33 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:545
  • 打卡月天数:24
  • 打卡总奖励:3529
  • 最近打卡:2026-09-24 09:00:00

44

主题

2179

回帖

4601

积分

1元学习Allegro(230718)

积分
4601

终身成就奖

发表于 2026-8-11 07:12 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:689
  • 打卡月天数:21
  • 打卡总奖励:2511
  • 最近打卡:2026-09-24 11:49:29

3

主题

2233

回帖

5168

积分

二级逆天

积分
5168

终身成就奖特殊贡献奖原创先锋奖

发表于 2026-8-11 07:59 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:784
  • 打卡月天数:24
  • 打卡总奖励:3771
  • 最近打卡:2026-09-24 09:00:00

34

主题

5584

回帖

1万

积分

PADS20220105初级班

积分
14926

终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

发表于 2026-8-11 08:30 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:534
  • 打卡月天数:21
  • 打卡总奖励:1615
  • 最近打卡:2026-09-24 09:31:22

43

主题

1万

回帖

7万

积分

三级逆天

积分
75168

终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发社区明星原创达人优秀斑竹奖宣传大使奖

QQ
发表于 2026-8-11 08:30 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家I
  • 打卡总天数:65
  • 打卡月天数:8
  • 打卡总奖励:115
  • 最近打卡:2026-09-18 19:37:07

20

主题

1660

回帖

717

积分

二级逆天

积分
717

终身成就奖特殊贡献奖

QQ
发表于 2026-8-11 09:31 | 显示全部楼层
回复

使用道具 举报

  • 打卡等级:以坛为家III
  • 打卡总天数:553
  • 打卡月天数:19
  • 打卡总奖励:1675
  • 最近打卡:2026-09-24 09:51:56

3

主题

2228

回帖

5079

积分

二级逆天

薄情如漠,深情付九

积分
5079

终身成就奖特殊贡献奖原创先锋奖

发表于 2026-8-11 09:55 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请举报投诉

本站所有资料仅限参考学习交流,PCB原理图源码等所有资料不保证准确没问题,请不要用作生产。否则后果自负。

闽公网安备35062302000276号 | 闽ICP备2024076463号-1 | 论坛技术支持QQ群171867948 | 论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表