功能:51单片机用一位数码管循环显示0-9,A-f ,十六位字,变换间隔为一秒 程序:主要使用查表的方法(从程序存储器里装载数据) ORG 00H START: SETB P2.7;打开位选锁存器 MOV P0,#0FEH;载入位选信号,第一位显示 CLR P2.7;关闭位选锁存器 MOV R0,#0;这一句和下一句是将A清零操作(初始化) LOOP: MOV A,R0;将A清零操作 MOV DPTR,#TAPE ;装载表头 MOVC A,@A+DPTR;查表取数据 SETB P2.6;打开段选锁存器 MOV P0,A;输出数据到P0口 CLR P2.6;关段选锁存器 CALL DELAY;延时一秒 INC R0;将R0自加一(准备取下一表头数据) CJNE R0,#16,LOOP;比较指令,看否取到了十六位否 则继续取表数据 JMP START;跳到"START开始 DELAY:MOV R5,#50;延时一秒子程序 D1:MOV R6,#100 D2:MOV R7,#100 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET;子程序返回 TAPE: DB 3FH,6H,5BH,4FH;表头 DB 66H,6DH,7DH,7H DB 7FH, 6FH,77H,7CH DB 39H,5EH,79H,71H END ;结束