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

📄 system.h

📁 一体化锁主程序
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
+---------------------------------------------------+
| Project: SYSTEM with STC89C5X                     |
| File:    SYSTEM.H                                 |
| Version: V 1.0                                    |
| Initial Editor: Li Jifeng                         |
+---------------------------------------------------+
| following environments are supported              |
| Processor: STC89C5X                               |
| Compiler: WAVE V                                  |
| hardware: JF-2008                                 |
+---------------------------------------------------+
|    Copyright (C) JF Ltd, 2008                     |
|       All Rights reserved                         |
+---------------------------------------------------+
| 功能简介: the system header file                  |
+---------------------------------------------------+
*/

#ifndef SYSTEM_HEADER_FILE
#define SYSTEM_HEADER_FILE 1

#include "C:\comp51\Atmel\STC89C5X.H"

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <intrins.h>
#include <math.h>
#include <ABSACC.H>

sbit TR  = P2^2;

sbit MCLK = P1^2;
sbit SCLK = P1^0;
sbit SDA  = P1^1;

sbit I2C_SCK  = P2^0;  //24c128  6脚
sbit I2C_SDA  = P2^1;  //24c128  5脚

//sbit  ready       = P1^2;   //=0,读卡器CPU准备好通讯数据等待读取
//sbit  dt1         = P1^0;   //与读卡器CPU通讯用的数据线
//sbit  dt0         = P1^1;   //与读卡器CPU通讯用的时钟线

sbit  DST_CLK     = P3^5;         //DS1302 --->7
sbit  DST_IO      = P3^6;         //DS1302 --->6
sbit  DST_RST     = P3^7;         //DS1302 --->5

sbit  relay       = P2^4;

sbit  LED         = P4^2;         //LED


typedef unsigned char UINT8;                          //无符号8位
typedef unsigned int  UINT16;                         //无符号16位
typedef unsigned long ULONG32;                        //无符号32位
typedef bit bool;                                     //位

typedef	union                                  //定义2字节共用体
{
   UINT8 whole[16];
   struct
   {
      UINT8 card[5];
      UINT8 ID[4];
      UINT8 password[2];
      UINT8 time_limit[4];
      UINT8 purview;
   }class;
}user;

typedef	union
{
   UINT8 whole[2];
   UINT8 holiday[2];
}festa;

extern  idata UINT8 sys_second;                  //系统时间 秒
extern  idata UINT8 sys_min;                     //系统时间 分
extern  idata UINT8 sys_hour;                    //系统时间 时
extern  idata UINT8 sys_date;                    //系统时间 日
extern  idata UINT8 sys_mon;                     //系统时间 月
extern  idata UINT8 sys_week;                    //系统时间 星期
extern  idata UINT8 sys_year;                    //系统时间 年

/*typedef union ll_buf                                //定义4字节共用体
{
   UBYTE8  buf[4];
   ULONG32 whole;
}ll_buf;

typedef	union yy_buf                                  //定义2字节共用体
{
   UBYTE8  buf[2];
   UWORD16 whole;
}yy_buf;

union TIMER_COUNTER
{
   UWORD16 HWORD;
   struct
   {
      UBYTE8 HI;
      UBYTE8 LO;
   }BYTES;
};

typedef	union
{
   unsigned int wd;
   struct
   {
      UBYTE8 bh;
      UBYTE8 bl;
   }bytes;
}WordType;

typedef	union
{
   ULONG32 lwd;
   struct
   {
      WordType wd1;
      WordType wd0;
   }words;
}Longtype;

typedef union
{
   UWORD16 SPWM_DATA;
   struct
   {
      UBYTE8 SP_addr;  //地址
      UBYTE8 SP_data;  //数据
   }SPWM_DATA_ADDR;
}Control_word;*/

//#define ENABLE 1                                    //使能为1
//#define DISABLE 0                                   //反之为0

//#define SET 1                                       //设置为1
//#define CLEAR 0                                     //清除为0

//#define TRUE 1                                      //真为1
//#define FALSE 0                                     //假为0

#define BOTTOM  0
#define  MAXLEN  0x1FF

#define FOSC 11059200                                 //晶振11.0592M

/*定时器0*/
/* 工作方式0,13位定时器,晶振11.0592M,最大定时时间8.88mS
#define TMOD_VALUE0 0x00                              //GATE=0,C/T=0,M1=0,M0=0;
#define T0_TIME 5                                     //定时时间5mS
#define T0_VALUE (0x2000-(FOSC/12 * T0_TIME/1000))    //定时计算器0基数
#define TH0_VALUE ((T0_VALUE>>5)&0x00FF)              //右移五位,将T0_VALUE高八位给TH0_VALUE
#define TL0_VALUE ((T0_VALUE<<3)&0x00FF)              //左移三位,将T0_VALUE低五位给TL0_VALUE*/
/* 工作方式1,16位定时器,晶振11.0592M,最大定时时间71.11mS       */
#define TMOD_VALUE0 0x01                              //GATE=0,C/T=0,M1=0,M0=1;
#define T0_TIME 50                                    //定时时间50mS
#define T0_VALUE (0x10000-(FOSC/12 * T0_TIME/1000))   //定时计算器0基数
#define TH0_VALUE ((T0_VALUE>>8)&0x00FF)              //右移八位,将T0_VALUE高八位给TH0_VALUE
#define TL0_VALUE (T0_VALUE&0x00FF)                   //将T0_VALUE低八位给TL0_VALUE
/* 工作方式2,8位自动重装定时器,晶振11.0592M,最大定时时间276uS
#define TMOD_VALUE0 0x02                              //GATE=0,C/T=0,M1=1,M0=0;
#define T0_TIME 250                                   //定时时间250uS

⌨️ 快捷键说明

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