⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 17动态数码管扫描.asm

📁 这是2008年stc程序个人设计汇总
💻 ASM
字号:
;本程序的任务是要让8个数管能分别显示不同的数字,以前的例子中,更改P1口听数据,8个数码管会同时变成另一数字,本程序需要观看LED显示,请将CZ2和P1口用排线连接起来
;本程序先在30-37h放入0-7,在数码管中显示出来
;根据电路原理图可知,本实验板是用一只74HC164扩展IO来控制8个数码管点亮,这种方法又经济,又方便,


org 00h
mov dptr,#ledtab
mov r1,#0
mov 30h,#0
mov 31h,#1
mov 32h,#2
mov 33h,#3
mov 34h,#4
mov 35h,#5
mov 36h,#6
mov 37h,#7   ;先将要显示的数放入寄存器内,以后做产品时,你要显示什么数就由你的程序自动计算自动放进这里


main:

;LED动态扫描程序显示开始,说明有8只LED数码管,就需要分别显示8只数码管,r7表示是轮到显示第几只
inc r7
disp0:cjne r7,#8,disp1
mov r7,#0
disp1:cjne r7,#0,disp2
	mov a,#00000001b    ;通过串行口向74HC164发送数据,只让一个数码管的阳极有电,即只点亮一只数码管
	mov p1,#0ffh    ;向74HC164送数据前要先熄灭LED数码管显示,否则,会出"鬼影",因为要确保每一位管对应每一位管的数据
mov sbuf,a	;现在是通过串行口送数,这是硬件完成的,为了保险,后可以跟几个空指指令,彻底消除鬼影,否则,显示数据送到P1口了,串行数据有可能还没有传完

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -