概述:该芯片内置计算单元,集成指纹识别算法,可以高效、快速地采集图像并识别指纹特征。 该模块配备串行通讯接口。 用户无需学习复杂的图像处理或指纹识别算法。 您可以根据通讯协议通过简单的串口对模块进行控制。 您的指纹已成功输入。
目录
1. 硬件使用分类
1.显示整张图片
2 STM32F103RCT6 微控制器
3.AS608指纹模块
4. USB 转 TTL
2.软件设计
1. 接线设计
2.编程
1.硬件使用分类 1.整幅图像显示
使用STM32F103RCT6作为主控制器
2. STM32F103RCT6 微控制器
STM32F103RCT6 不包含 USB 转 TTL 芯片,因此需要外部访问,下图是 STM32F103RCT6 原理图。 p>在RCT6上,PA9和PA10是板上的USART1,这些引脚在原理图中看不到“text-align:center;">
下面是USART1的初始化程序设计。项目中
void uart_init(u32bound){ //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure ; RCC_APB2PeriphClockCmd (RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE) ;//使能USART1、GPIOA时钟//USART1_TX GPIOA.9 GPIO_InitStructure .GPIO_引脚9; //pa.9 gpio_initstruct.gpio_speed = gpio_speed_50MHz; gpio_initstruct.gpio_mode = gpio_mode_af_pp; IoA, & gpio_initstruct); //usart1_rx gpioa.10 gpio_initstruct.gpio_p in = GPIO_Pin_10;//PA10 GPIO_In它的结构。 GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.101 NVIC设置 NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStru cture.NV IC_IRQChannelPreemptionPriority=3;//抢占优先级3NVIC_Init Structure.NVIC_IRQChannelSubPriority = 3;//子优先级3 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能IRQ通道 NVIC_Init(&NVIC_InitStructure);//根据指定参数配置VIC寄存器 //USART初始化设置 USART_InitStructure .USART_BaudRate =bound;//串口波特率 USART_InitStructure.USART_WordLength = USART_WordLength_8b; //字长为8位数据格式USART_InitStructure.USART_StopBits = USART_StopBits_1; //1 个停止位 USART_InitStructure.USART_Parity = USART_Parity_No; //无奇偶校验位 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //无硬件数据流控制 USART_InitStructure.USART_Mode = USART_Mode_Rx | ; // 收发模式 USART_Init ( USART1, &USART_InitStructure); //初始化串口1 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //打开串口并接受中断 USART_Cmd(USART1, ENABLE); //使能串口1 }
程序段中上图可以清楚的看到PA9和PA10都有。 PA9 为 TX,PA10 为 RX。
3.AS608指纹认证模块
AS608指纹认证模块是ALIENTEK推出的高性能光学指纹认证模块。 AS608模块采用国内著名指纹识别芯片公司杭州思诺芯的AS608指纹识别芯片。 该芯片集成了DSP计算单元的指纹识别算法,能够高效、快速地采集图像并识别指纹特征。 该模块配有串口和USB通信接口。 用户无需学习复杂的图像处理或指纹识别算法。 您可以通过简单的串口和USB通信协议来控制模块。 该模块可应用于各种考勤机、保险柜、指纹门禁系统、指纹锁等。 AS608的具体参数为:
供电电压3.3V(不要使用5V)电源电流 < 60mA 指纹图像输入时间 < 1 秒 搜索时间 < 1.0 秒(1:500,平均) 可输入指纹数量 300 通讯接口 USB/USART 验证方式 比较法(1:1)、搜索法( 1:N)
注意! ! ! AS608指纹模块不需要接5V,必须接3.3V。
注意! ! ! AS608指纹模块不需要接5V,必须接3.3V。
注意! ! ! AS608指纹模块不需要接5V,必须接3.3V。
不信你试试(如果你有钱就完全跳过这篇文章)
下2两张图pin AS608指纹模块的描述。
不支持 D+ 和 D-。 即使您想连接也可能无法连接。 不管怎样,这两根线都缺针了。
第5线(蓝线)是输出引脚。 毕竟,每个模块只是一个开关,但开关的激活方式不同。
4. USB 转 TTL
我不会对此进行过多介绍。 这些都是常用的。
2. 软件设计 1. 接线设计
AS608 指纹模块与单片机接线
VCCGNDTX RX TCHUA 3.3VGNDPA3PA4PA63.3V
USB 转 TTL 与单片机接线
VCCGNDTXRX5VGNDRX (PA10)TX (PA9)
RCT6 中标记的是 TX 和 RX。 事实上,它们是微控制器上的 PA10。 PA9上面已经解释过了,这里不再赘述。
2、编程
程序按照正点原子的流程进行修改,使用串口进行操作。
对于AS608指纹模块,必须首先执行以下步骤: 握手。 简而言之,只需通过发送特定的十六进制数据来连接单片机和模块即可。
printf("AS608 指纹模块串口操作/r/n");printf("作者:Shili Chenghuan-/r/n");printf("尝试连接 AS608.../ r/ n");while(PS_HandShake(&AS608Addr))//与AS608模块握手{printf("AS608未连接!/r/n");lay_ms(1000);printf("再次连接尝试....../ r /n");delay_ms(1000); }//模块连接成功并初始化 printf("连接成功!!/r/n");str= mymalloc(30);sprintf(str,"波特率:%d address:%x",usart2_baund,AS608Addr); //显示波特率 printf("%s",str);lay_ms(100);
手摇过程中
1. 传出头:即0XEF、0X01
2. 发送地址:AS608 的默认地址是0XFFFFFFFF。
3.发送0X01、0X00、0X00,等待AS608响应,并比较响应数据。 握手完成
// 与AS608握手 PS_HandShake // 参数:PS_Addr地址指针 // 说明:模块返回新地址(正确地址) u8 PS_HandShake(u32 *PS_Addr){SendHead();MYUSART_SendData (0X01) );MYUSART_SendData(0X00);MYUSART_SendData(0X00);lay_ms(200);if(USART2_RX_STA&0X8000)//收到数据{if(//判断是否是响应包 USART2_RX_BUF[0]==0XEF&&USART2_RX_BUF[1 ]=返回模块=0X01&&USART2_RX_BUF[6]==0X07){*PS_Addr=(USART2_RX_BUF[2]
评论前必须登录!
注册