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

📄 comm.h.bak

📁 这是我在我们公司做的C51加油单片机程序
💻 BAK
字号:
/* IC卡加油机键盘通讯子模块头文件 */

#include "c:\comp51\reg52.h"
#include "c:\comp51\absacc.h"
#include <intrins.h>
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned char uchar;
typedef unsigned long nlong;

/* 外部地址分配 */
#define     DIRECTION	XBYTE[0xc013]	// 数据传送方向控制寄存器,最低位控制方向,发送:1,接收:0
#define     SCL         XBYTE[0xc00B]
#define     SDA   P17
/* 全局数据定义 */

sbit	com_sda=P3^2;			// 串口数据线
bit	is_send;			// 发送/接收标志,1:发送,0:接收
bit	is_over;			// 接收结束标志,1:结束
bit	is_err;				// 奇/偶校验错标志,1:出错

unsigned char xdata	send_buf[256];	// 发送数据缓冲区
unsigned char xdata	rekk[256];	// 接收数据缓冲区
unsigned char data	com_cur;	// 指示当前发送位(共13位,1起始+8数据+1校验+3停止),由0~12指示
unsigned char data	com_tem;	// 发送:D0~D7存放:1起始位+d0~d6;接收:数据缓冲
unsigned char data	com_tem1;	// 发送:D0~D4存放:d7+1校验位+3停止位;接收:数据指针
unsigned char data 	com_limit;	// 接收:数据指针最大偏移量
unsigned char xdata    ack;
extern unsigned char idata comm_status;
extern unsigned char xdata flash[200];
extern unsigned char xdata second,minutes,hour,week,day,month,year;


/* 子函数说明 */
void com_delay();
	/* 等待数据接收完毕(最大延时等待20ms) */
void send(unsigned char offset,unsigned char len);
	/* 发送数据
	   offset:数据缓冲指针偏移量,len:要发送的数据长度 */
unsigned char recv(unsigned char offset,unsigned char len);
	/* 读取数据
	   offset:数据缓冲指针偏移量,len:要读取的数据长度
	   返回值 0:成功 1:奇偶校验错 2:超时 */

void dlu();
void Start_I2c();
void Stop_I2c();
void SendByte(unsigned char c);
unsigned char RcvByte();
unsigned char ISendStr(unsigned char sla,unsigned char suba,unsigned char no);
unsigned char IRcvStr(unsigned char sla,unsigned char suba,unsigned char no);
void Ack_I2c(bit a);
void settime();
void gettime();
unsigned int dw_zk(unsigned int qw);

void DES(unsigned char xdata Decrypt, unsigned char xdata *Key, unsigned char xdata *Data1, unsigned char xdata *Result );
void DES_setkey(unsigned char xdata sw,unsigned char xdata *pkey );
void DES_calcul(unsigned char xdata *in,unsigned char xdata *out);
void pack8(unsigned char xdata *packed,unsigned char xdata *binary);
void unpack8(unsigned char xdata *packed,unsigned char xdata *binary);
void T_DES(unsigned char xdata *KEY13,unsigned char xdata *KEY23,unsigned char xdata *source3, unsigned char xdata *target3);
unsigned char  xdata KS[16][48];




⌨️ 快捷键说明

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