;
作者:爱因斯尼@SCUT
;时间:2010.08.29
;==================必要的位定义
PORT EQU P0;
DUAN BIT P1^5;
WEI BIT P1^6;
;=================
ORG 00H;程序的开头
LJMP START
ORG 30H;跳过必要的地址区域
START:
MOV B,#0;B寄存器赋初值
MOV R0,#16
MOV DPTR,#TABLE ;取出表格的首地址
LOOPP1:
MOV A,B;将B寄存器的值送到A中
MOVC A,@A+DPTR;注意次寻址方式
;==========================
SETB DUAN;开数码管的段选端
MOV PORT,A;将相应的字模送到P0口
CLR DUAN;关闭数码管的段选端
SETB WEI;打开数码管的位选端
MOV PORT,#00H ;全部打开数码管
CLR WEI;关闭数码管的位选端
MOV R7,#8;8次
CALL DELAY;调用子程序
INC B ;取下一个字模
;==========================
DJNZ R0,LOOPP1;显示完16个字符
JMP START;程序重新开始
;============================延时子程序
DELAY:
//MOV R7,#5
LOOP3:
MOV R5,#0
LOOP2:
MOV R6,#0
LOOP1:
DJNZ R6,$ ;原地踏步
DJNZ R5,LOOP2
DJNZ R7,LOOP3
RET ;子程序返回指令
;======================数码管的字模
TABLE:
DB 0FCH,60H,0DAH,0F2H ;0,1,2,3,
DB 66H,0B6H,0BEH,0E0H ;4,5,6,7,
DB 0FEH,0F6H,0EEH,3EH ;8,9,A,b,
DB 9CH,7AH,9EH,8EH,01H ;C,d,E,F
;===================================
END ;程序结束
欢迎光临我们的淘宝网店:http://item.taobao.com/auction/item_detail.htm?item_num_id=9447334857
文章评论(0条评论)
登录后参与讨论