?? w77e58demo.lst
字號:
A51 MACRO ASSEMBLER W77E58DEMO 04/26/2008 11:24:56 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN W77E58demo.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE W77E58demo.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;****************************************************
2 ;W77E58雙串口演示程序
3 ;CHENWEN 2006-6-12
4 ;****************************************************
0098 5 SCON0 EQU 98H
00C0 6 SCON1 EQU 0C0H
00CB 7 RCAP2H EQU 0CBH
00CA 8 RCAP2L EQU 0CAH
0099 9 SBUF0 EQU 99H
00C1 10 SBUF1 EQU 0C1H
00CC 11 TL2 EQU 0CCH
00CD 12 TH2 EQU 0CDH
00C8 13 T2CON EQU 0C8H
14 ;T2MOD EQU 0C9H
00CD 15 RCLK BIT T2CON.5
00CC 16 TCLK BIT T2CON.4
00CA 17 TR2 BIT T2CON.2
00C4 18 REN_1 BIT SCON1.4
00C1 19 TI_1 BIT SCON1.1
00C0 20 RI_1 BIT SCON1.0
21 ;ES BIT IE.4
00AE 22 ES1 BIT IE.6
00C4 23 PMR EQU 0C4H
24
0100 25 UART0_DATA EQU 0100H ;測試 1K SRAM
0200 26 UART1_DATA EQU 0200H
27
0000 28 ORG 0000H
0000 020100 29 LJMP START
0023 30 ORG 0023H
0023 2145 31 AJMP UART0
003B 32 ORG 003BH
003B 215C 33 AJMP UART1
0100 34 ORG 100H
0100 35 START:
0100 75815F 36 MOV SP,#5FH ;初始化堆棧
0103 43C401 37 ORL PMR, #00000001B ; DME0位設置為”1”,允許使用1K S
RAM
38 ;串口0
0106 759840 39 MOV SCON0,#01000000B ;串口0工作于方式1
0109 75CBFF 40 MOV RCAP2H,#0FFH
010C 75CAB8 41 MOV RCAP2L,#0B8H ;9600波特, 22.1184M;
010F 75CDFF 42 MOV TH2,#0FFH
0112 75CCB8 43 MOV TL2,#0B8H ;9600波特, 22.1184M;
0115 758700 44 MOV PCON,#00H
0118 D2CD 45 SETB RCLK ;把定時器T2設置為波特率產生器
011A D2CC 46 SETB TCLK
011C D2CA 47 SETB TR2
011E D29C 48 SETB REN
0120 D2AC 49 SETB ES
50
51 ;注意事項:串口0可以用定時器1或定時器2作波特率發生器,串口1只能用T1作波特率發生器。
52 ;當2個串口波特率相同時,可以使用一個定時器T1作波特率發生器。
53
54 ;串口1
0122 758920 55 MOV TMOD,#00100000B ;定時器T1設置為方式2作波特率發生器
0125 758DE8 56 MOV TH1,#0E8H ;1200波特定時初值:11.0592M
0128 758BE8 57 MOV TL1,#0E8H
A51 MACRO ASSEMBLER W77E58DEMO 04/26/2008 11:24:56 PAGE 2
012B D28E 58 SETB TR1 ;定時器T1開始運行。
012D 75C040 59 MOV SCON1,#01000000B ;串口1工作于方式1
0130 D2AE 60 SETB ES1
0132 D2C4 61 SETB REN_1
0134 D2AF 62 SETB EA
0136 63 MAIN:
0136 C2AE 64 CLR ES1
0138 7455 65 MOV A,#55H
013A F5C1 66 MOV SBUF1,A ;從串口發送回PC
013C 30C1FD 67 JNB TI_1,$
013F C2C1 68 CLR TI_1
0141 D2AE 69 SETB ES1
70
0143 2136 71 AJMP MAIN ;等創
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -