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

📄 08-10-31频率检测.lst

📁 C51单片机用中断频率检测
💻 LST
字号:
C51 COMPILER V7.06   08_10_31芲率检测                                                      11/01/2008 23:02:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 08_10_31芲率检测
OBJECT MODULE PLACED IN 08-10-31频率检测.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 08-10-31频率检测.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //#include<reg52.h>
   2          #include<STC89C51RC.H>
   3          #define uint unsigned int
   4          #define uchar unsigned char
   5          //#include<intrins.h> //右移函数需要此头文件INTRINS.H  大小写不限
   6          uint i=0,meimiao=0;
   7          uint tt=0,x=0,y=0,h=0,m=0,s=0,a=0,b=0,c=0,d=0,e=0,f=0;
   8          sbit rs=P2^3;
   9          sbit rw=P2^2;
  10          sbit lcden=P2^4;
  11          
  12          sbit led=P1^0;
  13          sbit send=P1^2;
  14          
  15          uchar code table[]="               ";//"  2007-7-30 MON";
  16          uchar code table1[]="               ";//"    00:00:00";
  17          void delay(uint z)
  18          {
  19   1              uint x,y;
  20   1              for(x=z;x>0;x--)
  21   1                      for(y=110;y>0;y--);
  22   1      }
  23          void comd(uchar com)
  24          {
  25   1          rs=0;
  26   1              lcden=0;
  27   1              rw=0;
  28   1          P0=com;
  29   1              delay(5);
  30   1              lcden=1;
  31   1              delay(5);
  32   1              lcden=0;
  33   1      }
  34          void date(uchar date)
  35          {
  36   1          rs=1;
  37   1              lcden=0;
  38   1          rw=0;
  39   1              P0=date;
  40   1              delay(5);
  41   1              lcden=1;
  42   1              delay(5);
  43   1              lcden=0;
  44   1      }
  45          void init(void)
  46          {
  47   1          uint num;
  48   1              comd(0x38);//设置16*2显示,8位数据口
  49   1              comd(0x0c);//不显示光标
  50   1              comd(0x06);//写一个字地址加1,且光标位置加1
  51   1              comd(0x01);//清零
  52   1              comd(0x80);
  53   1              for(num=0;num<15;num++)
  54   1                      {
  55   2                              date(table[num]);
C51 COMPILER V7.06   08_10_31芲率检测                                                      11/01/2008 23:02:00 PAGE 2   

  56   2                              delay(5);
  57   2                      }
  58   1          comd(0x80+0x40);
  59   1              for(num=0;num<12;num++)
  60   1                      {
  61   2                              date(table1[num]);
  62   2                              delay(5);
  63   2                      }
  64   1      }
  65          void sfm(uchar add,uchar dat)
  66          {
  67   1              comd(0x80+add);//+0x40+8
  68   1              date(0x30+dat);
  69   1      
  70   1      }
  71          void see(void)
  72          {
  73   1          uchar ge,shi,bai,qian,wan,shiwan,baiwan,qianwan,yi;
  74   1          ge=i%10;
  75   1          shi=i/10%10;
  76   1          bai=i/100%10;
  77   1          qian=i/1000%10;
  78   1          wan=i/10000%10;
  79   1          shiwan=i/100000%10;
  80   1          baiwan=i/1000000%10;
  81   1          qianwan=i/10000000%10;
  82   1          yi=i/100000000%10;
  83   1      
  84   1              sfm(0,yi);
  85   1              sfm(1,qianwan);
  86   1              sfm(2,baiwan); 
  87   1              sfm(3,shiwan);
  88   1              sfm(4,wan);
  89   1              sfm(5,qian);
  90   1              sfm(6,bai);
  91   1              sfm(7,shi);
  92   1              sfm(8,ge);
  93   1              sfm(9,'H'-48);
  94   1              sfm(10,'z'-48);
  95   1      }
  96          void play(void)
  97          {
  98   1              EA=1;//开总中断
  99   1              ET1=1;//开定时器中断
 100   1              TMOD=0X01;//定时器工作方式为T0
 101   1              TH0=(65536-50000)/256;//定时器高八位初值
 102   1              TL0=(65536-50000)%256;//定时器低八位初值
 103   1              ET0=1;                                  //开定时器0
 104   1              TR0=1;                                  //启用定时器0
 105   1      
 106   1              EX0=1;//外部中断0开
 107   1              IT0=1;//下降沿触发外部中断
 108   1      }
 109          
 110          void Timer2init(void)
 111          {
 112   1              T2MOD=0x02;
 113   1              T2CON=0x14;
 114   1              //EA=1;                      /* interupt enable */
 115   1              //ET2=1;                     /* enable timer1 interrupt */
 116   1              TR2=1;  
 117   1      RCAP2L=250;
C51 COMPILER V7.06   08_10_31芲率检测                                                      11/01/2008 23:02:00 PAGE 3   

 118   1      RCAP2H=255;
 119   1      }
 120          main()
 121          {   
 122   1              Timer2init();
 123   1              play();
 124   1          init();
 125   1              while(1)
 126   1              {   
 127   2                      see();
 128   2                      delay(400);
 129   2              }
 130   1          
 131   1      }
 132          
 133          
 134          void ISR_Key(void) interrupt 0
 135          {
 136   1         led=~led;//外部中断触发一次,P1取反一次
 137   1         meimiao++;
 138   1      }
 139          
 140          void time0() interrupt 1//定时器工作方式是1
 141          {
 142   1              TH0=(65536-50000)/256;//定时器高八位初值
 143   1              TL0=(65536-50000)%256;//低八位初值
 144   1              tt++;
 145   1              if(tt==20)
 146   1              {
 147   2                      tt=0;
 148   2                      i=meimiao;
 149   2                      meimiao=0;
 150   2              }
 151   1      }
 152          /*
 153          void Timer2(void) interrupt 5
 154          {
 155           TH2=255;                Init value 
 156           TL2=200;
 157          send=~send;
 158          P1=~P1;
 159           //LED=~LED;
 160          
 161          }
 162          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    564    ----
   CONSTANT SIZE    =     32    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28       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 + -