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

📄 f02x_uart1_interrupt.lst

📁 基于单片机c8051F020的串行口通信的源程序代码。
💻 LST
📖 第 1 页 / 共 2 页
字号:
*** ERROR C202 IN LINE 149 OF F02X_UART1_INTERRUPT.C: 'XBR1': undefined identifier
 150   1         XBR2     = 0x44;                    // Enable crossbar and weak pull-up
*** ERROR C202 IN LINE 150 OF F02X_UART1_INTERRUPT.C: 'XBR2': undefined identifier
 151   1                                             // Enable UART1
 152   1      
 153   1         P0MDOUT |= 0x01;                    // Set TX pin to push-pull
*** ERROR C202 IN LINE 153 OF F02X_UART1_INTERRUPT.C: 'P0MDOUT': undefined identifier
 154   1      }
 155          
 156          //-----------------------------------------------------------------------------
 157          // UART1_Init
 158          //-----------------------------------------------------------------------------
 159          //
 160          // Return Value : None
 161          // Parameters   : None
 162          //
 163          // Configure the UART1 using Timer1, for <baudrate> and 8-N-1.
 164          // This routine configures the UART1 based on the following equation:
 165          //
C51 COMPILER V7.06   F02X_UART1_INTERRUPT                                                  04/18/2009 11:16:42 PAGE 4   

 166          // Baud = (2^SMOD1/32)*(SYSTEMCLOCK*12^(T1M-1))/(256-TH1)
 167          //
 168          // This equation can be found in the datasheet, Mode1 baud rate using timer1.
 169          // The function select the proper values of the SMOD1 and T1M bits to allow
 170          // for the proper baud rate to be reached.
 171          //-----------------------------------------------------------------------------
 172          void UART1_Init (void)
 173          {
 174   1         SCON1   = 0x50;                     // SCON1: mode 1, 8-bit UART, enable RX
*** ERROR C202 IN LINE 174 OF F02X_UART1_INTERRUPT.C: 'SCON1': undefined identifier
 175   1      
 176   1         TMOD   &= ~0xF0;
*** ERROR C202 IN LINE 176 OF F02X_UART1_INTERRUPT.C: 'TMOD': undefined identifier
 177   1         TMOD   |=  0x20;                    // TMOD: timer 1, mode 2, 8-bit reload
*** ERROR C202 IN LINE 177 OF F02X_UART1_INTERRUPT.C: 'TMOD': undefined identifier
 178   1      
 179   1      
 180   1         if ( (((SYSTEMCLOCK/BAUDRATE)/256)/16) < 1 )
 181   1         {
 182   2            PCON |= 0x10;                    // SMOD1 (PCON.4) = 1 --> UART1 baudrate
*** ERROR C202 IN LINE 182 OF F02X_UART1_INTERRUPT.C: 'PCON': undefined identifier
 183   2                                             // divide-by-two disabled
 184   2            CKCON |= 0x10;                   // Timer1 uses the SYSTEMCLOCK
*** ERROR C202 IN LINE 184 OF F02X_UART1_INTERRUPT.C: 'CKCON': undefined identifier
 185   2            TH1 = - ((SYSTEMCLOCK/BAUDRATE)/16);
*** ERROR C202 IN LINE 185 OF F02X_UART1_INTERRUPT.C: 'TH1': undefined identifier
 186   2         }
 187   1         else if ( (((SYSTEMCLOCK/BAUDRATE)/256)/32) < 1 )
 188   1         {
 189   2            PCON &= ~0x10;                   // SMOD1 (PCON.4) = 0 --> UART1 baudrate
*** ERROR C202 IN LINE 189 OF F02X_UART1_INTERRUPT.C: 'PCON': undefined identifier
 190   2                                             // divide-by-two enabled
 191   2            CKCON |= 0x10;                   // Timer1 uses the SYSTEMCLOCK
*** ERROR C202 IN LINE 191 OF F02X_UART1_INTERRUPT.C: 'CKCON': undefined identifier
 192   2            TH1 = - ((SYSTEMCLOCK/BAUDRATE)/32);
*** ERROR C202 IN LINE 192 OF F02X_UART1_INTERRUPT.C: 'TH1': undefined identifier
 193   2         }
 194   1         else if ( ((((SYSTEMCLOCK/BAUDRATE)/256)/16)/12) < 1 )
 195   1         {
 196   2            PCON |= 0x10;                    // SMOD1 (PCON.4) = 1 --> UART1 baudrate
*** ERROR C202 IN LINE 196 OF F02X_UART1_INTERRUPT.C: 'PCON': undefined identifier
 197   2                                             // divide-by-two disabled
 198   2            CKCON &= ~0x10;                  // Timer1 uses the SYSTEMCLOCK/12
*** ERROR C202 IN LINE 198 OF F02X_UART1_INTERRUPT.C: 'CKCON': undefined identifier
 199   2            TH1 = - (((SYSTEMCLOCK/BAUDRATE)/16)/12);
*** ERROR C202 IN LINE 199 OF F02X_UART1_INTERRUPT.C: 'TH1': undefined identifier
 200   2         }
 201   1         else if ( ((((SYSTEMCLOCK/BAUDRATE)/256)/32)/12) < 1 )
 202   1         {
 203   2            PCON &= ~0x10;                   // SMOD1 (PCON.4) = 0 --> UART1 baudrate
*** ERROR C202 IN LINE 203 OF F02X_UART1_INTERRUPT.C: 'PCON': undefined identifier
 204   2                                             // divide-by-two enabled
 205   2            CKCON &= ~0x10;                  // Timer1 uses the SYSTEMCLOCK/12
*** ERROR C202 IN LINE 205 OF F02X_UART1_INTERRUPT.C: 'CKCON': undefined identifier
 206   2            TH1 = - (((SYSTEMCLOCK/BAUDRATE)/32)/12);
*** ERROR C202 IN LINE 206 OF F02X_UART1_INTERRUPT.C: 'TH1': undefined identifier
 207   2         }
 208   1      
 209   1         TL1 = TH1;                          // init Timer1
*** ERROR C202 IN LINE 209 OF F02X_UART1_INTERRUPT.C: 'TL1': undefined identifier
 210   1         TR1 = 1;                            // START Timer1
*** ERROR C202 IN LINE 210 OF F02X_UART1_INTERRUPT.C: 'TR1': undefined identifier
C51 COMPILER V7.06   F02X_UART1_INTERRUPT                                                  04/18/2009 11:16:42 PAGE 5   

 211   1         TX_Ready = 1;                       // Flag showing that UART can transmit
 212   1         EIE2     = 0x40;                    // Enable UART1 interrupts
*** ERROR C202 IN LINE 212 OF F02X_UART1_INTERRUPT.C: 'EIE2': undefined identifier
 213   1      
 214   1         EIP2    = 0x40;                     // Make UART high priority
*** ERROR C202 IN LINE 214 OF F02X_UART1_INTERRUPT.C: 'EIP2': undefined identifier
 215   1      
 216   1      }
 217          
 218          //-----------------------------------------------------------------------------
 219          // Interrupt Service Routines
 220          //-----------------------------------------------------------------------------
 221          
 222          //-----------------------------------------------------------------------------
 223          // UART1_Interrupt
 224          //-----------------------------------------------------------------------------
 225          //
 226          // This routine is invoked whenever a character is entered or displayed on the
 227          // Hyperterminal.
 228          //
 229          //-----------------------------------------------------------------------------
 230          
 231          void UART1_Interrupt (void) interrupt 20
 232          {
 233   1         if ((SCON1 & 0x01) == 0x01)
*** ERROR C202 IN LINE 233 OF F02X_UART1_INTERRUPT.C: 'SCON1': undefined identifier
 234   1         {
 235   2            // Check if a new word is being entered
 236   2            if( UART_Buffer_Size == 0)  {
 237   3               UART_Input_First = 0; } 
 238   2      
 239   2            SCON1 = (SCON1 & 0xFE);          //RI1 = 0;
*** ERROR C202 IN LINE 239 OF F02X_UART1_INTERRUPT.C: 'SCON1': undefined identifier
 240   2            Byte = SBUF1;                    // Read a character from Hyperterminal
*** ERROR C202 IN LINE 240 OF F02X_UART1_INTERRUPT.C: 'SBUF1': undefined identifier
 241   2      
 242   2            if (UART_Buffer_Size < UART_BUFFERSIZE)
 243   2            {
 244   3               UART_Buffer[UART_Input_First] = Byte;  // Store character
 245   3      
 246   3               UART_Buffer_Size++;            // Update array's size
 247   3      
 248   3               UART_Input_First++;            // Update counter
 249   3            }
 250   2         }
 251   1      
 252   1         if ((SCON1 & 0x02) == 0x02)         // Check if transmit flag is set
*** ERROR C202 IN LINE 252 OF F02X_UART1_INTERRUPT.C: 'SCON1': undefined identifier
 253   1         {
 254   2            SCON1 = (SCON1 & 0xFD);
*** ERROR C202 IN LINE 254 OF F02X_UART1_INTERRUPT.C: 'SCON1': undefined identifier
 255   2            if (UART_Buffer_Size != 1)        // If buffer not empty
 256   2            {
 257   3      
 258   3               // Check if a new word is being output
 259   3               if ( UART_Buffer_Size == UART_Input_First )  
 260   3               {
 261   4                  UART_Output_First = 0;
 262   4               }
 263   3      
 264   3               // Store a character in the variable byte
 265   3               Byte = UART_Buffer[UART_Output_First];
C51 COMPILER V7.06   F02X_UART1_INTERRUPT                                                  04/18/2009 11:16:42 PAGE 6   

 266   3      
 267   3               if ((Byte >= 0x61) && (Byte <= 0x7A)) { // If lower case letter
 268   4                  Byte -= 32; }
 269   3      
 270   3               SBUF1 = Byte;
*** ERROR C202 IN LINE 270 OF F02X_UART1_INTERRUPT.C: 'SBUF1': undefined identifier
 271   3      
 272   3               UART_Output_First++;           // Update counter
 273   3               UART_Buffer_Size--;            // Decrease array size
 274   3            }
 275   2            else
 276   2            {
 277   3               UART_Buffer_Size = 0;           // Set the array size to 0
 278   3               TX_Ready = 1;                   // Indicate transmission complete
 279   3            }
 280   2         }
 281   1      }
 282          //-----------------------------------------------------------------------------
 283          // End Of File
 284          //-----------------------------------------------------------------------------

C51 COMPILATION COMPLETE.  1 WARNING(S),  38 ERROR(S)

⌨️ 快捷键说明

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