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

📄 inter.c

📁 一体化锁主程序
💻 C
字号:
#include "KKZQ.H"

//
//=====================================================================================
//                  RAM资源
//   占用 17 个字节
//                       rcard_buf[6]      6个字节        卡号接收缓冲区
//                       time_100ms_count  1个字节        100ms计数器
//                       time_500ms_count  1个字节        500ms计数器
//                       time_2s_count     1个字节        2s计数器
//                       byte_num          1个字节        韦根通讯用
//                       length            1个字节        接收到韦根通讯计数器
//                       watch_car_time    1个字节        韦根监视器计数器
//uchar idata oplock_on_time;               //程序使用的开锁继电器持续导通时间
//uchar idata slock_on_time;                //开锁继电器持续导通时间
//uchar idata sopen_wait_time;              //开门后等待时间 (即延迟关门时间)
//idata uchar opopen_wait_time;             //程序使用的开门等待进入时间
//idata uchar set_input_reg;                //设置的信号采集方式及监控方式寄存器
//===================================================================================
//               EEPROM    地址分配
//   0x0000  -  0x1000        256 x 16字节  用户信息存储区 最大250个用户信息  占用64页 EEPROM
//   0x1000  -  0x3000        512 x 16字节  事件存储区 (最多存储512事件)      占用128页EEPROM
//   0x3000  -  0x3040        4   x 16字节  工作日准进时段  (4张表格 每个表格对应4个准进时段,一张表格占用16个字节)
//   0x3040  -  0x3050        1   x 16字节  非工作日准进时段(1张表格     表格对应4个准进时段,一张表格占用16个字节)
//   0x3080  -  0x3e80        16 x 7 x 32   星期准进时段-->对应16张表格   每个表格包含7天(星期一 --- 星期日)
//                                                                        每天包含6个准进时段 每个时段4个字节
//                                                                        (每天的时段24个字节,占用EEPROM半页)
//   0x3e80  -  0x3f80        2 x  128     节假日时间存储区(最多保存128个假日)  每个节日占用2个字节 xx:yy   xx 月  yy 日

//
//   0x3fc0  -  0x3fc1        刷卡器用户数量
//   0x3fc2  -  0x3fc3        休息日设定存储区    每星期2天
//   0x3fc4                   门锁继电器执行时间  最大25.6秒
//   0x3fc5                   开门后延迟时间  最大25.6秒
//   0x3fc6  -  0x3fca        历史事件计数器,当前历史纪录序号存储区 5个字节
//   0x3fcb                   节假日天数计数器


//code uint rest_addr          = 0x3fc2;    //休息日EEPROM存储区首地址
//code uint relay_time_addr    = 0x3fc4;    //继电器通电时间寄存器EEPROM存储区地址
//code uint wait_time_addr     = 0x3fc5;    //延时关门时间寄存器EEPROM存储区地址
//code uint holiday_count_addr = 0x3fcb;



//==============================================================================
//filename : time_0
//功    能 : 定时器0中断处理程序,定时时间 10ms
//           1.  监视读卡完毕时刻, 如果读卡器在30MS时间内不再有新脉冲出现
//               认为读卡结束
//           2.  监视通讯是否中断, CPU 与上位机链路接通处于接收数据状态,
//               如果 30MS 时间内不再有新脉冲出现,认为掉线,停止接收
//           3.  同步键盘去抖
//==============================================================================
//
void time_0(void) interrupt 1 using 2
{
    TL0=0xb0; TH0=0xdc;
    if(rec_flag)
    {   if(--com_time==0)
        {   rtxd_pin=1;
            rec_flag=0;
            sed_num=1;
            SBUF=rxd_buf[0];
        }
    }
}

⌨️ 快捷键说明

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