汇编语言问题 在单片机LED上显示数字(0~9)的源代码是什么啊?

说出一两个也行,最好说出它们的规律.谢谢

这个有查表的方法来做:

;;8051
;;晶体振荡F=12Mhz
;;;
KEY32 REG P3.2
;
ORG 0000H
AJMP MAIN
ORG 0003H
RETI
RETI
ORG 000BH
RETI
ORG 0013H
RETI
RETI
ORG 001BH
RETI
ORG 0023H
RETI

DB C0H ;0 ADRRESS 0024H
DB F9H ;1
DB A4H ;2
DB B0H ;3
DB 99H ;4
DB 92H ;5
DB 82H ;6
DB F8H ;7
DB 80H ;8
DB 90H ;9

MAIN: MOV R0,#7FH ;
CLR A ;
$CL MOV @R0,A ;
DJNZ R0,$CL ;初始化
MOV SP,#60H ;初始化
MOV 20H,#00H ;最开始设定为0
MOV DPTR,#0024H ;指向数据表首地址
;;
$0 JB KEY32,$0
MOV A,20H
INC A
CJNE A,#10D,$1 ;不相当则转移
MOV A,#00H
$1 MOV 20H,A ;保存数据
MOVC A,@A+DPTR
MOV P1,A ;DISPLAY
$2 CALL DLY ;调用延时等待 KEY 起来
JNB KEY32,$2
AJMP $0
;;
DLY: MOV R7,#00 ;DELAY
$A MOV R6,#00 ;
$B DJNZ R6,$B
DJNZ R7,$A
RET
;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-25
有点不太明白你在问什么,LED分为8段,刚好用一组引脚来控制,给出数据控制不同的段亮就能显示不同的数据,比如3FH对应ABCDEF亮G和小数点灭就显示0了,这个就是这么简单呀
相似回答