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

📄 ceshi.lst

📁 电能表误差测试仪的代码.为c语言编写.实现测量实时保存功能.
💻 LST
字号:
C51 COMPILER V7.50   CESHI                                                                 06/15/2008 22:04:15 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CESHI
OBJECT MODULE PLACED IN ceshi.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ceshi.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "PL3105.h"
   2          
   3          #define uchar unsigned char
   4          #define uint  unsigned int
   5          
   6          /*常量定义*/
   7          #define  CHECK_TIME  1000   //5秒钟
   8          #define  PULSE_DZ_CN 3    //待测表收到PULSE_DZ_CN个脉冲后,显示误差
   9          #define  PULSE_JX_CN 3    //机械表收到PULSE_JX_CN个脉冲后,显示误差
  10          
  11          //写24XX不同空间的地址指令
  12          #define  WR_2402    0xA0         // 24空间0-2K 不受保护的低半部分
  13          #define  WR_2404    0xA2         // 24空间2-4K 受保护的高半部分
  14          
  15          
  16          
  17          /****** I/O 口设置 ********/
  18          
  19          sbit  pulse_bz_input  = P1^5;    //标准表脉冲采样
  20          sbit  pulse_dc_input  = P1^6;    //待测表脉冲采样                
  21          sbit  beep            = P1^4;    // 峰鸣器驱动                
  22          sbit  relay           = P1^7;    // 继电器驱动
  23          sbit  lamp            = P1^0;    // 调试时用的指示灯
  24          sbit  S_Clk           = P1^2;                     // FM24C04的时钟口
  25          sbit  S_Dat           = P1^3;                     // FM24C04的数据口
  26          
  27          
  28          uchar data   pulse_bz_pb;  //标准表脉冲判别
  29          uchar data   pulse_dc_pb;  //待测表脉冲判别
  30          
  31          uchar data   pulse_bz_flag;  //标准表脉冲标志
  32          uchar data   pulse_dc_flag;  //待测表脉冲标志
  33          uchar data   clear_flag; //
  34          
  35          uint  data   pulse_bz_cn;  //标准表脉冲计数器
  36          uint  data   pulse_dc_cn;  //待测表脉冲计数器
  37          uint  data   pulse_bz_time;  //标准表脉冲计时
  38          uint  data   pulse_dc_time;  //待测表脉冲计时
  39          uint  data   pulse_bz_t;  //标准表脉冲临时计时
  40          uint  data   pulse_dc_t;  //待测表脉冲临时计时
  41          uchar data   check_t_num;
  42          
  43          uchar data  an_start_flag;    //
  44          uchar  data  key_const_reg;     //
  45          uchar  data  key_save_reg;     //
  46          uchar  data  reset_flag;
  47          uchar  data  key_stop_flag;
  48          uchar data  check_step;    //
  49          uint  data  check_time;     //
  50          uchar data  error;          //检查脉冲时出错
  51          uchar data  check_pulse;       //检查脉冲
  52          uchar data  sign_flag;           //+-符号,数码显示用
  53          uchar data  showing;        // 当前表常数正在显示.0隐藏
  54          uchar data  const_num;
  55          
C51 COMPILER V7.50   CESHI                                                                 06/15/2008 22:04:15 PAGE 2   

  56          uchar data   current_flash_cn; //当前数码管闪烁的位置。
  57          uchar data   time3;         //
  58          uchar data   flash_stop;       //消除在设置常数时闪烁位为隐藏状态。
  59          uchar xdata   led_show_list[6];//数码管显示的数据 译码后的数据。
  60          uchar xdata   led_show_buf[6];
  61          uchar xdata   user_id[6];
  62          uchar xdata   user_wc[6];
  63          uchar xdata   time_reg[7];
  64          uchar xdata   constant_mtr[6]; //电表常数,BCD码中的个位十位百位千位。
  65          uchar data  constant_cn;     //电表常数的排序位置。
  66          uchar data  flashing_time;   //设置常数时数码管闪烁定时器
  67          uchar bdata flashing_con;    //设置常数相关的位组合
  68          sbit  flashing_pb=flashing_con^0; 
  69          sbit  have_pulse= flashing_con^1;  //待测表有脉冲。数码管动态显示有脉冲 
  70          sbit  FM24_Bit  = flashing_con^2;  //
  71          uchar data have_pulse_cn;             //待测表有脉冲循环计数,用于数码管动态显示有脉冲
  72          uchar data beep_time;             //响铃时间。
  73          uchar data beep_time2;             //响铃时间2。
  74          
  75          uchar data  led_show_flag;   //可刷新数码管显示的标志   
  76          uchar data  key_cn;          //按键按下的时间(5毫秒的倍数)
  77          uchar data  key_time;        //按键屏蔽时间
  78          //uchar data  flash_flag;      //闪灯标志 
  79          //uchar data  flash_cn;        //闪灯计数器
  80          //uchar data  flash_time;      //闪烁节奏定时器
  81          uchar data  hello_flag;
  82          uchar data  Timer_RS_2;        //
  83          uchar data  save_eff_flag1;
  84          uchar data  save_eff_flag2;
  85          
  86          uchar data  watchdog_reset; //看门狗可清标志
  87          
  88          uchar data   constant_all_flag;  //='A'可以显示常数。
  89          uchar data   constant_showing;  //='S'当前正在显示常数
  90          uchar xdata  read_buf[16];                   // 读取FM24时用的中间缓冲区
  91          uchar xdata  write_buf[16];                  // 写入FM24时用的中间缓冲区
  92          uchar xdata  constant_all[60];               // 10个常数
  93          uchar data   save_num;
  94          
  95          uint  data   Timer_RS_3;
  96          uint  data   Timer_RS;                              // 232发射/接收定时器
  97          uchar data   RS_Re_OK;
  98          uchar data   RS232_State;                       // RS232接收过程标志:
  99          uchar data   RS232_Pointer;                 // RE_232 BUF数据指针
 100          //uchar data   RS232_Add_Len;                 // RE_232 规约中地址部分的长度
 101          uchar data   RS232_Data_Len;                // RE_232 规约中数据部分的长度
 102          uchar data   RS232_Data_CRC1;                // RE_232 规约中的校验和
 103          uchar data   RS232_Data_CRC2;
 104          uchar xdata  RS232_buf[60];                 // Com1中断所接收的数据(RS232数据)
 105          uchar xdata  RS232_buf_bak[60];             // Com1中断所接收的数据(RS232数据)备份
 106          //uint  data   Timer_RS_Answer;                         // RS232应答时间
 107          
 108          uchar xdata  Send_RS232[60];            // Com1中断所发射的数据(RS232数据)
 109          uchar xdata  Send_RS232_SELF[60];           // 发送232数据缓冲区,自检用

⌨️ 快捷键说明

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