📄 h4100.h
字号:
/******************************************************************************************************
* Copyright (c) 2003,深圳威利姆
* All rights reserved.
*
* ID 卡读卡模块程序!
*-------------------------------------------------------------------------------------------------
* 当前版本:2.1.2
* 作 者:陈兆红
* 完成日期:2005年10月15日
************************************************************************************************
* 文件名称:h4100.h
* 摘 要:实现H4100 ID卡的读卡,实现Manchester码的解码。载波125KHz,64分频
* 卡信息的头如下:上一个的停止位为“0”,然后是9个“1”。(从读卡模块得到的是反相数据)
*
* Stop bit |<------------------------------- Head bit ------------------------------------>|
*
* 0 1 1 1 1 1 1 1 1 1
* _________ ____ ____ ____ ____ ____ ____ ____ ____
* | | | | | | | | | | | | | | | | | |
* ^ V | V | V | V | V | V | V | V | V
* | | | | | | | | | | | | | | | | | |
* ----- ------ ------ ------ ------ ------ ------ ------ ----- ------
*
* 1. 检测上升沿,
* 2. 检测是否有2位宽度的高电平,如果不是,转1
* 3. 检测是否有9个“1”,如果不是,转1
* 4. 接受数据
* 5. 检查校验是否正确,如果不是,转1,重试19次
* 6. 结束
*
*
******************************************************************************************************/
#ifndef __H4100_H
#define __H4100_H
//Timer0 计时初值,计时长度应该比一位曼码长度略短
#define TCNT0_15BIT 211 //77
#define TCNT0_1BIT 217 //100
//管脚定义
/*#define RF_DATA (PIND&0x20)
#define RF_DIR0 DDRD &=~0x20
#define RF_DIR1 DDRD |= 0x20
#define RF_CFE0 PORTB &= 0xfe
#define RF_CFE1 PORTB |= 0x01
*/
#define RF_DATA GET_BIT(PIND,3)
#define RF_DIR0 CLR_BIT(DDRD,3)
#define RF_DIR1 SET_BIT(DDRD,3)
#define RF_CFE0 SET_BIT(DDRD,4);CLR_BIT(PORTD,4)
#define RF_CFE1 SET_BIT(DDRD,4);SET_BIT(PORTD,4)
#define RF_EN RF_CFE0
#define RF_CLR RF_CFE1
#define DIS_TIMER0 CLR_BIT(TIMSK,TOIE0)
#define DIS_TIMER1 CLR_BIT(TIMSK,TOIE1)
//函数声明
//uchar Search_Card( uchar* CardID);
//uchar Get_Time_Rang(uchar periods);
//signed char StrCmp(uchar *str1, uchar *str2);
//void Card_Process(uchar *CardID);
#endif
/*****************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -