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

📄 text1.lst

📁 单片机控制数码管显示,键盘可调节数码管显示设定温度,实现温度报警
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.02   TEXT1                                                                 06/10/2008 21:23:11 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1                            #include <reg52.h>
   2          #include <intrins.h>
   3          #include <math.h>
   4          #include <stdio.h>             
   5          
   6          sbit s4 = P1^0;
   7          sbit s3 = P1^2;
   8          sbit s2 = P1^1;
   9          sbit s1 = P1^3;
  10          sbit Bell = P2^7; //蜂鸣器
  11          sbit key1 = P1^4;
  12          sbit key2 = P1^5;
  13          sbit key3 = P3^6;
  14          sbit key4 = P3^7;
  15          sbit Clock = P2^2; //时钟口线
  16          sbit DataOut = P2^1; //数据输出口线
  17          sbit ChipSelect = P2^0; //片选口线
  18          #define    Wait1us        {_nop_();}
  19          #define    Wait2us        {Wait1us;Wait1us;}
  20          #define    Wait4us        {Wait2us;Wait2us;}
  21          #define    Wait8us        {Wait4us;Wait4us;}
  22          #define    Wait30us      {Wait8us;Wait8us;Wait8us;Wait4us;Wait2us;}
  23          // 蜂鸣器鸣叫时间(5毫秒为单位)
  24          unsigned char BellCount;
  25          //
  26          unsigned char BellType;
  27          #define BT_OFF          0       // 关闭声音
  28          #define BT_BUTTON       1       // 按键声
  29          #define BT_WARN         2       // 提示声
  30          #define BT_ALARM        3       // 闹铃(报警)声
  31          #define temp        10
  32          #define dayu        11
  33          #define xiaoyu      12
  34          #define xuanzhe     13
  35          
  36          
  37          code unsigned char table[10] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  38          unsigned char led[4];
  39          unsigned char wendu_up=40;//**************** wen du shang xian definde zhi 40;
  40          unsigned char wendu_low=10;//***************** wen du xia xian definde zhi 10;
  41          unsigned char i=0;
  42          unsigned char timesyb;//******
  43          unsigned char show[4];
  44          unsigned char gewei=0,shiwei=0,scend=0,minute=0;
  45          unsigned char mi=0,mj=0,judgeset=0,dscount=0;                   //judgeset symble to start set state;   dscount symble 5s to
             - out set state; 
  46          bit key4syb=0,setsyb=0,out_out=0;
  47          unsigned char ledbuf[4];
  48          void set(void);
  49          void checkkey4(void);
  50          //---------------------片选A/D从外界读温度--------------------------
  51          unsigned char adc_conv()
  52          {
  53   1          unsigned char i;
  54   1          unsigned char value;
C51 COMPILER V8.02   TEXT1                                                                 06/10/2008 21:23:11 PAGE 2   

  55   1          Clock=0;
  56   1          ChipSelect=1;
  57   1          Wait30us
  58   1          ChipSelect=0;
  59   1          for(i=0;i<8;i++)
  60   1          {
  61   2              value<<=1;
  62   2              Clock=1;
  63   2              if(DataOut==1)
  64   2                  value|=0x01;//value+=1;
  65   2              Clock=0;
  66   2          }
  67   1          ChipSelect=1;
  68   1          return(value);
  69   1      }
  70          //------------------------延迟约0.1s-----------------
  71          void delay_ms()
  72          {
  73   1          unsigned int i;
  74   1          for(i=0;i<100;i++);
  75   1      }
  76          //-----------------------------延迟约0.4秒---------
  77          void key_delay()
  78          {unsigned int i,j;                              //stop for 0.4s
  79   1          for(i=0;i<400;i++)for(j=0;j<1000;i++);
  80   1      }
  81          //----------------------------显示---------------
  82          void display()
  83          {
  84   1          P1|=0x0f;   //lit off all led
  85   1          P0=0xff;
  86   1          s1=0;
  87   1          P0=show[0];//table[led[0]];
  88   1          delay_ms();
  89   1          
  90   1          P1|=0x0f;   //lit off all led
  91   1          P0=0xff;
  92   1          s2=0;
  93   1              P0=show[1];//table[led[1]];
  94   1          delay_ms();
  95   1          
  96   1          P1|=0x0f;   //lit off all led
  97   1          P0=0xff;
  98   1          s3=0;
  99   1          P0=show[2];//table[led[2]];
 100   1          delay_ms();
 101   1          
 102   1          P1|=0x0f;   //lit off all led
 103   1          P0=0xff;
 104   1          s4=0;
 105   1          P0=show[3];//table[led[3]];
 106   1          delay_ms();
 107   1      }
 108          // 蜂鸣器声音控
 109          void BellCtrl(unsigned char BellType)
 110          {
 111   1              switch (BellType)
 112   1              {
 113   2                      case BT_OFF:    // 关闭声音
 114   2                      
 115   2                              Bell = 1;
 116   2                              BellCount = 0;
C51 COMPILER V8.02   TEXT1                                                                 06/10/2008 21:23:11 PAGE 3   

 117   2                              break;
 118   2                      case BT_BUTTON: // 按键声音
 119   2                              if (BellCount > 0)
 120   2                              {
 121   3                                      -- BellCount;
 122   3                                      Bell = 0;
 123   3                                      Wait8us
 124   3                                      Bell = 0;
 125   3      
 126   3                              }
 127   2                              else
 128   2                              {
 129   3                                      Bell = 1;
 130   3                                      BellType = BT_OFF;
 131   3                              }
 132   2                              break;
 133   2                      case BT_WARN:   // 提示2声
 134   2                              if (BellCount > 0)
 135   2                              {
 136   3                                      if (BellCount > 150)
 137   3                                              Bell = 0;
 138   3                                      else if (BellCount > 100)
 139   3                                              Bell = 1;
 140   3                                      else if (BellCount > 50)
 141   3                                              Bell = 0;
 142   3                                      else
 143   3                                              Bell = 1;
 144   3                                      -- BellCount;
 145   3                              }
 146   2                              else
 147   2                              {
 148   3                                      Bell = 1;
 149   3                                      BellType = BT_OFF;
 150   3                              }
 151   2                              break;
 152   2                      default:break;
 153   2              }
 154   1      }
 155          // 蜂鸣器
 156          void BellSet(unsigned char type)
 157          {
 158   1              switch (type)
 159   1              {

⌨️ 快捷键说明

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