📄 blk2_832.lst
字号:
BLK2_832 PAGE 1
1 ;======================================================================
2 ;
3 ; Author : ADI - Apps
4 ;
5 ; Date : April 2002
6 ;
7 ; Filename : blk2_832.asm
8 ;
9 ; Hardware : ADuC832
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 $MOD832
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
0026 D2C0 49 SETB WDWR
0028 75C082 50 MOV WDCON, #82h
51
002B 52 ERROR:
002B 32 53 RETI
54
55
56 ;____________________________________________________________________
57 ; MAIN
002C 58 MAIN:
BLK2_832 PAGE 2
59 ; enable INT0
002C D288 60 SETB IT0 ; INT0 edge triggered
002E D2AF 61 SETB EA ; enable inturrupts
0030 D2A8 62 SETB EX0 ; enable INT0
63
64 ; configure at fastest freq
0032 75D700 65 MOV PLLCON, #0
66
67 ; configure UART for 115200
0035 759E82 68 MOV T3CON, #82h
0038 759D09 69 MOV T3FD, #09h
003B 759852 70 MOV SCON, #52H
71
003E 72 BLINK:
003E B2B4 73 CPL P3.4
0040 120051 74 CALL DELAY
0043 120051 75 CALL DELAY
0046 120051 76 CALL DELAY
0049 120051 77 CALL DELAY
004C 120051 78 CALL DELAY
004F 013E 79 AJMP BLINK
80
81
82 ;____________________________________________________________________
83 ; DELAY
0051 84 DELAY:
85 ; 92ms DELAY
0051 78FF 86 MOV R0,#255
0053 87 DLY:
0053 79FF 88 MOV R1,#255 ; 255 x 255 x 1.43us
0055 D9FE 89 DJNZ R1,$
0057 D8FA 90 DJNZ R0,DLY
91
0059 22 92 RET
93 ;____________________________________________________________________
94
95
96 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
BLK2_832 PAGE 3
BLINK. . . . . . . . . . . . . . C ADDR 003EH
DELAY. . . . . . . . . . . . . . C ADDR 0051H
DLY. . . . . . . . . . . . . . . C ADDR 0053H
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
PLLCON . . . . . . . . . . . . . D ADDR 00D7H 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 + -