8个数码管依次显示的程序

8个七段数码管依次显示0,1,2,3,4,5,6,7 按下开关后,再依次显示7,6,5,4,3,2,1,0 用的 是AT89C52的单片机 要汇编语言程序 要易懂 能操作可行 别全是错误

请问朋友你开关是电源开关还是控制键盘?
如果是电源开关,那么汇编程序好写。
程序如下:
P2口送位控制,P0口送显示数据(P1.0——P1.6对应数码管abcdefg),用于共阳数码管,
ORG 0000H;跳过中断入口
LJMP START;
ORG 0030H;主程序开始
START:MOV SP,#60;初始化堆栈
MOV DPTR,#TAB;显示数据表格首址送数据指针
MOV R0,#0FEH;位控制寄存器
MOV R1,#0;取码寄存器
MOV P2,#0FFH;
MOV R4,#255;延时控制
MOV P0,#0FFH;
MOV R2,#8;要显示8个数,既8个数码管同时显示01234567;
L1:MOV A,R1;
MOVC A,@A+DPTR;
MOV P0,A;送显示数据
MOV P2,R0;送位控制
DJNZ R4,$;延时
MOV P2,#0FFH;关显示
INC R1;显示下一个数据,
MOV A,R0;
RL A;下一位数码管显示
MOV R0,A;
DJNZ R2,L1;
AJMP START;
TAB:DB 0C0H;0
DB 0F9H;1
DB 0A4H;2
DB 0B0H;3
DB 99H; 4
DB 92H; 5;
DB 82H; 6
DB 0F8H;7
END
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-18
就是写一个查询日记,一个查询方面的日记,进行排列顺序。
相似回答