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

📄 max134.lst

📁 数字万用表芯片MAX134的驱动,包括一些资料,知识源于网络
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   MAX134                                                                05/24/2007 12:05:40 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAX134
OBJECT MODULE PLACED IN .\新建文件夹\max134.obj
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE max134.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\新建文件夹\max134
                    -.obj)

line level    source

   1          /*the main programe structure*/
   2          /*****************************************
   3          *硬件连接定义:
   4          *MCU >>>>MAX134
   5          *P1.0>>>>A0
   6          *P1.1>>>>A1
   7          *P1.2>>>>A2
   8          *P1.3>>>>RD
   9          *P1.4>>>>D0
  10          *P1.5>>>>D1
  11          *P1.6>>>>D2
  12          *P1.7>>>>D3
  13          *P3.7>>>>WR
  14          *P3.3>>>>EOC
  15          ************************************/
  16          #include <stdio.h>
  17          #include <reg51.h>
  18          #include <math.h>
  19          #include "system_hssm.h"
  20          
  21            unsigned char  ge,shi, bai, qian, jiaozhun,cr0,cr1,cr2,cr3,cr4,FSCode=3,RangeCode=1;
  22            unsigned char  FSCodeM=0,RangeCodeM=0;
  23            char  RangeM,sp3;
  24            char  SelectF=0,SelectR=0;/*ControlCode=22;/*31;*/
  25            int   Y=0,eoc=0,temp=0,i=0,j=0,Rref,Radjust,ling_py;
  26            bit   pyfh,zong_fh; 
  27            int  Rx=0;
  28            void  rcm(),dcvm(),readbcd(),zeroc();
  29            sbit WR_134 = P3^7;
  30          
  31          
  32          void delay(void);
  33          //void delay1(void);
  34          void delay50ms();
  35          void EOCR();
  36          void MVF();
  37          void MRF();
  38          void MCF();
  39          void MDF();
  40          void MIF();
  41          void test_setting(void);
  42          void test_task(void);
  43          
  44          /*************************************
  45          *涵数名:test_setting();
  46          *涵数功能:根据键盘输入设置测试参数
  47          *并进行显示
  48          *KEY1 = TEST_FUNCTION -
  49          *KEY2 = TEST_FUNCTION +
  50          *KEY3 = TEST_RANGECODE-
  51          *KEY3 = TEST_RANGECODE+
  52          **************************************/
  53          void test_setting(void)
  54          {
C51 COMPILER V8.02   MAX134                                                                05/24/2007 12:05:40 PAGE 2   

  55   1       byte key;
  56   1       key=key_task();
  57   1       if(key!=0)
  58   1         {
  59   2          switch(key)
  60   2            { 
  61   3             case 1:
  62   3                 if(FSCode!=1)
  63   3                    {
  64   4                     FSCode--;
  65   4                     RangeCode=1;
  66   4                    }
  67   3                 break;
  68   3             case 2:
  69   3                 if(FSCode!=7)
  70   3                    {
  71   4                     FSCode++;
  72   4                     RangeCode=1;
  73   4                    }
  74   3                 break;
  75   3             case 3:
  76   3                 if(RangeCode!=1)
  77   3                    {
  78   4                     RangeCode--;
  79   4                    }
  80   3                 break;
  81   3             case 4:
  82   3                 if(RangeCode!=6)
  83   3                    {
  84   4                     RangeCode++;
  85   4                    }
  86   3                 break;
  87   3             default: 
  88   3                    break;    
  89   3            }
  90   2           sx_test_FS();             //UPdate disp
  91   2         }
  92   1        
  93   1      }
  94          
  95          
  96          /*************************************
  97          *涵数名:test_task();
  98          *涵数功能:根据设置的参数进行相应的测量
  99          *并并进行显示
 100          **************************************/
 101          void test_task(void)
 102          {
 103   1          P3&=0X7F;           //P3.7置零,写控制信号WD有效
 104   1              P1=0X68;            //在零地址写入6:开蜂鸣器,并将蜂鸣器的频率选择为4096HZ
 105   1              delay();            //延时
 106   1              P1=0X00;            //写入地址.开读并将地址和数据都设置成零,此是读写信号都有效 ???
 107   1              delay();            //延时
 108   1      
 109   1      
 110   1          if(FSCode==1||FSCode==2) //检测现在要执行的功能代号如果等于功能1和功能2就执行电压测量
 111   1           {
 112   2                //P3=0XF0; //控制继电器,形成电压测试电路
 113   2            MVF();    //调用电压测量涵数
 114   2            P1=0X3C;  //将读零操作置有效
 115   2                delay1();
 116   2                WR_134=0;
C51 COMPILER V8.02   MAX134                                                                05/24/2007 12:05:40 PAGE 3   

 117   2                delay1();
 118   2                WR_134=1;
 119   2                delay1();      //以上均为置读操作有效
 120   2            EOCR();    //读零转换结果
 121   2                if(Y>=6000)//如果读取的零偏移是负数
 122   2                   {
 123   3                               Y=10000-Y;   //解析出负数的绝对值
 124   3                               Y=65536-Y;   //将数据纠正成有符号的INT数据型的表示方法。
 125   3                               }
 126   2                 ling_py=Y; //储存正确的零偏移量
 127   2                 P1=0X1C;   //将读零操作置无效
 128   2                 delay1();
 129   2                 WR_134=0;
 130   2                 delay1();
 131   2                 WR_134=1;
 132   2                 delay1();  //以上为取消读零转换的操作,使其读输入的实际值    
 133   2                 //EOCR();    
 134   2                 EOCR();    //读取转换数据
 135   2             if(Y>=6000) //检测读出的数据是不是负数,如果是负的数,就解析对应的绝对值并表示成INT类型的有符号数
 136   2                           {
 137   3                           Y=10000-Y;
 138   3                               Y=65536-Y;   //将数据纠正成有符号INT数据型的表示方法。
 139   3                               }
 140   2             Y=Y-ling_py;
 141   2             if(Y<0)
 142   2                               {
 143   3                   zong_fh=1;
 144   3                   Y=65536-Y;   //将有符号数据转换成无符号数据以便于后面的显示转换。
 145   3                               }
 146   2             else
 147   2                   zong_fh=0;
 148   2      
 149   2      }
 150   1      
 151   1      //----------------------------------------------------------------------------------------------
 152   1               else if(FSCode==3)
 153   1             {
 154   2                      //P3=0XF9;       //前端形成电阻测量电路//
 155   2              //P3=0XE9;
 156   2              //delay();
 157   2      
 158   2              

⌨️ 快捷键说明

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