一.静态显示数码管

代码:

注意:使用的单片机具有段选(P2.6)和位选(P2.7)
应用代码时请结合实际使用单片机自行修改或接线!!!

ORG 0000H
AJMP MAIN
ORG 0100HDULA BIT P2.6
WELA BIT P2.7   MAIN:SETB WELA      ;打开位选MOV P0,#0FEH    ;选择数码管第一位CLR WELA      ;关闭位选SETB DULA      ;打开段选MOV P0,#3FH        ;数码管显示0CLR DULA     ;关闭段选
END

二.动态显示数码管

使用延时动态显示(非常简单的重复)

代码:

******************************************************************************
* 文件名:延时动态显示数码管01234567
* 描  述:
* 作  者:思索与猫
* 日  期:  19/6/26
* 备  注:
*
******************************************************************************
ORG 0000H
AJMP MAIN
ORG 0100HDULA BIT P2.6
WELA BIT P2.7   MAIN:SETB WELA          ;显示0MOV P0,#0FEHCLR WELASETB DULAMOV P0,#03FHCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示1MOV P0,#0FDHCLR WELASETB DULAMOV P0,#006HCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示2MOV P0,#0FBHCLR WELASETB DULAMOV P0,#05BHCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示3MOV P0,#0F7HCLR WELASETB DULAMOV P0,#04FHCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示4MOV P0,#0EFHCLR WELASETB DULAMOV P0,#066HCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示5MOV P0,#0DFHCLR WELASETB DULAMOV P0,#06DHCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示6MOV P0,#0BFHCLR WELASETB DULAMOV P0,#07DHCLR DULAACALL DELAY2MS     ;延时2msSETB WELA         ;显示7MOV P0,#07FHCLR WELASETB DULAMOV P0,#007HCLR DULAACALL DELAY2MS     ;延时2msDELAY2MS:         ;@11.0592MHzNOPPUSH 30HPUSH 31HMOV 30H,#4MOV 31H,#141
NEXT:DJNZ 31H,NEXTDJNZ 30H,NEXTPOP 31HPOP 30HRETEND

定时器动态显示

代码:

******************************************************************************
* 文件名:定时器动态显示数码管01234567
* 描  述:
* 作  者:思索与猫
* 日  期:  19/6/26
* 备  注:
*
******************************************************************************
ORG 0000H
AJMP MAIN
ORG 000BH       ;定时器0中断地址
AJMP TIMER0
ORG 0100HDULA BIT P2.6
WELA BIT P2.7   DISPLAY:DB  03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH   ;段码0~9,可根据要求修改
DISPCOM:DB  0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH             ;位码MAIN:ACALL TIMER0INITMOV R7,#0LOOP:AJMP LOOPTIMER0INIT:          ;2ms@11.0592MHzMOV TMOD,#001H       MOV TL0,#0CDH       MOV TH0,#0F8H       CLR TF0             SETB TR0    SETB ET0SETB EA
RETTIMER0:MOV TL0,#0CDH      MOV TH0,#0F8H  SETB WELA               ;位选MOV DPTR,#DISPCOM        ;利用查表设置位MOV A,R7MOVC A,@A+DPTRMOV P0,ACLR WELASETB DULA               ;段选MOV DPTR,#DISPLAY        ;利用查表设置段MOV A,R7    MOVC A,@A+DPTRMOV P0,ACLR DULAINC R7CJNE R7,#8,RE         ;R7自加到8归零MOV R7,#0RE:RETIEND

数码管自加

代码:

******************************************************************************
* 文件名:第一个数码管从0加到9
* 描  述:
* 作  者:思索与猫
* 日  期:  19/6/26
* 备  注:
*
******************************************************************************
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIMER0
ORG 0100HDULA BIT P2.6
WELA BIT P2.7   DISPLAY:DB  03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH
DISPCOM:DB  0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH             MAIN:ACALL TIMER0INITMOV R7,#0MOV R6,#250       ;250*2=500ms
LOOP:AJMP LOOPTIMER0INIT:           ;2ms@11.0592MHzMOV TMOD,#001H       MOV TL0,#0CDH       MOV TH0,#0F8H       CLR TF0             SETB TR0    SETB ET0SETB EA
RETTIMER0:MOV TL0,#0CDH      MOV TH0,#0F8H  DJNZ R6,REMOV R6,#250   SETB WELA               ;位选选择第一个数码管MOV P0,#0FEHCLR WELASETB DULA                ;段选MOV DPTR,#DISPLAY        ;利用查表选择段MOV A,R7    MOVC A,@A+DPTRMOV P0,ACLR DULAINC R7CJNE R7,#10,RE            ;自加到10清0MOV R7,#0RE:RETIEND

汇编指令控制单片机数码管相关推荐

  1. 汇编指令控制单片机LED灯

    一.点亮LED灯 简单的对P1口进行操作就可以了 代码: ORG 0000H AJMP MAIN ORG 0100H MAIN:MOV P1,#0FEH ;点亮LED1AJMP MAIN END 二. ...

  2. 51单片机如何跳出wile循环_51单片机(九)汇编指令

    1 往期链接 Chenglin Li:51单片机(一)Visual Basic串口通信程序 Chenglin Li:51单片机(二)汇编语言设计流水灯 Chenglin Li:51单片机(三)汇编语言 ...

  3. 【单片机】汇编指令入门学习|单片机启动代码汇编

     目录 汇编指令入门学习 [汇编指令]MSP430汇编指令 IAR下的汇编/单片机启动代码汇编 ARM 汇编&ARM 指令集 学习笔记 汇编指令入门学习   在进行汇编程序设计时,MSP430 ...

  4. STM32单片机-汇编指令1

    目录: 1.ldr/str/mov指令 1)LDR指令   2)STR和LDRB指令   3)MOV指令   4)使用示例 2.MOVS指令 3.LDM表示装载,STM表示存储 4.teq指令 5.使 ...

  5. 传统 51 与STC-Y5内核 51 单片机对比汇编指令

    传统 51 与STC-Y5内核 51 单片机对比&汇编指令 算术类指令 24 汇编助记符 功能说明 字节数 传统8051单片机所需时钟 STC 8051单片机所需时钟 ADD A,Rn 寄存器 ...

  6. 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...

    基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...

  7. 串行口实验 编写程序利用PC机控制单片机实验板上的数码管设备工作

    编写程序利用PC机控制单片机实验板上的数码管设备工作 在pc上输入fe,第一个数码管显示1. 在pc上输入fa第五个数码管显示5 程序: #include<reg51.h> #define ...

  8. STM32单片机-汇编指令2

    目录: 11.STMFD和LDMFD指令 1)STMFD SP! ,{R0-R7,LR}   2)LDMFD SP! ,{R0-R7,LR} 99.伪指令 1)PROC伪指令   2)EXPORT伪指 ...

  9. 51单片机汇编指令记忆方法

    虽然现在51单片机一般是用的C语言编程,但是记得当时大学教材还是教的汇编. 本文总结下51单片机的汇编指令,权当是参考,感兴趣的可以了解一下. 学习单片机,除了搞清单片机内部功能.存储空间分配及I/O ...

  10. 单片机控制LED数码管的显示

    首先我们说说LED数码管的显示原理. LED数码管是常见的显示器件.LED数码管为"8"字形的,其计8段(包括小数点段在内)或7段(不包括小数点段),每一段对应一个发光二极管,有共 ...

最新文章

  1. 活动报名 | 第三届中国法研杯司法人工智能挑战赛颁奖会日程出炉
  2. 做一个项目,平时都用到哪些工具提高效率(上)
  3. 【ZZ】Linux常用指令
  4. centos下配置vsftpd
  5. 如何快速学习freemarker以及使用经验
  6. Linux中报库或者程序找不到的解决方法
  7. Python通过Zabbix API获得数据
  8. JS-面向对象-改变This的指向---使用call方法改变this的指向 / 使用apply方法改变this的指向 / 使用bind方法改变this的指向
  9. iText中输出 中文
  10. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
  11. java生成平滑散点图_【转载】如何在excel制作散点图平滑线散点图
  12. CDN原理 CDN技术是什么
  13. Pycharm制作搞怪弹窗(声音强制最大,屏幕亮度强制最亮,按钮躲避,弹窗炸弹)
  14. BGP 路由聚合实验
  15. mysql查询excel表_使用SQL语句实现对Excel工作表数据进行查询的方法
  16. kali安装磊科NW392教程
  17. 基于 HLS 创建 Golang 视频流服务器
  18. educoder中Spark GraphX—构建图及相关操作
  19. Java毕业设计_基于javaweb的网上预约实验室管理系统的设计与实现
  20. 微信小程序 - 婚礼邀请函

热门文章

  1. The Curious Case of Neural Text Degeneration
  2. iOS 上的FlexBox布局
  3. spark 客户端工具_邮件客户端—spark
  4. 帝国cms安装 mysql支持错误_帝国CMS安装时 mysql出错。
  5. Windows XP IIS 500内部错误 解决方案(HTTP 500内部服务器错误)
  6. HDU 4826 双向DP
  7. itest英语考试bug_【写给德语同行的】iTest非官方食用指南(上)
  8. python的合法命名,以下不是Python语言合法命名的是:A、MyGod5B、5MyGodC、_...
  9. SpringBoot整合Redis实现排行榜功能
  10. AI计算机视觉产品中长尾用户,基于长尾理论的AI写作具体分析