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

📄 秒分程序.lst

📁 我自己做的一个proteus仿真实例
💻 LST
字号:
C51 COMPILER V8.16   秒穇程序                                                              12/03/2000 19:17:16 PAGE 1   


C51 COMPILER V8.16, COMPILATION OF MODULE 秒穇程序
OBJECT MODULE PLACED IN 秒分程序.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 秒分程序.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*
   2          
   3          **  RTX-51的移植
   4          
   5          **  移植到AT89S52
   6          
   7          **  此程序是分秒程序
   8          
   9          **  有六个数码管来显示毫秒,秒,分钟
  10                                                                      
  11          */
  12          
  13          #include <reg51.h>
  14          #include <rtx51tny.h>
  15          #define uchar unsigned char
  16          #define uint unsigned int 
  17          const unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  18          uchar minuter;
  19          uchar second;
  20          uchar micsecond;
  21          uchar minuterh;
  22          uchar minuterl;
  23          uchar secondh;
  24          uchar secondl;
  25          uchar micsecondh;
  26          uchar micsecondl;
  27          
  28          void job0 (void) _task_ 0
  29          
  30          {
  31   1         
  32   1         micsecond = 0x00;
  33   1         second = 0x00;
  34   1         minuter =0x00;
  35   1         micsecondh = micsecond /10;
  36   1         micsecondl = micsecond %10;
  37   1         secondh = second /10;
  38   1         secondl = second %10;
  39   1         minuterh = minuter /10;
  40   1         minuterl = minuter %10;
  41   1         os_create_task(1);//创建进程1
  42   1         os_create_task(2);//创建进程1
  43   1         os_create_task(3);//创建进程1
  44   1         os_delete_task(0);//删除任务0
  45   1         
  46   1      }
  47          
  48          void job1 (void) _task_ 1
  49          
  50          {
  51   1         while(1)
  52   1           {          
  53   2                      micsecond ++;
  54   2                      micsecondh = micsecond /10;
  55   2                      micsecondl = micsecond %10;
C51 COMPILER V8.16   秒穇程序                                                              12/03/2000 19:17:16 PAGE 2   

  56   2                      if(micsecond==100)
  57   2                      {       
  58   3                              micsecond = 0;  
  59   3                              os_send_signal(2);    //发送Signal信号,激活进程2
  60   3                      }
  61   2      
  62   2                      os_wait(K_TMO,1,0);
  63   2           }
  64   1      }
  65          
  66          void job2 (void) _task_ 2
  67          
  68          {
  69   1              while(1)
  70   1              {
  71   2                      os_wait(K_SIG,0,0);
  72   2                      second ++;
  73   2                      if(second == 60)
  74   2                      {
  75   3                              second = 0;
  76   3                              minuter ++;
  77   3                      }
  78   2                      secondh = second /10;
  79   2                      secondl = second %10;   
  80   2                      minuterh = minuter /10;
  81   2              minuterl = minuter %10; 
  82   2              }
  83   1      }
  84          
  85          void job3 (void) _task_ 3
  86          
  87          {
  88   1              while(1)
  89   1              {
  90   2                      P2 = 0x20;
  91   2                      P0 = table[micsecondl];
  92   2                      os_wait(K_TMO,1,0); 
  93   2                      P2 = 0x10;
  94   2                      P0 = table[micsecondh];
  95   2                      os_wait(K_TMO,1,0); 
  96   2                      P2 = 0x08;
  97   2                      P0 = table[secondl];
  98   2                      os_wait(K_TMO,1,0); 
  99   2                      P2 = 0x04;
 100   2                      P0 = table[secondh];
 101   2                  os_wait(K_TMO,1,0); 
 102   2                      P2 = 0x02;
 103   2                      P0 = table[minuterl];
 104   2                  os_wait(K_TMO,1,0); 
 105   2                      P2 = 0x01;
 106   2                      P0 = table[minuterh];
 107   2                  os_wait(K_TMO,1,0); 
 108   2      
 109   2              }
 110   1      }                  
 111          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    307    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V8.16   秒穇程序                                                              12/03/2000 19:17:16 PAGE 3   

   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19    ----
   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 + -