📄 blk2_831.lst
字号:
BLK2_831 PAGE 1
1 ;======================================================================
2 ;
3 ; Author : ADI - Apps
4 ;
5 ; Date : April 2002
6 ;
7 ; Filename : blk2_831.asm
8 ;
9 ; Hardware : ADuC831
10 ;
11 ; Description : Blinks LED continuously at 5Hz
12 ; Pressing INT0 followed by a UART reception of 'U'
13 ; (for upgrade code) allows the code to be upgraded
14 ;
15 ; NOTE: This program will only work if the option to
16 ; always run code from E000H after download is
17 ; selected.
18 ;
19 ;======================================================================
20 ;
21 $MOD831
22 ;____________________________________________________________________
23 ; BEGINNING OF CODE
---- 24 CSEG
0000 25 ORG 0000H
26
0000 012C 27 AJMP MAIN
28
29 ;____________________________________________________________________
30 ; INT0 ISR
0003 31 ORG 0003H
32 ; wait to receive a character from the UART
0003 3098FD 33 JNB RI, $ ; wait for reception
0006 C298 34 CLR RI
0008 E599 35 MOV A, SBUF
000A B4551E 36 CJNE A, #'U', ERROR
37
38 ; plan to upgrade new code => set BOOTEN
000D 75C700 39 MOV EADRH, #0
0010 75C600 40 MOV EADRL, #0
0013 75B901 41 MOV ECON, #1 ; read page
0016 43BC01 42 ORL EDATA1, #1 ; SET LSB
0019 75B905 43 MOV ECON, #5 ; ERASE page
001C 75B902 44 MOV ECON, #2 ; program page
001F 75B904 45 MOV ECON, #4 ; verify page
0022 E5B9 46 MOV A, ECON
0024 7005 47 JNZ ERROR
48 ; use the watchdog timer to reset part...run from E000H after reset
49
0026 D2C0 50 SETB WDWR
0028 75C082 51 MOV WDCON, #82h
52
002B 32 53 ERROR: RETI
54
55 ;____________________________________________________________________
56 ; MAIN
002C 57 MAIN:
58 ; enable INT0
BLK2_831 PAGE 2
002C D288 59 SETB IT0 ; INT0 edge triggered
002E D2AF 60 SETB EA ; enable inturrupts
0030 D2A8 61 SETB EX0 ; enable INT0
62
63 ; configure UART for 115200
0032 759E81 64 MOV T3CON, #81h
0035 759D20 65 MOV T3FD, #20h
0038 759852 66 MOV SCON, #52H
67
003B 68 BLINK:
003B B2B4 69 CPL P3.4
003D 12004E 70 CALL DELAY
0040 12004E 71 CALL DELAY
0043 12004E 72 CALL DELAY
0046 12004E 73 CALL DELAY
0049 12004E 74 CALL DELAY
004C 013B 75 AJMP BLINK
76
77
78 ;____________________________________________________________________
79 ; DELAY
004E 80 DELAY:
81 ; 70ms DELAY
004E 78FF 82 MOV R0,#255
0050 83 DLY:
0050 79FF 84 MOV R1,#255 ; 255 x 255 x 1.08us
0052 D9FE 85 DJNZ R1,$
0054 D8FA 86 DJNZ R0,DLY
87
0056 22 88 RET
89 ;____________________________________________________________________
90
91
92 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
BLK2_831 PAGE 3
BLINK. . . . . . . . . . . . . . C ADDR 003BH
DELAY. . . . . . . . . . . . . . C ADDR 004EH
DLY. . . . . . . . . . . . . . . C ADDR 0050H
EA . . . . . . . . . . . . . . . B ADDR 00AFH PREDEFINED
EADRH. . . . . . . . . . . . . . D ADDR 00C7H PREDEFINED
EADRL. . . . . . . . . . . . . . D ADDR 00C6H PREDEFINED
ECON . . . . . . . . . . . . . . D ADDR 00B9H PREDEFINED
EDATA1 . . . . . . . . . . . . . D ADDR 00BCH PREDEFINED
ERROR. . . . . . . . . . . . . . C ADDR 002BH
EX0. . . . . . . . . . . . . . . B ADDR 00A8H PREDEFINED
IT0. . . . . . . . . . . . . . . B ADDR 0088H PREDEFINED
MAIN . . . . . . . . . . . . . . C ADDR 002CH
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
RI . . . . . . . . . . . . . . . B ADDR 0098H PREDEFINED
SBUF . . . . . . . . . . . . . . D ADDR 0099H PREDEFINED
SCON . . . . . . . . . . . . . . D ADDR 0098H PREDEFINED
T3CON. . . . . . . . . . . . . . D ADDR 009EH PREDEFINED
T3FD . . . . . . . . . . . . . . D ADDR 009DH PREDEFINED
WDCON. . . . . . . . . . . . . . D ADDR 00C0H PREDEFINED
WDWR . . . . . . . . . . . . . . B ADDR 00C0H PREDEFINED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -