?? jishu-miao-0-9999999.9.lst
字號:
A51 MACRO ASSEMBLER JISHU_MIAO_0_9999999_9 12/21/2006 15:02:08 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN jishu-miao-0-9999999.9.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE jishu-miao-0-9999999.9.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;********************************************************************
2 ;* *
3 ;* ME500單片機開發系統演示程序 - 0-9999999.9 秒計數 *
4 ;* *
5 ;* 8位數碼管顯示 *
6 ;* *
7 ;* 版本: V1.0 (2006/11/20) *
8 ;* 作者: gguoqing (Email: gguoqing@willar.com) *
9 ;* 網站: www.willar.com(偉納電子) www.mcusj.com(偉納單片機世界) *
10 ;* 時間: 2006/10/12 *
11 ;* *
12 ;*【版權】Copyright(C)偉納電子 www.willar.com All Rights Reserved *
13 ;*【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息! *
14 ;* *
15 ;********************************************************************
16
0040 17 Count EQU 40H
003F 18 TimeCount EQU 3FH
19
20 ;**********************************************************
21
0000 22 ORG 0000H
0000 802E 23 JMP MAIN
000B 24 ORG 000BH
000B 806A 25 JMP TIMER0
0030 26 ORG 0030H
27
28 ;**********************************************************
0030 29 MAIN:
0030 758160 30 MOV SP,#60H
0033 758901 31 MOV TMOD,#01
0036 D2AF 32 SETB EA
0038 D2A9 33 SETB ET0
003A D28C 34 SETB TR0
003C 758C4C 35 MOV TH0,#4CH ;50ms定時
003F 758A00 36 MOV TL0,#00H
0042 7840 37 MOV R0,#Count
0044 7400 38 MOV A,#00H
0046 39 CLR_1:
0046 F6 40 MOV @R0,A ;清零
0047 08 41 INC R0
0048 B849FB 42 CJNE R0,#49H,CLR_1
004B 43 DISP:
004B 7840 44 MOV R0,#Count ;獲得顯示單元首地址
004D 797F 45 MOV R1,#07FH ;從第一個數碼管開始
004F 7A08 46 MOV R2,#08H ;共顯示8位數碼管
0051 47 DISP1:
0051 E6 48 MOV A,@R0 ;獲得當前位地址
0052 9000DC 49 MOV DPTR,#TABLE ;獲得表頭
0055 93 50 MOVC A,@A+DPTR ;查表獲得顯示數據
0056 F580 51 MOV P0,A ;顯示數據
0058 89A0 52 MOV P2,R1 ;開始顯示當前位
005A E9 53 MOV A,R1 ;準備顯示下一位
005B B4BF02 54 CJNE A,#0BFH,DISP2
005E C287 55 CLR P0.7 ;加小數點
0060 56 DISP2:
0060 03 57 RR A
0061 F9 58 MOV R1,A ;下一位
A51 MACRO ASSEMBLER JISHU_MIAO_0_9999999_9 12/21/2006 15:02:08 PAGE 2
0062 08 59 INC R0 ;取下一個單元地址
0063 12006E 60 LCALL DELAY2MS ;延時 2 MS
0066 DAE9 61 DJNZ R2,DISP1 ;重復顯示下一個
0068 75A0FF 62 MOV P2,#0FFH
006B 80DE 63 JMP DISP
006D 22 64 RET ;顯示完成,返回
65 ;---------------------------------------------------------
66 ;延時子程序
67 ;---------------------------------------------------------
006E 68 DELAY2MS:
006E 7E0A 69 MOV R6,#10
0070 70 DEL1:
0070 7F64 71 MOV R7,#100
0072 DFFE 72 DJNZ R7,$
0074 DEFA 73 DJNZ R6,DEL1
0076 22 74 RET
75 ;**********************************************************
0077 76 TIMER0:
0077 C0E0 77 PUSH ACC
0079 758C4C 78 MOV TH0,#4CH ;50ms定時
007C 758A00 79 MOV TL0,#00H
007F 053F 80 INC TimeCount
0081 E53F 81 MOV A,TimeCount
0083 B40253 82 CJNE A,#2,T_END
0086 753F00 83 MOV TimeCount,#00H
0089 0540 84 INC Count ;小數位
008B E540 85 MOV A,Count
008D B40A49 86 CJNE A,#10,T_END
0090 754000 87 MOV Count,#00H
0093 0541 88 INC Count+1 ;個位
0095 E541 89 MOV A,Count+1
0097 B40A3F 90 CJNE A,#10,T_END
009A 754100 91 MOV Count+1,#00H
009D 0542 92 INC Count+2 ;十位
009F E542 93 MOV A,Count+2
00A1 B40A35 94 CJNE A,#10,T_END
00A4 754200 95 MOV Count+2,#00H
00A7 0543 96 INC Count+3 ;百位
00A9 E543 97 MOV A,Count+3
00AB B40A2B 98 CJNE A,#10,T_END
00AE 754300 99 MOV Count+3,#00H
00B1 0544 100 INC Count+4 ;千位
00B3 E544 101 MOV A,Count+4
00B5 B40A21 102 CJNE A,#10,T_END
00B8 754400 103 MOV Count+4,#00H
00BB 0545 104 INC Count+5 ;萬位
00BD E545 105 MOV A,Count+5
00BF B40A17 106 CJNE A,#10,T_END
00C2 754500 107 MOV Count+5,#00H
00C5 0546 108 INC Count+6 ;十萬位
00C7 E546 109 MOV A,Count+6
00C9 B40A0D 110 CJNE A,#10,T_END
00CC 754600 111 MOV Count+6,#00H
00CF 0547 112 INC Count+7 ;百萬位
00D1 E547 113 MOV A,Count+7
00D3 B40A03 114 CJNE A,#10,T_END
00D6 754700 115 MOV Count+7,#00H
00D9 116 T_END:
00D9 D0E0 117 POP ACC
00DB 32 118 RETI
119
120 ;**********************************************************
00DC 121 TABLE:
00DC C0F9A4B0 122 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
00E0 999282F8
00E4 8090FF 123 DB 80H ,90H,0FFH
A51 MACRO ASSEMBLER JISHU_MIAO_0_9999999_9 12/21/2006 15:02:08 PAGE 3
00E7 8883C6A1 124 DB 88H,83H,0C6H,0A1H,86H,8EH
00EB 868E
125 ;**********************************************************
126 END
A51 MACRO ASSEMBLER JISHU_MIAO_0_9999999_9 12/21/2006 15:02:08 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
CLR_1. . . . . . . C ADDR 0046H A
COUNT. . . . . . . N NUMB 0040H A
DEL1 . . . . . . . C ADDR 0070H A
DELAY2MS . . . . . C ADDR 006EH A
DISP . . . . . . . C ADDR 004BH A
DISP1. . . . . . . C ADDR 0051H A
DISP2. . . . . . . C ADDR 0060H A
EA . . . . . . . . B ADDR 00A8H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
MAIN . . . . . . . C ADDR 0030H A
P0 . . . . . . . . D ADDR 0080H A
P2 . . . . . . . . D ADDR 00A0H A
SP . . . . . . . . D ADDR 0081H A
TABLE. . . . . . . C ADDR 00DCH A
TH0. . . . . . . . D ADDR 008CH A
TIMECOUNT. . . . . N NUMB 003FH A
TIMER0 . . . . . . C ADDR 0077H A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
T_END. . . . . . . C ADDR 00D9H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -