📄 blk1_831.lst
字号:
BLK1_831 PAGE 1
1 ;======================================================================
2 ;
3 ; Author : ADI - Apps
4 ;
5 ; Date : April 20001
6 ;
7 ; Filename : blk1_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
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:
BLK1_831 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 UART for 115200
0032 759E81 65 MOV T3CON, #81h
0035 759D20 66 MOV T3FD, #20h
0038 759852 67 MOV SCON, #52H
68
003B 69 BLINK:
003B B2B4 70 CPL P3.4
003D 120042 71 CALL DELAY
0040 013B 72 AJMP BLINK
73
74
75 ;____________________________________________________________________
76 ; DELAY
0042 77 DELAY:
78 ; 70ms DELAY
0042 78FF 79 MOV R0,#255
0044 80 DLY:
0044 79FF 81 MOV R1,#255 ; 255 x 255 x 1.08us
0046 D9FE 82 DJNZ R1,$
0048 D8FA 83 DJNZ R0,DLY
84
004A 22 85 RET
86 ;____________________________________________________________________
87
88
89 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
BLK1_831 PAGE 3
BLINK. . . . . . . . . . . . . . C ADDR 003BH
DELAY. . . . . . . . . . . . . . C ADDR 0042H
DLY. . . . . . . . . . . . . . . C ADDR 0044H
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 + -