📄 comm.h
字号:
/* IC卡加油机键盘通讯子模块头文件 */
#include "c:\comp51\reg52.h"
#include "c:\comp51\absacc.h"
#include <intrins.h>
/* 外部地址分配 */
#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 idata sjback[6];
extern unsigned char xdata flash[200];
extern unsigned char idata kaohao[9];
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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -