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

📄 uart.lst

📁 小区可视对讲键盘检测程序.利用pt6964芯片.
💻 LST
字号:
C51 COMPILER V8.08   UART                                                                  05/25/2008 20:21:42 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<stc12c5410ad.h>
   2          #include<main.h>
   3          #include<buzzer.h>
   4          #include<delay.h>
   5          //-------------------------
   6          //global variables
   7          //--------------------------
   8          unsigned char command_flag = 0;
   9          unsigned char send_buffer[4] = {0,0,0,0};
  10          
  11          extern unsigned char display_buffer[4];
  12          extern unsigned char current_state;
  13          //---------------------
  14          //defines
  15          //----------------------
  16          #define COMMAND_HEADER                  0xaa
  17          #define COMMAND_FREESTATE               0x40
  18          #define COMMAND_FORCIBLETALK    0x7f
  19          #define COMMAND_GUESTREADY              0x41
  20          #define COMMAND_SETDONE                 0x42
  21          #define COMMAND_SETFAIL                 0x43
  22          //-----------------------
  23          //functions
  24          //------------------------
  25          void rs232_initial(void)
  26          {
  27   1              ES = 1;
  28   1              //AUXR =AUXR |0x40;
  29   1              TMOD = TMOD+0x20;
  30   1              SCON = 0x50;
  31   1              TH1 = 0xfb;
  32   1              TL1 = 0xfb;
  33   1      //      TH1 = 0xe2;
  34   1      //      TL1 = 0xe2;
  35   1              TR1 = 1;
  36   1      }
  37          void rs232_send_byte(unsigned char send_data)
  38          {
  39   1              ES = 0;
  40   1              TI = 0;
  41   1              SBUF = send_data;
  42   1              delay2(1);
  43   1      //      while(!TI);
  44   1              TI = 0;
  45   1              ES = 1;
  46   1      }
  47          void Uart_Routine(void) interrupt 4
  48          {       
  49   1              unsigned char temp_data = 0; 
  50   1              if(TI == 1){TI = 0;return;}
  51   1              if(RI == 1){RI = 0;  } 
  52   1      //      open_buzzer();
  53   1      //      buzzer_timer = 10;
  54   1      //      buzzer_timer_trigger = 1;
  55   1              temp_data = SBUF;
C51 COMPILER V8.08   UART                                                                  05/25/2008 20:21:42 PAGE 2   

  56   1              if((temp_data == COMMAND_HEADER)&&(command_flag == 0))command_flag = 1;
  57   1              if((temp_data == COMMAND_FREESTATE)&&(command_flag == 1)){
  58   2                                                                                              current_state = STATE_FREE|STATE_FREE_NOCALL;
  59   2                                                                                              display_buffer[0] = 10;
  60   2                                                                                              display_buffer[1] = 10;
  61   2                                                                                              display_buffer[2] = 10;
  62   2                                                                                              display_buffer[3] = 10;
  63   2                                                                                              command_flag = 0;}
  64   1              if((temp_data == COMMAND_FORCIBLETALK)&&(command_flag == 1)){current_state = STATE_FORCIBLETALK;command_
             -flag = 0;}
  65   1              if((temp_data == COMMAND_GUESTREADY)&&(command_flag == 1)){
  66   2                                                                                               current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_GUESTREADY;
  67   2                                                                                               display_buffer[0] = SYMBLE_SUBM;
  68   2                                                                                               display_buffer[1] = SYMBLE_SUBM;
  69   2                                                                                               display_buffer[2] = SYMBLE_SUBM;
  70   2                                                                                               display_buffer[3] = SYMBLE_SUBM;
  71   2                                                                                               command_flag = 0;
  72   2                                                                                }
  73   1              if((temp_data == COMMAND_SETDONE)&&(command_flag == 1)){
  74   2                                                                                               current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_POSIDENTY;
  75   2                                                                                               display_buffer[0] = SYMBLE_SUBM;
  76   2                                                                                               display_buffer[1] = SYMBLE_SUBM;
  77   2                                                                                               display_buffer[2] = SYMBLE_SUBM;
  78   2                                                                                               display_buffer[3] = SYMBLE_SUBM;
  79   2                                                                                               command_flag = 0;
  80   2                                                                                               open_buzzer();  //BEEP
  81   2                                                                                               buzzer_timer = 225;
  82   2                                                                                               buzzer_timer_trigger = 1;
  83   2                                                                                               }
  84   1               if((temp_data == COMMAND_SETFAIL)&&(command_flag == 1)){
  85   2                                                                                               current_state = STATE_FOURTHFUNC|STATE_FOURTHFUNC_POSIDENTY;
  86   2                                                                                               display_buffer[0] = SYMBLE_SUBM;
  87   2                                                                                               display_buffer[1] = SYMBLE_SUBM;
  88   2                                                                                               display_buffer[2] = SYMBLE_SUBM;
  89   2                                                                                               display_buffer[3] = SYMBLE_SUBM;
  90   2                                                                                               command_flag = 0;
  91   2                                                                                               open_buzzer();  //BEEP
  92   2                                                                                               buzzer_timer = 55;
  93   2                                                                                               buzzer_timer_trigger = 1;
  94   2                                                                                               }
  95   1      }
  96          //----------------------------------------------------
  97          //----------------------------------------------------
  98          void rs232_send_command(void)
  99          {
 100   1              rs232_send_byte(send_buffer[0]);  delay(1);
 101   1              rs232_send_byte(send_buffer[1]);  delay(1);
 102   1              rs232_send_byte(send_buffer[2]);  delay(1);
 103   1              rs232_send_byte(send_buffer[3]);   delay(1);
 104   1              return ;
 105   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    320    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      5       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V8.08   UART                                                                  05/25/2008 20:21:42 PAGE 3   


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

⌨️ 快捷键说明

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