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

📄 rf_test.lst

📁 一个简单单片机教程
💻 LST
字号:
C51 COMPILER V7.07   RF_TEST                                                               12/23/2007 21:46:11 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE RF_TEST
OBJECT MODULE PLACED IN rf_test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE rf_test.c BROWSE DEBUG OBJECTEXTEND TABS(8)

stmt level    source

   1          #include"reg51.h"
   2          #include<intrins.h>
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          #define  nop  _nop_()       /* 定义空操作指令 */
   6          sbit in=P3^4;
   7          sbit out=P3^6;
   8          uchar dat_1,dat_2;
   9          bit inter_psw=0;
  10          sbit en =P1^7;                                          /*DTLED-6显示芯片使能端*/       
  11          sbit dout=P1^6;                                         /*DTLED-6显示芯片数据读入端*/
  12          sbit clk=P1^3;                                          /*DTLED-6显示芯片/时钟芯片DS1302时钟输入端*/
  13          uchar dispbuf[9]={0,0,0,0,0,0,0,1,0};                   /*显示值存放阵列*/
  14          void delay (uint value)                                 /*延时副程式*/
  15          {
  16   1            while (value!=0) value--;                         /*10US延时*/
  17   1      }
  18          /**********************************************/
  19          void DL(void)
  20          {
  21   1        uchar i;
  22   1        for(i=0;i<7;i++)
  23   1          {
  24   2           delay(7000);
  25   2           }
  26   1       }
  27          /*********************************************/ 
  28          void tsled(void)                                        /*串行发送DTLED-6显示副程式*/   
  29          {   
  30   1              char ts0,i,j;
  31   1              clk=0;
  32   1              en=0;
  33   1              delay(10);
  34   1              for(j=0;j<9;j++)
  35   1              {       ts0=dispbuf[j];
  36   2                      for(i=0;i<4;i++)                        /*发小数点码8,4,2,1*/
  37   2                      {
  38   3                      clk=1;
  39   3                      ts0=ts0<<1;     
  40   3                      if(AC==1) 
  41   3                      dout=1;
  42   3                      else      dout=0;
  43   3                      clk=0;
  44   3                      nop;
  45   3                      delay(3);
  46   3                      }
  47   2              }       
  48   1              en=1;
  49   1      }                                                       /*返回主程式*/
  50          /**********************************************************************************/    
  51          void process(void)
  52          {
  53   1       uchar i;
  54   1       EA=0;
  55   1       for(i=0;i<8;i++)
C51 COMPILER V7.07   RF_TEST                                                               12/23/2007 21:46:11 PAGE 2   

  56   1         {
  57   2          delay(102);
  58   2          if(in)goto pro_end;
  59   2          }
  60   1       while(!in)nop;   
  61   1       delay(544);
  62   1       for(i=0;i<8;i++)
  63   1         {
  64   2           while(!in)nop;  
  65   2           delay(102);
  66   2           if(!in){dat_1=dat_1>>0x01;}
  67   2           else {delay(114);dat_1=(dat_1>>0x01)|0x80;}
  68   2          }
  69   1       delay(544);
  70   1       for(i=0;i<8;i++)
  71   1         {
  72   2           while(!in)nop;  
  73   2           delay(102);
  74   2           if(!in){dat_2=dat_2>>0x01;}
  75   2           else {delay(114);dat_2=(dat_2>>0x01)|0x80;}
  76   2          }
  77   1       if(dat_1==0xc4&&dat_2<0x20)
  78   1         {EA=0;dispbuf[1]=dat_2&0x0f;dispbuf[2]=dat_2>>4;dispbuf[3]=0x04;dispbuf[4]=0x0c;tsled();EA=1;DL();}  
  79   1       pro_end:;  
  80   1       EA=1; 
  81   1       }             
  82          /*************************************************************/   
  83          void T0_count(void)interrupt 1 using 1
  84          {
  85   1       inter_psw=1;
  86   1      }
  87          
  88          /*************************************************************/
  89          void main(void)
  90          {
  91   1       dat_1=0x00;
  92   1       dat_2=0x00;
  93   1       TMOD=0x06;                            //T1工作方式2
  94   1      
  95   1       TH0=0xff;
  96   1       TL0=0xff;
  97   1       
  98   1       EA=1;
  99   1       ET0=1;
 100   1       TR0=1;
 101   1       tsled();
 102   1       while(1)
 103   1        {
 104   2          if(inter_psw){process();inter_psw=0;}
 105   2         }  
 106   1      }
 107          /**************************************************************/ 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    286    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
C51 COMPILER V7.07   RF_TEST                                                               12/23/2007 21:46:11 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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