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

📄 f34x_msd_uart.lst

📁 USB读写SD卡例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
  12      =1  #ifndef EOF
  13      =1   #define EOF -1
  14      =1  #endif
  15      =1  
  16      =1  #ifndef NULL
  17      =1   #define NULL ((void *) 0)
  18      =1  #endif
  19      =1  
  20      =1  #ifndef _SIZE_T
  21      =1   #define _SIZE_T
  22      =1   typedef unsigned int size_t;
  23      =1  #endif
  24      =1  
  25      =1  #pragma SAVE
  26      =1  #pragma REGPARMS
  27      =1  extern char _getkey (void);
  28      =1  extern char getchar (void);
  29      =1  extern char ungetchar (char);
  30      =1  extern char putchar (char);
  31      =1  extern int printf   (const char *, ...);
  32      =1  extern int sprintf  (char *, const char *, ...);
  33      =1  extern int vprintf  (const char *, char *);
  34      =1  extern int vsprintf (char *, const char *, char *);
  35      =1  extern char *gets (char *, int n);
  36      =1  extern int scanf (const char *, ...);
  37      =1  extern int sscanf (char *, const char *, ...);
  38      =1  extern int puts (const char *);
  39      =1  
  40      =1  #pragma RESTORE
  41      =1  
  42      =1  #endif
  43      =1  
  40          
  41          #ifdef __F340_VER__
  42          #ifdef F340_24M
              #define START_SYSCLK 24000000
              #else
  45          #define START_SYSCLK 48000000
  46          #endif
  47          //#define START_SYSCLK 12000000
  48          #else
              #ifdef __F326_VER__
              #define START_SYSCLK 24000000
              #else
              #define START_SYSCLK 12000000
              #endif
              #endif
  55          #define SYSCLK       START_SYSCLK /** 2*/  // SYSCLK frequency in 
             -Hz
  56          
  57          #define BAUDRATE     115200            // Baud rate of UART in bps
  58          
  59          #define USBCLK           48000000
  60          
  61          
  62          //----------------------------------------------------------------
C51 COMPILER V7.50   F34X_MSD_UART                 11/28/2006 10:54:31 PAGE 18  

             -------------
  63          // UART0_Init
  64          //----------------------------------------------------------------
             -------------
  65          //
  66          // This function initializes UART 0 interface.
  67          //
  68          // Parameters   :
  69          // Return Value :
  70          //----------------------------------------------------------------
             -------------
  71          
  72          void UART0_Init(void) {
  73   1         int xdata sbrl ;
  74   1         sbrl =  (0xFFFF - (SYSCLK/BAUDRATE/2)) + 1;
  75   1         SCON0 = 0x10;                       // SCON0: 8-bit variable bi
             -t rate
  76   1                                             //        level of STOP bit
             - is ignored
  77   1                                             //        RX enabled
  78   1                                             //        ninth bits are ze
             -ros
  79   1                                             //        clear RI0 and TI0
             - bits
  80   1      
  81   1      #ifdef __F326_VER__
                 SMOD0 = 0x0c;
                 
                 SBRLH0 = (sbrl & 0xFF00) >> 8;
                 SBRLL0 = sbrl & 0x00ff; 
              
                 SBCON0 = 0x43; 
              
                // ES0 = 1;
                // PS0 = 1;
                 TI0 = 1;
              #else
  93   1         if (SYSCLK/BAUDRATE/2/256 < 1) 
  94   1         {
  95   2            TH1 = -(SYSCLK/BAUDRATE/2);
  96   2            CKCON |=  0x08;                  // T1M = 1; SCA1:0 = xx
  97   2         } 
  98   1         else if (SYSCLK/BAUDRATE/2/256 < 4) 
  99   1         {
 100   2            TH1 = -(SYSCLK/BAUDRATE/2/4);
 101   2            CKCON &= ~0x0B;                  
 102   2            CKCON |=  0x01;                  // T1M = 0; SCA1:0 = 01
 103   2         } 
 104   1         else if (SYSCLK/BAUDRATE/2/256 < 12) 
 105   1         {
 106   2            TH1 = -(SYSCLK/BAUDRATE/2/12);
 107   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 00
 108   2         } 
 109   1         else 
 110   1         {
 111   2            TH1 = -(SYSCLK/BAUDRATE/2/48);
 112   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 10
 113   2            CKCON |=  0x02;
 114   2         }
 115   1      
 116   1         TL1 = TH1;                          // init Timer1
 117   1         TMOD &= ~0xf0;                      // TMOD: timer 1 in 8-bit a
C51 COMPILER V7.50   F34X_MSD_UART                 11/28/2006 10:54:31 PAGE 19  

             -utoreload
 118   1         TMOD |=  0x20;
 119   1         TR1 = 1;                            // START Timer1
 120   1         TI0 = 1;                            // Indicate TX0 ready
 121   1      #endif
 122   1              printf("UART INIT"ENDLINE);
 123   1      }
 124          
 125          //----------------------------------------------------------------
             -------------
 126          // key_available
 127          //----------------------------------------------------------------
             -------------
 128          //
 129          // Function returns state of UART receive interrupt flag "RI0"
 130          //
 131          // Parameters   :
 132          // Return Value : TRUE if RI0 flag is set and FALSE if not.
 133          //----------------------------------------------------------------
             -------------
 134          
 135          unsigned char key_available() {
 136   1              return RI0?1:0;
 137   1      }
C51 COMPILER V7.50   F34X_MSD_UART                 11/28/2006 10:54:31 PAGE 20  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION UART0_Init (BEGIN)
                                           ; SOURCE LINE # 72
                                           ; SOURCE LINE # 74
0000 900000      R     MOV     DPTR,#sbrl
0003 74FF              MOV     A,#0FFH
0005 F0                MOVX    @DPTR,A
0006 A3                INC     DPTR
0007 7430              MOV     A,#030H
0009 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 75
000A 759810            MOV     SCON0,#010H
                                           ; SOURCE LINE # 93
                                           ; SOURCE LINE # 94
                                           ; SOURCE LINE # 95
000D F58D              MOV     TH1,A
                                           ; SOURCE LINE # 96
000F 438E08            ORL     CKCON,#08H
                                           ; SOURCE LINE # 97
                                           ; SOURCE LINE # 98
                                           ; SOURCE LINE # 99
                                           ; SOURCE LINE # 100
                                           ; SOURCE LINE # 101
                                           ; SOURCE LINE # 102
                                           ; SOURCE LINE # 103
                                           ; SOURCE LINE # 104
                                           ; SOURCE LINE # 105
                                           ; SOURCE LINE # 106
                                           ; SOURCE LINE # 107
                                           ; SOURCE LINE # 108
                                           ; SOURCE LINE # 110
                                           ; SOURCE LINE # 111
                                           ; SOURCE LINE # 112
                                           ; SOURCE LINE # 113
                                           ; SOURCE LINE # 114
0012         ?C0002:
                                           ; SOURCE LINE # 116
0012 858D8B            MOV     TL1,TH1
                                           ; SOURCE LINE # 117
0015 53890F            ANL     TMOD,#0FH
                                           ; SOURCE LINE # 118
0018 438920            ORL     TMOD,#020H
                                           ; SOURCE LINE # 119
001B D28E              SETB    TR1
                                           ; SOURCE LINE # 120
001D D299              SETB    TI0
                                           ; SOURCE LINE # 122
001F 7BFF              MOV     R3,#0FFH
0021 7A00        R     MOV     R2,#HIGH ?SC_0
0023 7900        R     MOV     R1,#LOW ?SC_0
0025 020000      E     LJMP    _printf
             ; FUNCTION UART0_Init (END)

             ; FUNCTION key_available (BEGIN)
                                           ; SOURCE LINE # 135
                                           ; SOURCE LINE # 136
0000 309804            JNB     RI0,?C0008
0003 7F01              MOV     R7,#01H
0005 8002              SJMP    ?C0009
0007         ?C0008:
C51 COMPILER V7.50   F34X_MSD_UART                 11/28/2006 10:54:31 PAGE 21  

0007 7F00              MOV     R7,#00H
0009         ?C0009:
                                           ; SOURCE LINE # 137
0009         ?C0010:
0009 22                RET     
             ; FUNCTION key_available (END)

C51 COMPILER V7.50   F34X_MSD_UART                 11/28/2006 10:54:31 PAGE 22  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
RI0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
TI0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
key_available. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
UART0_Init . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  sbrl . . . . . . . . . . . . . . . .  AUTO     XDATA  INT      0000H  2
SCON0. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
CKCON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008EH  1
_printf. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     50    ----
   CONSTANT SIZE    =     12    ----
   XDATA SIZE       =   ----       2
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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