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

📄 usertask.lst

📁 在C8051f340下的一个完整的uart项目源码 请
💻 LST
字号:
C51 COMPILER V7.09   USERTASK                                                              05/05/2008 20:51:20 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE USERTASK
OBJECT MODULE PLACED IN USERTASK.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE USERTASK.C LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "c8051F340.h"
   2          #include "includes.h"
   3          
   4          OS_STK xdata mystack1[USER_STACK_SIZE],mystack2[USER_STACK_SIZE],mystack3[USER_STACK_SIZE];
   5          
   6          void init_port(void);
   7          void init_clk(void);
   8          void mytask1(void) ;
   9          void mytask2(void) ;
  10          void mytask3(void) ;
  11          void Init_Device(void);
  12          extern void init_timer0(void);
  13          
  14          
  15          void main(void)
  16          {
  17   1          //Init_Device();
  18   1              init_clk();
  19   1              PCA0MD = 0x00;  /* disenable watchdog */
  20   1              init_port();
  21   1              init_uart0();
  22   1              puts_uart0("Hello C8051F340!\n");
  23   1      
  24   1              //while(1) putc_uart0(getc_uart0());
  25   1      
  26   1              init_timer0();
  27   1      
  28   1              OSInit();
  29   1              OSTaskCreate(mytask1,0,&mystack1[0],0);
  30   1              OSTaskCreate(mytask2,0,&mystack2[0],1);
  31   1              OSTaskCreate(mytask3,0,&mystack3[0],2);
  32   1              OSStart();
  33   1      }
  34          
  35          void init_port(void)
  36          {
  37   1              P0MDIN = 0xFF;                          /* non-analog input                                                                                                     */
  38   1              P0MDOUT = 0x10;                         /* TX0 push-pull output, RX0 open drain output                                          */
  39   1              P1MDIN = 0xFF;
  40   1              P1MDOUT = 0x02;
  41   1              P1 = 0x02;                                      /* enablel max3223 tranceiver                                                                           */
  42   1              
  43   1              XBR0 = 0x01;                            /* enable uart0                                                                                                         */
  44   1              XBR1 = 0x40;                            /* enable cross, enable draw-up resistor                                                        */
  45   1      }
  46          
  47          void init_clk(void)
  48          {
  49   1              unsigned char i;
  50   1              
  51   1              OSCICN = 0x83;                          /* enable internal high frequency oscillator, set sysclk 12MHz          */
  52   1              while(!(OSCICN & 0x40));    /* wait internal high frequency oscillator ready                                    */
  53   1              
  54   1              OSCLCN = 0x00;                          /* shutdown internal low frequency oscillator                                           */
  55   1              OSCXCN = 0x00;                          /* shutdown external oscillator                                                                         */
C51 COMPILER V7.09   USERTASK                                                              05/05/2008 20:51:20 PAGE 2   

  56   1              
  57   1              CLKMUL = 0x80;                          /* enable multiplier use internal oscillator                                            */ 
  58   1              for(i = 255; i > 0;i --);       /* delay 5us minimum                                                                                            */
  59   1              CLKMUL |= 0xC0;                         /* initial multiplier                                                                                           */
  60   1              while(!(CLKMUL & 0x20));        /* wait multiplier ready                                                                                        */
  61   1              
  62   1              CLKSEL = 0x00;                          /* usb clock use multiplier output, sysclk use internal oscillator      */
  63   1      }
  64          
  65          void mytask1(void) 
  66          {
  67   1              TR0 = 1;
  68   1              while(1)
  69   1              {
  70   2                      puts_uart0("Task 11111111 is running!\n"); 
  71   2                      OSTimeDly(OS_TICKS_PER_SEC);
  72   2              }
  73   1      }
  74          void mytask2(void) 
  75          {
  76   1              while(1)
  77   1              {
  78   2                      puts_uart0("Task 22222222 is running!\n");   
  79   2                      OSTimeDly(100);
  80   2              }
  81   1      }
  82          void mytask3(void) 
  83          {
  84   1              while(1)
  85   1              {
  86   2                      puts_uart0("Task 33333333 is running!\n");   
  87   2                      OSTimeDly(200);
  88   2              }
  89   1      }
  90          
  91          


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