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

📄 uart.lst

📁 CF8051F040开发板的SRAM_rw_test 程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 164   1         //return 0xff;
 165   1      }
 166          
 167          /***********************************************************************************
 168          * 函数名称:Uart1_Init;
 169          *
 170          * 函数功能描述:Uart1初始化;
 171          *              
 172          * 输入参数:unsigned char类型,发送数据波特率;
 173          *
 174          * 返回数据:none;
 175          *
 176          * 注意:    none;
 177          ************************************************************************************/
 178          void Uart1_Init(unsigned long BaudRate)    //Uart0初始化                             
 179          {   
C51 COMPILER V7.02b   UART                                                                 03/06/2006 15:07:52 PAGE 4   

 180   1      
 181   1         
 182   1         char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
 183   1         SFRPAGE = SFR_PAGE_0;           // set SFR page 0
 184   1      
 185   1         TR1=0;                              // 关闭定时器Timer1
 186   1         ET1=0;                              // 关闭定时器Timer1中断 
 187   1         PT1=0;                              // 关闭定时器Timer1中断优先权
 188   1         TMOD&= 0x0f;                        // TMOD: 定时器1, 模式2, 8位重载 
 189   1         TMOD|= 0x20;                        // TMOD: 定时器1, 模式2, 8位重载 
 190   1       
 191   1          if (BaudRate>=172800)
 192   1         {
 193   2            CKCON |= 0x10;                       // 定时器Timer1使用系统时钟作为时间基准
 194   2            TH1    = -(SYSCLK/(BaudRate*2));     // 设置定时器Timer1重载值
 195   2         }
 196   1         else if ((BaudRate<172800)&&(BaudRate>=14400))
 197   1         {
 198   2            CKCON = 0x00;           // 定时器Timer1使用系统时钟作为时间/12基准
 199   2            TH1    = -(SYSCLK/(BaudRate*2*12));     // 设置定时器Timer1重载值
 200   2         }
 201   1         else
 202   1         {
 203   2      
 204   2            CKCON = 0x02;              // 定时器Timer1使用系统时钟作为时间/48基准
 205   2            TH1    = -(SYSCLK/(BaudRate*2*48));     // 设置定时器Timer1重载值
 206   2         }
 207   1         
 208   1         ES0=0;                         // 关闭串口Uart0中断
 209   1         PS=0;                          // 关闭串口Uart0中断优先权
 210   1          TR1=1;                     // 打开串口Uart1
 211   1            
 212   1         
 213   1         SFRPAGE = SFR_PAGE_1;// set SFR page 1
 214   1         SCON1=0x52;      // SCON0:模式1, 8字节UART, 打开RX, TI1=1,RI1=0
 215   1         SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
 216   1      }
 217          
 218          /***********************************************************************************
 219          * 函数名称:Uart1_Enable;
 220          *
 221          * 函数功能描述:Uart0初始化;
 222          *              
 223          * 输入参数:bool类型,打开输入1;关闭输入0;
 224          *
 225          * 返回数据:none;
 226          *
 227          * 注意:    none;
 228          ************************************************************************************/
 229          
 230          void Uart1_Enable(bool Flag)
 231          {
 232   1         char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
 233   1         SFRPAGE = SFR_PAGE_2;      
 234   1      
 235   1         if (Flag)
 236   1            TMR4CN|=0x04;      // 打开Uart1
 237   1         else
 238   1              TMR4CN&=~0x04;     // 关闭Uart1
 239   1      
 240   1         SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
 241   1      }
C51 COMPILER V7.02b   UART                                                                 03/06/2006 15:07:52 PAGE 5   

 242          
 243          /***********************************************************************************
 244          * 函数名称: Uart1_SendString;
 245          *
 246          * 函数功能描述:Uart0初始化;
 247          *              
 248          * 输入参数:unsigned char类型指针,发送数据;
 249          *
 250          * 返回数据:none;
 251          *
 252          * 注意:    none;
 253          ************************************************************************************/
 254          
 255          void Uart1_SendString(unsigned char *pt)
 256          {
 257   1         while(*pt)
 258   1         {
 259   2            Uart1_SendByte(*pt++);
 260   2         }
 261   1      }
 262          
 263          /***********************************************************************************
 264          * 函数名称:Uart1_SendByte;
 265          *
 266          * 函数功能描述:Uart0初始化;
 267          *              
 268          * 输入参数:unsigned char类型指针,发送数据;
 269          *
 270          * 返回数据:none;
 271          *
 272          * 注意:    none;
 273          ************************************************************************************/
 274          
 275          void Uart1_SendByte(unsigned char value)
 276          {
 277   1         char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
 278   1         SFRPAGE = SFR_PAGE_1;      
 279   1         
 280   1         while(!(TI1));          // 等待发送1个字节数据完成
 281   1          SBUF1=value;              // 发送数据到uart1
 282   1           SCON1&=~0x02;              // 清除中断标志
 283   1      
 284   1         SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
 285   1      }
 286          
 287          /***********************************************************************************
 288          * 函数名称:Uart1_ReceiveData;
 289          *
 290          * 函数功能描述:Uart0初始化;
 291          *              
 292          * 输入参数:none;
 293          *
 294          * 返回数据:unsigned char类型,接收数据;
 295          *
 296          * 注意:    none;
 297          ************************************************************************************/
 298          
 299          unsigned char Uart1_ReceiveData(void)
 300          {
 301   1         char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
 302   1         SFRPAGE = SFR_PAGE_1;      
 303   1      
C51 COMPILER V7.02b   UART                                                                 03/06/2006 15:07:52 PAGE 6   

 304   1         while(RI1)
 305   1         {
 306   2            SCON1&=~0x01;   // 清除RI1标志位
 307   2            return SBUF1;
 308   2         }  
 309   1      
 310   1         SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
 311   1      
 312   1         return 0xff;
 313   1      }
 314          
 315          /***********************************************************************************/
 316          // 文件结束
 317          /***********************************************************************************/
 318          


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