求一汇编程序:六个数码管动态显示123456
org 00H AJMP主org 3 0hmain:lcall Disp Mov 2 0H,#1 MOV 2 1 H,#2 MOV 2 2 H,#3 MOV 2 3 H,#4 MOV 2 4 H,#5 MOV 2 5 H,#6 ,CLR P2 .0 ACALL DLY SETB P2 .0 MOV A,2 1 H ACALL SE G7 MOV P0,CLR P2 .1 ACALL DLY SETB P2 .1 MOV A,2 2 H ACALS SEG7 MOV P0,CLR P2 .2 ACALL DLY SETB P2 .2 MOV A,2 3 H ACALL SEG7 MOV P0,CLR P2 .3 ACALL DLY SETB P2 .3 MOV A,2 4 H ACALL SEG7 MOV P0,CLR P2 .4 ACAL L DLY SETB P2 .4 MOV A,2 5 H ACALL SEG7 MOV P0,CLR P2 .5 ACALL DLY SETB P2 .5 RET DLY:MOV R7 ,#2 D1 :MOV R6 ,#4 0 DJNZ R6 ,$ DJNZ R7 ,D1 RETSEG7 :INC A MOVC A,@A+PC RET DB 03 FH; 0 dB 006 H; 1 dB 05 bh; 2 dB 04 fh; 3 dB 06 6 H; 4 dB 06 DH; 5 dB 07 dH; 6 dB 007 H; 7 dB 07 fh; 8 dB 06 fh; 9 结束编程数码管循环显示数字0-5
该程序用于实施6 位数字管的定期报价从0到5 该程序是用汇编语言编写的,数字管的动态更新是通过特定的延迟功能实现的。该程序开始从00h实施,并跳到主要品牌。
在主要品牌中,该计划首先将P2 端口设置为0FEH,然后将记录任命为00h。
接下来,该程序确定一个表格选项卡,以将相对的数字管图标从0到5 存储。
该程序会定期显示这些符号,以实现数字管的周期性显示的效果。
在显示课程的过程中,该程序首先通过MVC指令读取目前从桌面提供的数字管图标,并将其保存在P0端口。
接下来,该程序调用Sub -Routine来延迟计时的延迟,并模拟数字管的神秘效果。
在子 - 德莱例程中,该程序通过多个环和仪表实现了延迟的效果。
具体而言,该程序使用三个记录R1 ,R2 和R3 进行计数,并通过DJNZ指令控制课程数以实现时间效应。
整个程序连续更新数字管图标,以从0到5 实现圆形显示效果。
在显示过程中,该程序通过正时延迟功能模仿数字管的充满活力的效果,从而实现了动态显示的效果。
应该注意的是,程序中的“选项卡”表存储了数字管的显示,与0到5 相对应。
这些符号通过MVC指令从表中读取这些符号,并通过P0端口读取输出。
这样,该程序可以实现数字管的动态显示的效果。
总而言之,该程序通过收集语言执行简单的数字管循环显示功能。
该程序通过读取和定期时间安排延迟数字管显示的代码,从而实现数字管的动态显示的影响,从而实现了显示数字从0到5 的目的。
汇编语言数码管显示数字
在第6 课中,我们探讨了数字管屏幕的静态方法。通过检查位和细分选择的选择,可以使用任意字符出现任何数量的数字管。
但是,选择所有位的通常段意味着只能同时出现相同的数字,例如8 位数字管同时指示数字8 如果数字管必须同时显示不同的数字,例如1 、2 、3 、4 、5 、6 等,则无法应用静态屏幕方法。
因此,我们提出了一种解决此问题的动态屏幕方法。
在解释动态屏幕方法之前,我们将首先介绍数字管编程中常用的方法 - 编码方法。
字符串的编码可以编码数字管或段的一部分。
在这里,我们将以段编码为例进行解释。
在上一堂课中,我们知道何时确定位的选择,何时出现数字8 时,P0的值为0x8 0,当数字3 出现时,P0的值为0xB0。
这意味着0xB0和0x8 0分别对应于数字3 和8 根据此方法,我们可以为数字管显示1 6 个数字从0到f,分别以十六进制数字表示。
这些十六进制的数字称为数字管,显示了0至F的相关代码。
编程时,这些编码的表示如下:签名代码'[] = {0xc0.0xf9 .0xa4 .0xb0.0x9 9 ,0x8 2 .0xf8 .0x8 0.0x8 8 .0x8 3 .0xc6 .0x8 6 .0x8 e; 在这里,编码是组的名称,必须在其之后添加经文的相应元素。
引入编码字符串的方法使我们能够更有效地控制数字管的外观。
接下来,我们将详细讨论实施数字管动态显示程序的原理和方法。