⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install.lst

📁 单片机C语言参考程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
                                             MOV     SCON1,#01011010B ; Init Serial Interface
                                             JMP     Mon51
                             $endif 
                     405     
                     406     $if  (SERIAL = 6)
                             ;********************************************************************
                             ;*  Using external UART 16450/16550                                 *
                             ;*  UART Oscillator frequency = 12.000 MHz                          *
                             ;*  Set Baudrate to 9600 Baud                                       *
                             ;********************************************************************
                             SIOCLK    EQU   3686400                 ; EXTERNAL SIO XTAL FREQUENZY
                             BAUDRATE  EQU   9600                    ;9600 bps
                             BAUDDIV   EQU   (SIOCLK / 16) / BAUDRATE
                             SIOADDR   EQU   0FC00H                  ; SIO Address
                             
                             InitSerial:     PROMCHECK               ; Check if PROM in System
                                             MOV     DPTR,#SIOADDR+3
                                             MOV     A,#83H          ; Select Baudrate Registers
                                             MOVX    @DPTR,A
                                             MOV     DPTR,#SIOADDR
                                             MOV     A,#LOW (BAUDDIV)
                                             MOVX    @DPTR,A
                                             INC     DPTR
                                             MOV     A,#HIGH (BAUDDIV)
                                             MOVX    @DPTR,A
                                             MOV     DPTR,#SIOADDR+3
                                             MOV     A,#03H          ; Mode: 8-bit, 1 stop, no parity
                                             MOVX    @DPTR,A
                                             MOV     DPTR,#SIOADDR+1
                                             CLR     A
                                             MOVX    @DPTR,A         ; disable all interrupts
                                             MOV     DPTR,#SIOADDR+4
                                             MOVX    @DPTR,A
                                             JMP     Mon51
                             
                             
                             $elseif  (SERIAL = 7)
                             ;********************************************************************
                             ;*  Using Timer 1 to generate Baud Rates                            *
                             ;*  for 8052 and compatibles except Dallas 80C320/520/530           *
                             ;*  Oscillator frequency = don't care                               *
                             ;*  Automatic Baudrate Adjustment                                   *
                             ;********************************************************************
                             
                             InitSerial:     PROMCHECK               ; Check if PROM in System
                                             CLR     TR1
                                             CLR     TF1
                                             CLR     A
                                             MOV     TL1,A
                                             MOV     TH1,A
                                             MOV     TMOD,#010H
                             L4:             JB      RXD,L4
                             L6:             JNB     RXD,L6
A51 MACRO ASSEMBLER  Configuration for MONITOR-51   (C) 1987-1995 KEIL                    03/11/2004 21:40:55 PAGE     8

                             L7:             SETB    TR1
                             L8:             JNB     RXD,L10
                                             JNB     TF1,L8
                             L10:            JNB     RXD,L10
                             L12:            JNB     RXD,L14
                                             JNB     TF1,L12
                             L14:            JNB     RXD,L14
                             L15:            CLR     TR1
                                             JB      TF1,InitSerial
                                             MOV     R7,TL1
                                             MOV     R6,TH1
                             
                                             MOV     A,R7
                                             ADD     A,#040H
                                             MOV     R7,A
                                             CLR     A
                                             ADDC    A,R6
                                             MOV     R6,A
                             
                                             MOV     A,R7
                                             RLC     A
                                             MOV     A,R6
                                             RLC     A
                                             MOV     R7,A
                                             CLR     C
                                             CLR     A
                                             SUBB    A,R7
                                             MOV     TH1,A
                                             CLR     A
                                             MOV     TL1,A
                                             MOV     TMOD,#00100000B ;C/T = 0, Mode = 2
                                             SETB    TR1
                                             ORL     PCON,#080H
                                             MOV     SCON,#05AH
                             
                             L16:            CLR     RI
                                             JNB     RI,$
                                             MOV     A,SBUF
                                             CJNE    A,#011H,L16
                                             JMP     Mon51
                             
                             
                             $elseif  (SERIAL = 8)
                     498     ;********************************************************************
                     499     ;*  Using Timer 2 to generate Baud Rates (8052 and compatibles)     *
                     500     ;*  Oscillator frequency = don't care                               *
                     501     ;*  Automatic Baudrate Adjustment                                   *
                     502     ;********************************************************************
  00C8               503     T2CON   DATA    0C8H
  00C9               504     T2MOD   DATA    0C9H
  00CA               505     RC2L    DATA    0CAH
  00CB               506     RC2H    DATA    0CBH
  00CC               507     TL2     DATA    0CCH
  00CD               508     TH2     DATA    0CDH
  00CA               509     TR2     BIT     0C8H.2
  00CF               510     TF2     BIT     0C8H.7
                     511       
0000                 512     InitSerial:     PROMCHECK               ; Check if PROM in System
0000 E4              528                     CLR     A
0001 F5CB            529                     MOV     RC2H,A
0003 F5CA            530                     MOV     RC2L,A
0005 F5CC            531                     MOV     TL2,A
0007 F5CD            532                     MOV     TH2,A
0009 F5C9            533                     MOV     T2MOD,A
000B F5C8            534                     MOV     T2CON,A
000D 20B0FD          535     L4:             JB      RXD,L4
A51 MACRO ASSEMBLER  Configuration for MONITOR-51   (C) 1987-1995 KEIL                    03/11/2004 21:40:55 PAGE     9

0010 30B0FD          536     L6:             JNB     RXD,L6
0013 D2CA            537     L7:             SETB    TR2
0015 30B003          538     L8:             JNB     RXD,L10
0018 30CFFA          539                     JNB     TF2,L8
001B 30B0FD          540     L10:            JNB     RXD,L10
001E 30B003          541     L12:            JNB     RXD,L14
0021 30CFFA          542                     JNB     TF2,L12
0024 30B0FD          543     L14:            JNB     RXD,L14
0027 C2CA            544     L15:            CLR     TR2
0029 20CFD4          545                     JB      TF2,InitSerial
002C AFCC            546                     MOV     R7,TL2
002E AECD            547                     MOV     R6,TH2
                     548     
0030 EE              549                     MOV     A,R6
0031 C3              550                     CLR     C
0032 13              551                     RRC     A
0033 FC              552                     MOV     R4,A
0034 EF              553                     MOV     A,R7
0035 13              554                     RRC     A
0036 2F              555                     ADD     A,R7
0037 FF              556                     MOV     R7,A
0038 EC              557                     MOV     A,R4
0039 3E              558                     ADDC    A,R6
003A FE              559                     MOV     R6,A
                     560     
003B EF              561                     MOV     A,R7
003C 2410            562                     ADD     A,#010H
003E FF              563                     MOV     R7,A
003F E4              564                     CLR     A
0040 3E              565                     ADDC    A,R6
0041 FE              566                     MOV     R6,A
                     567     
0042 EF              568                     MOV     A,R7
0043 7805            569                     MOV     R0,#05H
0045 CE              570     L22:            XCH     A,R6
0046 C3              571                     CLR     C
0047 13              572                     RRC     A
0048 CE              573                     XCH     A,R6
0049 13              574                     RRC     A
004A D8F9            575                     DJNZ    R0,L22
004C FF              576                     MOV     R7,A
004D C3              577                     CLR     C
004E E4              578                     CLR     A
004F 9F              579                     SUBB    A,R7
0050 F5CA            580                     MOV     RC2L,A
0052 F5CC            581                     MOV     TL2,A
0054 E4              582                     CLR     A
0055 9E              583                     SUBB    A,R6
0056 F5CB            584                     MOV     RC2H,A
0058 F5CD            585                     MOV     TH2,A
                     586     
005A 75C834          587                     MOV     T2CON,#034H
005D 75985A          588                     MOV     SCON,#05AH
0060 C298            589     L16:            CLR     RI
0062 3098FD          590                     JNB     RI,$
0065 E599            591                     MOV     A,SBUF
0067 B411F6          592                     CJNE    A,#011H,L16
006A 020000   F      593                     JMP     Mon51
                     594     
                     595       
                     596     $elseif  (SERIAL = 9)
                             ;********************************************************************
                             ;*  Using internal Baudrate Generator to generate Baud Rates        *
                             ;*  Oscillator frequency = don't care                               *
                             ;*  Automatic Baudrate Adjustment                                   *
                             ;********************************************************************
A51 MACRO ASSEMBLER  Configuration for MONITOR-51   (C) 1987-1995 KEIL                    03/11/2004 21:40:55 PAGE    10

                             SRELL   DATA    0AAH
                             SRELH   DATA    0BAH
                             ADCON   DATA    0D8H
                             
                             BD      BIT     0D8H.7
                             
                             InitSerial:     PROMCHECK               ; Check if PROM in System
                                             CLR     TR1
                                             CLR     TF1
                                             CLR     A
                                             MOV     TL1,A
                                             MOV     TH1,A
                                             MOV     TMOD,#010H
                             L4:             JB      RXD,L4
                             L6:             JNB     RXD,L6
                             L7:             SETB    TR1
                             L8:             JNB     RXD,L10
                                             JNB     TF1,L8
                             L10:            JNB     RXD,L10
                             L12:            JNB     RXD,L14

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -