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

📄 四位数显温度计1.lst

📁 51单片机 0831 四位数显温度计 呵呵
💻 LST
字号:
C51 COMPILER V8.17   四位数显蝊度计1                                                       04/12/2009 21:21:37 PAGE 1   


C51 COMPILER V8.17, COMPILATION OF MODULE 四位数显蝊度计1
OBJECT MODULE PLACED IN 四位数显温度计1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 四位数显温度计1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REG51.H> 
   2          unsigned char code dispbitcode[]={0X01,0X02,0X04,0X08,};//选择显示位 
   3          unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 
   4                                         0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//led代码显示 
   5          unsigned char dispbuf[]={0X01,0X02,0X04,0X08};//百位十位个位数据暂存 
   6          unsigned char dispcount; //一位计数
   7          unsigned char getdata;   //数据缓存
   8          unsigned int temp; 
   9          sbit ST=P3^0; 
  10          sbit OE=P3^1; 
  11          sbit EOC=P3^2; 
  12          sbit CLK=P3^3;
  13          
  14          
  15          void dis_make()//显示处理函数
  16          {
  17   1                int temp_data;
  18   1                int temp1_data;
  19   1                temp_data = 2*getdata;//温度算法V=(2.73+T/100)
  20   1                temp1_data = temp_data - 273;//温度算法
  21   1                if((temp1_data)>=0)
  22   1                {
  23   2                  temp = temp_data - 273;//取温度值
  24   2              dispbuf[0]=10;    //清一位显示
  25   2                }
  26   1                else
  27   1                {
  28   2                  temp = 273-temp_data;//取温度值 
  29   2                      dispbuf[0]=11;    //显示负号
  30   2                }
  31   1                if((temp1_data < 155)&(temp1_data>-55))//范围内
  32   1                {
  33   2                 dispbuf[1]=temp/100;  //取百位
  34   2             dispbuf[2]=(temp%100)/10;//取十位
  35   2             dispbuf[3]=(temp%100)%10;//取个位
  36   2                }
  37   1                else  //溢出 
  38   1                {
  39   2                 dispbuf[0]=11;//显示“-”
  40   2                 dispbuf[1]=11;
  41   2             dispbuf[2]=11;
  42   2             dispbuf[3]=11;
  43   2                }
  44   1      
  45   1      }
  46           
  47          
  48          void main(void) 
  49          {
  50   1        TMOD=0x12; 
  51   1        TH0=0XF6;//0.01ms时间
  52   1        TL0=0XF6; 
  53   1        TR1=1;   //tr1开始计时
  54   1        TR0=1;   //tr0开始计时
  55   1        ET0=1;   //开定时器0中断
C51 COMPILER V8.17   四位数显蝊度计1                                                       04/12/2009 21:21:37 PAGE 2   

  56   1        ET1=1;   //开定时器1中断
  57   1        EA = 1;  //开总中断
  58   1        while(1) 
  59   1          { 
  60   2            ST=0;
  61   2            ST=1;               //清空数据
  62   2            ST=0;              //开始记转换
  63   2            while(!EOC);//等待数据转换完成
  64   2            OE=1;               //使能数据输出
  65   2            getdata=P0;//获取数据
  66   2            OE=0;              //禁止数据输出
  67   2                dis_make(); //显示处理
  68   2              } 
  69   1      }
  70          void t0(void) interrupt 1 //100K方波
  71          { 
  72   1        CLK=~CLK; //位取反
  73   1      } 
  74          void t1(void) interrupt 3
  75          { 
  76   1        TH1=(65536-4000)/256; //4MS
  77   1        TL1=(65536-4000)%256; 
  78   1      
  79   1               P2 = 0X00;     //消影
  80   1           P1=~dispcode[dispbuf[dispcount]];//显示字符
  81   1           P2=dispbitcode[dispcount]; //显示位
  82   1           dispcount++;  //移位计数
  83   1           if(dispcount>3)
  84   1            {
  85   2              dispcount=0;
  86   2            }
  87   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    264    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   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 + -