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

📄 f34x_msd_put_char.lst

📁 USB读写SD卡例程
💻 LST
📖 第 1 页 / 共 4 页
字号:
           =1 sfr  PCA0CPH0     =  0xFC;             // PCA0 Capture 0 High
           =1 sfr  PCA0CPL4     =  0xFD;             // PCA0 Capture 4 Low
           =1 sfr  PCA0CPH4     =  0xFE;             // PCA0 Capture 4 High
           =1 sfr  VDM0CN       =  0xFF;             // VDD Monitor Control
           =1 
           =1 
           =1 //----------------------------------------------------------------
             --------------
           =1 // Bit Definitions
           =1 //----------------------------------------------------------------
             --------------
           =1 
           =1 // TCON 0x88
           =1 sbit TF1     = 0x8F;                   // Timer1 overflow flag
           =1 sbit TR1     = 0x8E;                   // Timer1 on/off control
           =1 sbit TF0     = 0x8D;                   // Timer0 overflow flag
           =1 sbit TR0     = 0x8C;                   // Timer0 on/off control
           =1 sbit IE1     = 0x8B;                   // Ext interrupt 1 edge fla
             -g
           =1 sbit IT1     = 0x8A;                   // Ext interrupt 1 type
           =1 sbit IE0     = 0x89;                   // Ext interrupt 0 edge fla
             -g
           =1 sbit IT0     = 0x88;                   // Ext interrupt 0 type
           =1 
           =1 // SCON0 0x98
           =1 sbit S0MODE  = 0x9F;                   // Serial mode control bit 
             -0
           =1                                        // Bit6 UNUSED
           =1 sbit MCE0    = 0x9D;                   // Multiprocessor communica
             -tion enable
           =1 sbit REN0    = 0x9C;                   // Receive enable
           =1 sbit TB80    = 0x9B;                   // Transmit bit 8
           =1 sbit RB80    = 0x9A;                   // Receive bit 8
           =1 sbit TI0     = 0x99;                   // Transmit interrupt flag
           =1 sbit RI0     = 0x98;                   // Receive interrupt flag
           =1 
           =1 // IE 0xA8
           =1 sbit EA      = 0xAF;                   // Global interrupt enable
           =1 sbit ESPI0   = 0xAE;                   // SPI0 interrupt enable
           =1 sbit ET2     = 0xAD;                   // Timer2 interrupt enable
           =1 sbit ES0     = 0xAC;                   // UART0 interrupt enable
           =1 sbit ET1     = 0xAB;                   // Timer1 interrupt enable
           =1 sbit EX1     = 0xAA;                   // External interrupt 1 ena
             -ble
           =1 sbit ET0     = 0xA9;                   // Timer0 interrupt enable
           =1 sbit EX0     = 0xA8;                   // External interrupt 0 ena
             -ble
           =1 
           =1 // IP 0xB8
           =1                                        // Bit7 UNUSED
           =1 sbit PSPI0   = 0xBE;                   // SPI0 interrupt priority
           =1 sbit PT2     = 0xBD;                   // Timer2 priority
C51 COMPILER V7.50   F34X_MSD_PUT_CHAR             11/28/2006 10:54:22 PAGE 14  

           =1 sbit PS0     = 0xBC;                   // UART0 priority
           =1 sbit PT1     = 0xBB;                   // Timer1 priority
           =1 sbit PX1     = 0xBA;                   // External interrupt 1 pri
             -ority
           =1 sbit PT0     = 0xB9;                   // Timer0 priority
           =1 sbit PX0     = 0xB8;                   // External interrupt 0 pri
             -ority
           =1 
           =1 // SMB0CN 0xC0
           =1 sbit MASTER  = 0xC7;                   // Master/slave indicator
           =1 sbit TXMODE  = 0xC6;                   // Transmit mode indicator
           =1 sbit STA     = 0xC5;                   // Start flag
           =1 sbit STO     = 0xC4;                   // Stop flag
           =1 sbit ACKRQ   = 0xC3;                   // Acknowledge request
           =1 sbit ARBLOST = 0xC2;                   // Arbitration lost indicat
             -or
           =1 sbit ACK     = 0xC1;                   // Acknowledge flag
           =1 sbit SI      = 0xC0;                   // SMBus interrupt flag
           =1 
           =1 // TMR2CN 0xC8
           =1 sbit TF2H    = 0xCF;                   // Timer2 high byte overflo
             -w flag
           =1 sbit TF2L    = 0xCE;                   // Timer2 low byte overflow
             - flag
           =1 sbit TF2LEN  = 0xCD;                   // Timer2 low byte interrup
             -t enable
           =1 sbit T2CE    = 0xCC;                   // Timer2 capture enable
           =1 sbit T2SPLIT = 0xCB;                   // Timer2 split mode enable
           =1 sbit TR2     = 0xCA;                   // Timer2 on/off control
           =1 sbit T2CSS   = 0xC9;                   // Timer 2 Capture Source s
             -elect
           =1 sbit T2XCLK  = 0xC8;                   // Timer2 external clock se
             -lect
           =1 
           =1 // PSW 0xD0
           =1 sbit CY      = 0xD7;                   // Carry flag
           =1 sbit AC      = 0xD6;                   // Auxiliary carry flag
           =1 sbit F0      = 0xD5;                   // User flag 0
           =1 sbit RS1     = 0xD4;                   // Register bank select 1
           =1 sbit RS0     = 0xD3;                   // Register bank select 0
           =1 sbit OV      = 0xD2;                   // Overflow flag
           =1 sbit F1      = 0xD1;                   // User flag 1
           =1 sbit P       = 0xD0;                   // Accumulator parity flag
           =1 
           =1 // PCA0CN 0xD8
           =1 sbit CF      = 0xDF;                   // PCA0 counter overflow fl
             -ag
           =1 sbit CR      = 0xDE;                   // PCA0 counter run control
           =1                                        // Bit5 UNUSED
           =1 sbit CCF4    = 0xDC;                   // PCA0 module4 capture/com
             -pare flag
           =1 sbit CCF3    = 0xDB;                   // PCA0 module3 capture/com
             -pare flag
           =1 sbit CCF2    = 0xDA;                   // PCA0 module2 capture/com
             -pare flag
           =1 sbit CCF1    = 0xD9;                   // PCA0 module1 capture/com
             -pare flag
           =1 sbit CCF0    = 0xD8;                   // PCA0 module0 capture/com
             -pare flag
           =1 
           =1 // ADC0CN 0xE8
           =1 sbit AD0EN   = 0xEF;                   // ADC0 enable
C51 COMPILER V7.50   F34X_MSD_PUT_CHAR             11/28/2006 10:54:22 PAGE 15  

           =1 sbit AD0TM   = 0xEE;                   // ADC0 track mode
           =1 sbit AD0INT  = 0xED;                   // ADC0 conversion complete
             - interrupt flag
           =1 sbit AD0BUSY = 0xEC;                   // ADC0 busy flag
           =1 sbit AD0WINT = 0xEB;                   // ADC0 window compare inte
             -rrupt flag
           =1 sbit AD0CM2  = 0xEA;                   // ADC0 conversion mode sel
             -ect 2
           =1 sbit AD0CM1  = 0xE9;                   // ADC0 conversion mode sel
             -ect 1
           =1 sbit AD0CM0  = 0xE8;                   // ADC0 conversion mode sel
             -ect 0
           =1 
           =1 // SPI0CN 0xF8
           =1 sbit SPIF    = 0xFF;                   // SPI0 interrupt flag
           =1 sbit WCOL    = 0xFE;                   // SPI0 write collision fla
             -g
           =1 sbit MODF    = 0xFD;                   // SPI0 mode fault flag
           =1 sbit RXOVRN  = 0xFC;                   // SPI0 rx overrun flag
           =1 sbit NSSMD1  = 0xFB;                   // SPI0 slave select mode 1
           =1 sbit NSSMD0  = 0xFA;                   // SPI0 slave select mode 0
           =1 sbit TXBMT   = 0xF9;                   // SPI0 transmit buffer emp
             -ty
           =1 sbit SPIEN   = 0xF8;                   // SPI0 SPI enable
           =1 
           =1 
           =1 //----------------------------------------------------------------
             --------------
           =1 // Interrupt Priorities
           =1 //----------------------------------------------------------------
             --------------
           =1 
           =1 #define INTERRUPT_INT0             0   // External Interrupt 0
           =1 #define INTERRUPT_TIMER0           1   // Timer0 Overflow
           =1 #define INTERRUPT_INT1             2   // External Interrupt 1
           =1 #define INTERRUPT_TIMER1           3   // Timer1 Overflow
           =1 #define INTERRUPT_UART0            4   // Serial Port 0
           =1 #define INTERRUPT_TIMER2           5   // Timer2 Overflow
           =1 #define INTERRUPT_SPI0             6   // Serial Peripheral Interf
             -ace 0
           =1 #define INTERRUPT_SMBUS0           7   // SMBus0 Interface
           =1 #define INTERRUPT_USB0             8   // USB Interface
           =1 #define INTERRUPT_ADC0_WINDOW      9   // ADC0 Window Comparison
           =1 #define INTERRUPT_ADC0_EOC         10  // ADC0 End Of Conversion
           =1 #define INTERRUPT_PCA0             11  // PCA0 Peripheral
           =1 #define INTERRUPT_COMPARATOR0      12  // Comparator0
           =1 #define INTERRUPT_COMPARATOR1      13  // Comparator1
           =1 #define INTERRUPT_TIMER3           14  // Timer3 Overflow
           =1 #define INTERRUPT_VBUS_LEVEL       15  // VBUS level-triggered int
             -errupt
           =1 #define INTERRUPT_UART1            16  // Serial Port 1
           =1 
           =1 //----------------------------------------------------------------
             --------------
           =1 // Header File PreProcessor Directive
           =1 //----------------------------------------------------------------
             --------------
           =1 
           =1 #endif                                 // #define C8051F340_H
 289      =1  
 290      =1  //----------------------------------------------------------------
             --------------
C51 COMPILER V7.50   F34X_MSD_PUT_CHAR             11/28/2006 10:54:22 PAGE 16  

 291      =1  // End Of File
 292      =1  //----------------------------------------------------------------
             --------------
  38          //#include <stdio.h>
  39          //#include <string.h>
  40          
  41          
  42          //----------------------------------------------------------------
             -------------
  43          // putchar
  44          //----------------------------------------------------------------
             -------------
  45          //
  46          // Function waits for empty output buffer and sends one byte
  47          //
  48          // Parameters   : c - byte to send
  49          // Return Value : TRUE when byte writing's finished
  50          //----------------------------------------------------------------
             -------------
  51          
  52          char putchar (char c)
  53          {
  54   1         while (!TI0);
  55   1         TI0 = 0;
  56   1         return (SBUF0 = c);
  57   1      }
  58          
C51 COMPILER V7.50   F34X_MSD_PUT_CHAR             11/28/2006 10:54:22 PAGE 17  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _putchar (BEGIN)
                                           ; SOURCE LINE # 52
;---- Variable 'c' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 53
0000         ?C0001:
                                           ; SOURCE LINE # 54
0000 3099FD            JNB     TI0,?C0001
0003         ?C0002:
                                           ; SOURCE LINE # 55
0003 C299              CLR     TI0
                                           ; SOURCE LINE # 56
0005 8F99              MOV     SBUF0,R7
                                           ; SOURCE LINE # 57
0007         ?C0003:
0007 22                RET     
             ; FUNCTION _putchar (END)

C51 COMPILER V7.50   F34X_MSD_PUT_CHAR             11/28/2006 10:54:22 PAGE 18  

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


P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
TI0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
_putchar . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  c. . . . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
SBUF0. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =      8    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   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 + -