【资料分享】基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告、基于51单片机和MAX1898的智能手机充电器设计

1661[毕设课设]基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告

摘 要

随着科学技术的不断发展带动着电子行业的地位越来越重,现在电子产品几乎在社会的各个领域都可以见到。这些技术的发展有效的带动着社会生产力的发展和信息化的提高,同时电子产品也越来越智能。

指纹识别技术作为生物识别技术研发的开端,并且得到了广泛的应用,在我们日常生活中随处可见,最常见的就是如今的手机指纹解锁。这种指纹识别技术能够识别独一无二的指纹特征,从而确定主人的身份,相对传统采用RFID刷卡的方式考勤这种指纹识别的系统可以避免替打卡的特点。

关键词:51单片机;指纹识别;液晶显示

2 系统硬件方案选择

本章节主要介绍系统所用到的器件的选择与对比,进行综合的对比考虑选择出最适合本设计的一组方案。

2.1 硬件方案的选择

在硬件电路的搭建之前必须明确设计的方案,通过各个模块之间进行比较选择出最适合本设计的硬件,以发挥器件的最大功效。

2.1.1 主控芯片的选择

方案一:

采用STC89C52单片机作为主控芯片。STC89C52是宏晶科技公司生产的一款低功耗、高性能的八位CMOS微处理器,片内具有8k在线编程Flash存储器。STC89C52单片机的内核采用的是MCS-51内核,指令完全兼容MCS-51,但是该单片机越做了升级使得芯片具有很多传统的51单片机不具备的功能,例如该芯片还有4K的EEPROM存储,在需要使用到掉电存储数据的时候就可以直接使用单片机内部的存储,不在需要在外接存储芯片进行存储。STC89C52单片机具有的开发简单、可在线编程下载、成本低是非常不错的选择。

方案二:

采用MSP430单片机作为主控芯片。MSP430单片机称之为混合信号处理器,它可以将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。该系列单片机多应用于需要电池供电的便携式仪器仪表中。而却开发难度相对比较大、价格昂贵。所以在一些简单的设计中不宜采用。

方案三:

采用PIC16F877A单片机作为主控芯片。PIC16F877A是由Microchip公司所生产开发的新产品,属于PICmicro系统8位单片机微机,具有Flash程序内存功能,可反复擦写程序。但是开发成本高,难度相对大。

综合上述的描述,考虑到资源的合理利用和成本以及开发的难易程度最终决定采用宏晶科技的STC89C52单片机作为主控芯片。

2.1.2 指纹模块的选择

采用AS608指纹识别模块,AS608指纹识别模块内部含有高速DSP处理能够实现对指纹的采集与识别,单片机与该模块之间采用常见的串口通讯协议,这样使得设计变得简单。通过串口能够控制指纹的采集,识别,删除,添加等操作。

/*************************************************************
                         指纹考勤系统

补充说明:
***************************************************************/
#include<reg52.h>            //头文件
#include<LCD12864.h>
#include<AT24C02.h>
#include<KEY.h>
#include<AS608.h>
#include<DS1302.h>

#define uchar unsigned char    //宏定义
#define uint unsigned int
#define ulong unsigned long

#define AT24Cxx_MAX 255//AT24Cxx最大地址
#define MAX 34         //指纹最大数量

#define ID_MAX 3 //输入ID最大位数

/*****************变量定义*********************/
uchar mode=0;    //0正常打卡,1管理界面,2注册模式,3删除模式
                 //4查询模式,5修改密码,6校准时钟,7工作时间

uchar mode_num=0;

uint ID=0;          //存储输入编号ID
uchar n=0;         //输入的位数
bit zhiwen_f=0;     //1=标记进入指纹采集
uchar chaxun_num=0;//查询编号

uchar a;         //存储按键值
uchar num;         //记录输入的密码位数
bit   in_f;         //输入密码的标志
bit   reset_f;     //重设密码的标志
bit   input_f;     //六位密码按完的标志
uchar reset_num; //标记修改密码阶段,=1输入旧密码,=2输入新密码,=3再次输入新密码

ulong low_mima=0;//系统密码
ulong in_mima=0; //暂存输入的密码
ulong new_mima=0;//暂存输入新密码

uchar set_f=0;     //设置选择变量
uchar temp[5]="    \0";//显示暂存变量 
uint fen[5]={0}; //存储工作时间
uchar date=0;    //0今天,1昨天,2前天
uchar day[2];     //记录查询的日期

1660[毕设课设]基于51单片机和MAX1898的智能手机充电器设计

本设计以单片机89C51为核心,并采用锂电池的智能管理芯片MAX1898对充电过程进行智能控制,并结合6N137光耦芯片对电池进行充满断电的方式进行保护。并且采用ADC0832模数转换芯片结合LCD1602液晶显示屏显示充电电压状态,加入SIM300模块,在充满电时为使用者发送充满信息。本帖包含设计的全部资料,包括对主控模块的效果进行Proteus模拟仿真,Altium设计出总原理图,并由原理图设计PCB图。

此体系的硬件设计包含以单片机89C51和充电芯片MAX1898为主要的控制的模块,SIM300模块是系统中发送短信息的模块。其它硬件部分包括电源转换部分、由ADC0832为核心的电压采集模块、6N137光耦控制模块、LCD1602显示模块等。软件设计包括主程序、读取电压子程序、显示数据子程序、SIM300信息收发信息程序。

1661[毕设课设]基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告

1660[毕设课设]基于51单片机和MAX1898的智能手机充电器设计

文章转自电设屋,完整资料百度网盘下载地址:百度网盘 www.aiesst.cn/share.html


单片机学习建议

1.学习前提

单片机是需要与程序打交道的,这个需要您先掌握很基础的C语言知识,即便我们讲解程序的执行过程尽量详细,但对于没有任何C语言知识基础的同学来说这将是举步维艰的。

所以您必须掌握以下最基本的知识

1.数据类型

2.十六进制,十进制,二进制之间的转换

3.程序的运行顺序

4.if,else,while,for,switch等语句

没有C语言基础的同学请提前学习C语言

2.硬件

如果您对模电数电知识没有相关概念,以及对电子元器件尚不知晓,这些都不是学习单片机的困难,我们都会在教程里简单介绍硬件基础,您也可以参考学习宋老师的《手把手教你学51单片机》的前三章,这些只要您对中学物理电路和电路基础知识有一定的了解都可以看得懂。我们也鼓励大家学会在网上查找相关资料加深对电路知识和单片机的认知。

3.软件

编程环境的软件采用蓝色图标的keil4,电路原理图我们在Altium Designer软件下截图解析,keil4软件的安装和环境搭建不是本教程的讲解内容,请大家自行寻找详细的相关配置教程。

4.教程安排须知

因为单片机内部硬件知识对初学者来说比较抽象,讲解较费笔墨,所以碰到新的概念时我们无需钻牛角尖深究,只需记住这个东西有这么一个规律即可。我们重点在于讲解如何编程。

后期所用到的模块实物与单片机连接时,我们均用原理图上的连接表示。

5.进阶

虽然入门单片机首先从51单片机开始,但现在已经红遍大江南北的首选控制器为stm32,在实际中运用单片机做项目可能也是采用stm32居多,但51的编程思想在stm32上是不可磨灭的。

stm32已经成为主流的单片机,因其性能和外设资源还有价格综合起来的性价比都已远超51单片机,产品的项目设计和电子竞赛也大部分采用stm32单片机做控制,但是学习和运用stm32又需要很多基础,其中80%基础都来源于51,所以我们一步步走,学完51单片机再进阶stm32,这个过程打下的基础将对我们后期学习新的高级控制器有着极大的帮助。

猜你喜欢

转载自blog.csdn.net/jingdianjiuchan/article/details/129198518