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

📄 alarm.lst

📁 单片机程序代码,经过很详细的测试.呵呵,硬件相关.
💻 LST
字号:
C51 COMPILER V7.50   ALARM                                                                 03/10/2006 16:35:32 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE ALARM
OBJECT MODULE PLACED IN alarm.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE alarm.c LARGE OPTIMIZE(9,SIZE) BROWSE NOAREGS DEBUG OBJECTEXTEND

line level    source

   1          #include <REG54.H>
   2          #include "rc7820.h"
   3          #include "rc7860.h"
   4          #include "f2rc7820.h"
   5          #include "f2rc7860.h"
   6          #include "se0111.h"
   7          #include "se0121.h"
   8          #include "cmd_para_save.h"
   9          
  10          extern unsigned long int xdata commandid;                               //表示命令代码的变量
  11          extern unsigned char f2rc7820_rd(unsigned char f2addr) large reentrant;
  12          extern unsigned char f2rc7860_rd(unsigned int f2addr) large reentrant;
  13          extern void f2rc7860_wr(unsigned int f2addr,unsigned char value) large reentrant;
  14          extern unsigned char se0111_reg_rd(unsigned char Haddr,unsigned char Laddr,unsigned char slot);
  15          extern unsigned char se0121_reg_rd(unsigned char Laddr,unsigned char slot);
  16          extern unsigned char get_clock_state(unsigned char clksource);
  17          extern void SetResRdyTbl(unsigned char prio) large reentrant;
  18          extern unsigned char GetResRdyTbl(unsigned char prio) large reentrant;
  19          extern unsigned char xdata tx_buf[];
  20          extern unsigned char xdata tx_buf_pointer;
  21          extern bit tx_done;
  22          extern unsigned char xdata start_flg[4];
  23          extern unsigned char xdata start_flg_EOS[4];
  24          extern unsigned char xdata board_type[4][2];    //定义插盘类型数组,第一位表示槽号,第二位表示盘号
  25          extern unsigned char xdata clk_source;
  26          extern unsigned char xdata timeslot_2M[3][21];                          //2M时隙配置标志位,1表示配置时隙,0表示该时隙删除
  27          
  28          unsigned char xdata LOS_TU_2M[3][21];                                                           //硬件电路检测的支路信号LOS
  29          unsigned char xdata int_alarm[4][4] = {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
  30          //保存中断告警数组,行表示某光口,列表示该光口的告警值
  31          unsigned char xdata check_alarm_mcb[5] = {0,0,0,0,0};                           //查询MCB盘的其他非中断告警
  32          unsigned char xdata check_alarm_otb[3] = {0,0,0};                                       //查询OTB盘的其他非中断告警
  33          unsigned char xdata check_alarm_2M[3][21][2] = {{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,
             -0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{
             -0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}
             -,{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}};
  34          //保存2M盘告警数组,[3]表示3个2M盘,[21]表示21个支路,[2]表示告警值
  35          unsigned char xdata frame_flg_before[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};     //告警标志位,一秒前的
  36          unsigned char xdata frame_flg_work[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};       //告警标志位,当前一秒的
  37          unsigned char xdata check_alarm_Eos[3][3] = {{0,0,0},{0,0,0},{0,0,0}};
  38          //保存Eos盘的告警数组,第一个[3]表示3个Eos盘,后一个[3]表示告警的内容
  39          unsigned char xdata frame_flg_before_eos[3] = {0,0,0};
  40          unsigned char xdata frame_flg_work_eos[3] = {0,0,0};
  41          
  42          void get_2M_reg(unsigned char tnum,unsigned char addrh1,unsigned char addrl1,unsigned char addrh2,unsigned
             - char addrl2,unsigned char slot){
  43   1      //取2M盘的告警寄存器值存入数组,tnum表示支路号,slot表示2M盘号
  44   1              if (timeslot_2M[slot][tnum]){
  45   2                      check_alarm_2M[slot][tnum][0] = se0111_reg_rd(addrh1,addrl1,slot + 1) & 0xCC;   //得到2M盘支路1的AIS、LOP

⌨️ 快捷键说明

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