基于单片机的指纹密码锁设计(1).doc

上传人:一*** 文档编号:89745545 上传时间:2023-05-11 格式:DOC 页数:22 大小:696.12KB
返回 下载 相关 举报
基于单片机的指纹密码锁设计(1).doc_第1页
第1页 / 共22页
基于单片机的指纹密码锁设计(1).doc_第2页
第2页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于单片机的指纹密码锁设计(1).doc》由会员分享,可在线阅读,更多相关《基于单片机的指纹密码锁设计(1).doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1. 系统硬件方案本章内容主要介绍系统中常用设备的选择和比较。全面的比较考虑了最适合本次设计的一组方案。1.1 硬件方案的选择在构造硬件配置电源电路之前,建立设计方案的规划方案,并根据每个控制模块的发展选择最适合设计方案的硬件配置,以充分发挥作用。1.1.1 主控芯片的选择方案一:用STC89C52单片机为主板芯片。 STC89C52是由Acer Technology制造的八位CMOS微控制器,具有出色的功耗和出色的性能。它具有一个8k编程容量的片上闪存。 STC89C52单片机的核心是MCS-51内核,指示命令与MCS-51完全兼容,但是单片机升级使集成的板子上具有比传统51单片机更多的功能

2、。例如,其具有4k容量的EEPROM存储,在断电时必须用于存储数据信息时,可以立即使用单片机的内部存储,而无需将数据存储器连接到外部进行存储。 STC89C52单片机具有简单的开发和设计,可移植的程序在线下载以及其较低的成本综合来看,它是非常好的选择。方案二:使用MSP430单片机作为主板芯片。 MSP430微控制器称为混合信号转换器。它可以将数字集成电路,数字电路设计控制模块和微控制器的几种不同功能集成到一个芯片中。 MSP430系列微控制器来自德州仪器(TI)。 1996年,具有指令集RISC的16位的功耗混合信号处理器逐渐投放市场。该系列的微控制器主要是由可充电的电池供电,整合为一个便携

3、式仪器设备。但是,开发设计的难度系数比较大,价格也比较昂贵。因此,它不适用于某些简单的设计方案。方案三:PIC16F877A微控制器用作主板芯片。 PIC16F877A是由Microchip开发和设计的新产品。它属于PICmicro系统软件8位单片机。它具有Flash程序流运行存储器的功能,可以连续读写程序流。但是,工程造价高,难度系数较大。充分考虑了资源的有效利用、成本以及开发和设计的难度,最后决定使用宏晶科技的STC89C52单片机作为主板芯片。1.1.2 指纹模块的选择采用AS608指纹识别模块,AS608指纹识别模块内部含有高速DSP处理能够实现对指纹的采集与识别,单片机与该模块之间采

4、用常见的串口通讯协议,这样使得设计变得简单。通过串口能够控制指纹的采集,识别,删除,添加等操作。1.1.3 显示器件的选择方案一:使用LED数码管显像管动态扫描仪显示。 LED数码管价格适中,更适合显示数据或简单的英文字母。但是,当使用动态扫描器方法与单片机连接时,它占用了CPU的更多I / O端口,并且由于单片机IO端口的输出电流不足,因此需要使用耦合器电路是必需的,并且根据耦合器电路对数字进行操作。在显示管中,还使用了数字显示管来显示更多的内容,该显示内容对于电源电路的电焊焊接机会更有价值,它很容易被错误地焊接。方案二:使用LCD1602液晶的屏幕显示。 LCD1602液晶屏幕也称为LCD

5、1602字符液晶屏幕。 LCD屏幕具有完整的显示功能,并且可以额外显示16 * 2或32个字符,其中可以包括数据,英文字母,标记或自定义标识符。 LCD1602液晶屏幕显示中的每个字符都由5 * 7点矩阵组成。 LCD1602使用并行处理来传输数据,也可以使用串行通信来传输数据。它易于操作,并且与市场上HD44780液晶显示屏的大多数基本操作原理完全一致。方案三:使用LCD12864液晶屏幕显示。具有汉字库的128X64是具有4位/ 8位并行处理,2线和3线串行通信的各种接口标准。显示屏分辨率为12864,并且嵌入了8192个16 * 16点。中国汉字和128个16 * 8点ASCII字段名称

6、。使用灵活的界面标准和控制模块的简单方便的实际操作命令,就可以形成中文的人机交互技术用户界面。它可以显示84行和1616点矩阵汉字以及图形显示。低压功耗是另一个独特的功能。尽管LCD12864 的LCD屏幕具有完整的功能,但是显示内容太大,导致显示室内空间的消耗,并且LCD屏幕的成本增加。最后根据上面的描述,此设计方案显示的内容较丰富,因此使用LCD12864进行显示。1.1.4 数据存储芯片的选择方案一:根据单片机内部EEPROM的应用来进行数据信息的存储。 STC89C5X集成的芯片包含EEPROM功能,STC89C5X EEPROM基于ISP / IAP技术的读写能力,内部FLASH来完

7、成EEPROM。 STC89C5X EEPROM起始和结束的详细地址为0x2000,以512字节为磁道,而EERPOM的大小为2K字节。方案二:使用专业数据信息数据存储AT24C02。 AT24C02是2K位串行通信CMOS E2PROM,内部有256个8位字节。 CATALYST出色的CMOS技术从根本上减少了设备的功能损耗。 AT24C02具有一个16字节的页面写液压缓冲器。该设备根据IIC系统总线插座进行实际操作,并具有专业的写保护功能。综合考虑,在存储数据信息时,单片机内部的EEPROM必须在装载之前擦除所有磁道,这似乎有点不方便。最终决定是使用AT24C02数据存储。1.1.5 人机

8、交互输入器件的选择方案一:使用单独的功能键作为输入设备。单个功能键的每个功能键都与一个功能匹配,并且每个功能键都必须占用一个I / O端口,因此,必须多次检查单片机中有多少个功能键。这样,如果所需功能键的数量较大,则会占用单片机的大量I / O,导致其他设备无法连接,从而降低了功能键的响应率。方案二: 使用矩阵键盘作为输入。矩阵键盘分别在功能键的两侧接收行和列线,然后将每行和列线连接到单片机,并根据程序流程优化算法加载按下哪个功能键。尽管这样做加大程序流程优化算法的难度系数,但可以节省单片机I / O端口的应用。综合上述的描述,最终还是决定采用矩阵键盘作为输入。1.2 系统总体方案根据以上每个

9、控制模块的详细介绍,我们最终选择了STC89C52作为本设计的主板芯片;采用LCD12864液晶显示实时操作内容与提示;同时加入了指纹识别功能,能够通过管理密码进入进行添加和删除指纹信息,AT24C02存储密码锁的登录密码等信息内容;通过矩阵键盘输入诸如打开和更改密码之类的实际操作。本设计的具体的系统方案如下图1.1所示。图1.1 系统方案152. 系统硬件电路设计本章的重点是在此设计方案中详细介绍电源电路各部分的结构设计。根据每个控制模块的功能描述,掌握其原理及其在设计方案中的作用。2.1 STC89C52单片机系统设计2.1.1 STC89C52的概述STC89C52是STC公司生产的一种

10、低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改变使其具有传统51单片机所没有的效果。在单个芯片上,有一个智能的8位CPU和系统内软件可编程控制器Flash,促使STC89C52为许多嵌入式操作系统软件提供了高度灵活且非常合理的解决方案。它具有以下规格:9k字节的Flash,512字节的RAM,32位系统I / O端口,看门狗1定时器,嵌入式4k高清晰度B EEPROM,MAX810延迟电路,3个16位定时器设备/电子设备计数器,4个外部中断,7位空间矢量四级终止结构(与传统的51位5位空间矢量2级终止结构

11、兼容),双工串行接口。另外,STC89X52可以在逻辑上和实践上减少到0Hz静态数据。适用于两种软件选择省电模式。在空闲模式下,CPU停止工作,从而允许RAM,计时器/电子计数器,串行通信和终止再次工作。在断电保护措施下,RAM内容被存储,振荡器被锁定,单片机的所有工作都被终止,直到下一次终止或硬件校准终止为止。最大工作频率为35MHz,可以选择6T / 12T。2.1.2 STC89C52单片机的最小系统单片的最小系统是熟悉且易于理解的,它是可以使单片微机和最少组件一起工作的系统软件。下面详细介绍51单片机系统的基本组件和功能。第一,开关电源对于电子设备是必不可少的。它显示了要运行的系统软件

12、的电能。在此设计中,由于51单片机的工作标准电压在4.5至5.9V之间,因此一切都可以正常工作。使用USB电源插头将充电器插头或5V充电器连接至系统软件以开发电源系统。其次,时钟电路XTAL1和XTAL2是独立的输入和输出反相放大器。它们可以使用石英晶体振荡器作为片上振荡器进行配置,或者可以立即由外部数字时钟驱动该器件。在图2.1中使用内部数字时钟模式,即,使用集成ic的内部谐振电路,计时组件(石英谐振器和2个电容器)连接到XTAL1和XTAL2的引脚,内部可以使用振荡器。引起谐振电路。一般而言,晶体振荡器电路可以在1.212MHz,甚至24MHz或更高之间任意选择,但是频率越高,功耗越大。在

13、本实验套件中由于AS608指纹识别模块与单片机直接采用的是串口方式进行通讯,而选用11.0592MHz晶振可以产生9600波特率0%误差,因此使用了11.0592MHz的石英晶体振荡器。与晶体振荡器电路串联的两个电容器的尺寸对振荡频率有轻微的危害,并且可以具有频率调节功能。当使用石英晶体振荡器时,可以在2040pF之间选择电容器(本设计使用30pF)。当使用陶瓷串联谐振器件时,电容器应适当增大,在3050pF的中间。通常,一个30pF的陶瓷电容器就足够了。图2.1 晶振电路此外,复位电路分为:上电自动校准和电源开关校准。图2.2所示的延迟电路包括这两种校准方法。上电时,电容器的两个直流电压无法

14、突变。此时,电容器的负极连接到RESET,所有工作电压都加到电阻上,RESET键为高电平,并且集成ic已校准。当9V开关电源为电容器电池充电时,电阻上的工作电压逐渐降低,最终等于0,并且积分ic都正常工作。校准功能键串联连接在电容器的两侧。当未按下校准功能键时,电源电路将完成开机校准。集成ic正常工作后,按住功能键,使RST引脚成为上拉电阻。才能达到手动校准的实际效果。一般来说,只需在RST引脚上保持一个十米以上的上拉电阻,就可以对微控制器进行合理的校准。图中所示的校准电阻器和电容器是经典值。特定制造时可以用相同大小的电阻器和电容器代替。读者还可以独立地测量RC电池的充电时间,或在办公环境中进

15、行特定而准确的测量,以确保单片机的延迟电路可靠。图2.2 复位电路完整的STC89C52单片机最小系统电路图如图2.3所示。图2.3 STC89C52单片机最小系统2.2 LCD12864液晶显示电路设计2.2.1 LCD12864的概述128X64(带汉字库)是一种4位/ 8位并行处理,2线至3线串行通信以及各种接口标准,并且有一些国家标准的一级和二级简体中文版里面的中文字体。阵列图形液晶屏显示控制模块;它的显示屏分辨率为12864,内嵌8192个16 * 16汉字,以及128个16 * 8点ASCII标识符集。使用该控制模块可以方便地进行操作界面标准而简单方便的实际操作命令可以形成中文的人

16、机交互技术用户界面。它可以显示84行的1616点矩阵汉字,还可以显示图形。低压功耗是另一个独特的功能。将由该控制模块组成的LCD屏幕显示计划与相同类型的图形点矩阵LCD屏幕显示控制模块进行比较。无论硬件配置如何,电源电路结构或显示程序流程都需要更加简单,并且控制模块的价格也比相同的点阵图形LCD模块略低。 LCD12864电路原理图如图2.4所示。图2.4 LCD12864原理图2.2.2 LCD12864的工作原理常用的LCD12864显示块是常用的点矩阵LCD屏幕显示控制模块,它是由128 * 64 LCD屏幕显示点组成的128 * 64行阵列,因此也称为Into 12864变量。每个显示

17、点与二进制数匹配,0表示熄灭,1表示亮。存储该点矩阵信息的内容的RAM被称为显示数据信息存储装置。如果要显示特定的图案或汉字,则是将相应的点阵信息内容加载到匹配的数据存储器中。汉字的图案或点阵信息内容是自己设计的。目前,解决该问题的关键是在显示屏上显示两部分之间的相关性以及存储器中的详细地址。显示点在64 * 64显示屏上的位置由列号(行063)和行号(行063)定义。 512 * 8位RAM中某个数据存储器的详细地址由详细页地址(Xpage,07)和详细列地址(Yaddress,063)定义。每个数据存储器存储八个LCD屏幕点的显示信息内容。因为LCD控制模块的大多数光耦合器电路由行控制器和

18、两个列控制器组成,所以12864显示器实际上是两个单独的64 * 64显示器的一部分,每个半屏都有512 * 8位,指示数据信息内存。上半屏和下半屏光耦合器电路和存储器分别由芯片选择数据信号CS1和CS2选择。(为了简化客户的设计方案,极少数制造商升级了控制模块中的解码器电源电路,因此128 * 64显示屏是一个完整的屏幕,只需要一个片选数据信号即可。)例如,如果12864屏幕的(20,30)部分上的LCD屏幕点被照亮,则由于列详细地址30低于64,所以该点位于屏幕左半部分的第29列中,因此CS1是合理的;行详细地址20除以8,整数为2,余数为4。RAM中页面的详细地址为2,字节数为4。因此,

19、二进制数据信息00010000(可能是00001000,高度的顺序取决于制造商)输入Xpage = 2和Yaddress = 29的数据存储器以点亮LCD屏幕上的点(20,30)。这是为了更好地可视化LCD屏幕点位置信息和存储的详细地址之间的对应关系。 64 * 64显示屏从上到下分为八个指示块,每块包含8行* 64列的点阵。每列中的8行点矩阵信息内容形成一个9aits二进制数,该二进制数存储在数据存储器中。 (必须注意,二进制高度的合理位序列与行号之间的对应关系因存储而异。)指示一个块的RAM区域称为存储页。即,将6464显示屏的点矩阵信息内容存储在八个存储页面中,每个存储页面具有64个字节

20、,并且每个字节号存储一列(8行)的点矩阵信息内容。因此,数据存储器详细地址包括列详细地址(Yaddress,063)和页详细地址(Xpage,07)。 LCD12864的实际操作时序图如图2.5所示。图2.5 LCD12864操作时序图2.3 AS608指纹识别模块设计2.3.1 AS608的概述AS608亮态电子光头指纹验证机设备采用电子光指纹传感器,由DSP CPU和FLASH等芯片组成,性能优异。它具有指纹识别图像处理,模板获取,模板匹配,指纹识别检索和模板存储的功能。采集到的指纹直接存储到传感器内部存储区中,AS608传感器最大可以存储120枚指纹,每个指纹模板占用512字节。AS60

21、8指纹传感器采用串口的方式与单片机进行数据传输,所以只需要将指纹模块接入到单片机串口引脚上,通过串口就可以进行控制指纹传感器了。由于指纹传感器的工作电压是3.3V而单片机系统电源电压是5V,所以在电源引脚上加入D4和D5两个二极管进行降压到3.3V左右给指纹传感器供电,利用了每个二极管大概压降0.7到1V左右的压降的原理,原理图如下图2.6所示。图2.6 单片机与AS608连接电路2.3.2 AS608指令介绍AS608是详细的指纹验证控制模块。它不需要清空所有字段组件。控制模块始终处于从属模式,服务器(主机)必须让控制模块根据不同的命令执行各种功能。服务器的命令,控制模块的回复及其数据传输均

22、根据所需文件格式的数据文件执行。服务器必须根据以下文件格式封装要推送的命令或数据信息,还必须根据以下文件格式分析接收到的数据文件。指令/数据包共分为三类:1.包标识=01 命令包;2.包标识=02 数据包,且有后续包;3.包标识=08 最后一个数据包,即结束包。所有的数据包都要加包头:0xEF01。2.4 AT24C02的介绍2.4.1 AT24C02的概述AT24C02是2K位串行通信CMOS E2PROM,内部有256个8位字节。 CATALYST出色的CMOS技术从根本上减少了设备的功能损耗。 AT24C02具有一个8字节的页面写入液压缓冲器。该设备根据IIC系统总线插座进行实际操作,并

23、具有专业的写保护功能。 AT24C02的芯片实体图如图2.7所示。图2.7 AT24C02芯片实物图2.4.2 AT24C02的引脚说明AT24C02时钟芯片引脚功能描述见表3-2。表3-2 AT24C02引脚2.4.3 AT24C02的工作原理AT24C02的存储容量为2Kb,内容分为32页,每页8B,共256B,实际操作中有两种寻址模式:芯片寻址模式和片上详细地址寻址模式。(1)芯片寻址方式:AT24C02的集成ic详细地址为1010,详细地址操作字文件格式为1010 A2 A1 A0 R / W。其中,A2,A1,A0可编程控制器的详细地址选择位。 A2,A1和A0引脚分别连接到高电平和

24、低电平以获得清晰的三位数字,而1010生成7位数字,这是设备的地址代码。 R / W是集成的ic读写功能操纵位。如果该位为0,则表示集成ic执行了实际的写入操作;如果为1,则表示集成ic执行了实际的读取操作。(2)片上详细的子地址寻址模式:芯片寻址模式可以对内部256B中的任何一个进行读/写实际操作,其寻址模式范围从00到FF,共有256个寻址模式公司。AT24C02读/写实际操作时序图如图2.8所示。2.8 AT24C02读/写时序图在本设计中,仅使用一个AT24C02集成,因此三个引脚A0,A1和A2立即连接到GND,而WP写保护引脚普遍连接到GND,以便于读写实际操作。 SDA和SCL分

25、别接收微控制器的2个引脚,实际原理图如图2.9所示。 图2.9 AT24C02电路图2.5 矩阵键盘的设计在实际操作中,当必须使用更多的按键时,为了更好地减少单片机的I / O端口占用,按键通常排列在矩阵中,即矩阵键盘。在矩阵键盘中,每个直线和二等分线并没有在连接处立即连接,而是根据一个键以多种方式连接。这样,端口号(例如P1端口)可以形成4 * 4 = 16个键。与立即使用端口号线来使用计算机键盘释放两次相比,并且行数越大,差异就越明显,例如,多添加一根线就可以形成20键的计算机键盘,并且立即使用端口号行将只剩下一个键(9个键)可用。不难看出,当必要的键的数量相对较大时,使用矩阵法作为计算机

26、键盘是有效的。矩阵键盘的示意图如图2.10所示。图2.10 矩阵键盘电路图4*4矩阵键盘的16个按键对应的功能表如3-3所示。表3-3 矩阵键盘对应功能表123进入管理456选择上一项789选择下一项退格0确定返回2.6 蜂鸣器电路的设计蜂鸣器采用5V有源感应式主动式蜂鸣器,因为被动式蜂鸣器的电流通常较大,因此无法立即驱动单片机的I / O端口,因此应使用三极管电路来驱动。这里使用的8550三极管是PNP型三极管。当基座通过1K电阻串联到微控制器的I / O端口时。当I / O端口输出低电平时,晶体管导通和截止,并且无源蜂鸣器鸣响;当I / O端口输出上拉电阻时,晶体管关闭,无源蜂鸣器停止蜂鸣

27、。蜂鸣器电路显示在下面的2.11中。图2.11 蜂鸣器电路2.7 继电器驱动电路设计继电器是由电力操作的组件。通常,它用于自动控制系统的电源电路中。简而言之,继电器是一个“控制开关”,可以根据小电流的输入来操纵大电流的输出。因此,在电源电路中,继电器具有自动调整电源电路,变换电源电路以及维护电源电路的功能。当使用51单片机控制继电器时,由于单片机IO口的输出电流在450mA中间,继电器的吸合电流约为40mA ,无法使用立即操作来驱动驱动程序。必须加一个运算放大器。三极管的选择应该符合:(1)输出功率PCM:大于9V *继电器电流的2倍(5 * 40 mA = 0.2W);(2)更大的集电极结电

28、流(ICM):继电器吸入的40mA电流的两倍以上;(3)耐压BV(CEO):超过继电器的标准电压9V,可选择10V以上;(4)直流放大倍率:100。图2.12 继电器驱动电路本设计计划中使用S8550三极管进行扩展,继电器电路图如图2.12所示。当单片机的IO端口输出上拉电阻时,三极管关闭,继电器关闭。当单片机的IO端口输出低电平时,三极管导通和关断,继电器闭合。2.8 系统硬件测试系统硬件的配置电源电路检测主要是检查电源电路是否漏焊,短路故障,短路,空焊,某些组件的方向是否正确,某些组件的方向是否错误以及电路原理是否正确。焊接漏焊和零件方向错误的检查方法是将商品的电路板与PCB的布线图进行比

29、较,以检查商品上是否已出现每个零件和电源线。如果发现没有或有其他情况,则必须进行对比,并确保在漏焊时立即修复焊缝。为短路故障,短路和空焊选择数字万用表。将数字万用表放到二极管齿轮中,然后根据红色直流电表和黑色直流电表接触在一起,数字万用表将发出蜂鸣声警告。基于此基本原理,它可用于检查短路故障,短路和空焊。在必须检查的组件或传输线的两侧都使用两个直流电流表。如果蜂鸣器打开或关闭,则蜂鸣器将发出蜂鸣声;如果蜂鸣器已关闭,则蜂鸣器将不会蜂鸣。这样,根据每个人都必须测试的条件,在集成测试中,可以确定路由是否存在问题。3. 系统软件部分设计3.1 软件开发环境的介绍该设计方案选择KeilVision4进

30、行编程来完成。 Keil C51是英国Keil Software生产的51系列产品,与单片机C语言开发软件系统软件兼容。与选择相比,C语言在功能,结构,可读性和可伸缩性方面具有显着优势,因此易于理解和实用。根据集成开发工具(uVision),Keil根据集成开发工具(uVision)提出了详细的开发和设计计划,包括C语言编译器、宏选择,射频连接器,库管理方法和功能齐全的模拟仿真程序调试等。运行Keil软件,需要计算机操作系统,例如WIN98,NT,WIN2000,WINXP等。如果使用C语言程序进行编写,那么Keil基本上是的最佳选择,即使不使用C语言而是仅使用汇编程序来编写,其便捷实用的集成

31、自然环境,强大的软件仿真模拟调整专用工具也将使更有效。3.2 系统重要函数的介绍3.2.1 主函数的设计主要函数void main()是程序流的入口,并且详细的程序流必须包含该编号。最初,通常必须先重置微控制器和一些外部现场设备,然后再重置所有通常使用的设备并重新设置一些自变量。重置后,它将进入无限循环。如果它没有进入无限循环程序,则一旦执行,它将被撤回。如果增加了无限循环程序流程,则将不断开发循环系统,以达到实时检查的目的。在源程序的设计中,必须注意,主要功能不适合释放我的许多代码。实际的代码通常用于封装然后在main函数中启动,以便可以轻松阅读文章更改。实际的流程图显示在下面的3.1中。图

32、3.1 主函数流程图3.2.2 AS608指纹搜索子函数的设计AS608选择串行通信协议与单片机进行通信,客户可以根据推送操作指纹模块以匹配匹配的数据文件。在操作AS608指纹模块以检索指纹识别的情况下,请先推动收集指纹识别信息内容,然后等待收集继续进行,然后按下指纹识别配对命令。如果指纹识别配对成功,它将返回成功,否则将返回失败的提示。识别和检索子功能的流程图在3.2中显示。图3.2 搜索指纹子函数流程图3.2.3 LCD12864显示函数的设计LCD12864的显示只能通过严格按照制造商的时钟频率规定进行编程来显示。 LCD12864 LCD屏幕必须首先加载根据说明必须指示的区域的详细地址

33、,然后按顺序加载数据信息。加载详细地址后,详细地址将在第一个内容之后自动增加一个。包括数字名称LCD12864_display_string(uchar x,uchar y,uchar * s),主要参数是x,y,* s,其中x和y表示液晶显示器上位置的坐标,而* s是数组必须指出。软件根据必须输入的零件的坐标来计算详细地址。表示的流程图如图3.3所示。图3.3 显示子函数流程图3.2.4 矩阵键盘检测函数的设计具体的矩阵键盘在程序上的检测方法如下(流程图中Key代表P1口)。(1) 首先将电脑键盘上的所有行线P1.0P1.3设置为低电平,然后检查列线P1.4P1.7是否处在低电平,如果有一条

34、是低电平,那它就能确认该列中的四个按钮之一是被按住的。如果列线上没有低电平,则按键就不是被按下。(2)若确实有按键被按下,接下来继续要确认究竟是哪一个按键被按下了。具体步骤:逐步把四个行线的P1.0P1.3置低,就是当一条行是低电平,另几行仍保持上拉电阻。然后,根据确定在某行线为低电平时,如果包括在第一步中获得的低电平,则可以区分出与在第一步中获得的行线和列线相交的键为目标,明确按下的到底是哪个按钮。矩阵键盘检查流程图如3.4所示。图3.4 矩阵键盘检测函数流程图3.3 系统软件测试测试的工具:KEIL软件,系统软件硬件配置,PL2303下载工具等。根据KEIL软件编写,并将编写的程序流程转换

35、为.HEX文件,然后根据PL2303下载器将其下载到单片机。仔细观察系统的运行情况,然后对程序调试进行不断的修改,最终获得完善的程序流程。在系统软件调试上主要遇到以下几个问题:(1)LCD12864显示出现花屏。解决方案:在本设计中,使用LCD12864汉字库指示和图形指示。首先,汉字库指示的内容和附图指示的内容只需要在其中一个中指示,而另一个将被自动删除,结果并非如此。显示字体内容后,图形内容将重叠并且导致屏幕闪烁而不清除屏幕。根据LCD屏幕指南,可以发现字体显示方法与图形显示方法不同。稍后,当修改程序流程时,在实际显示字体库时将取消图形显示。相反,再次下载程序后,不会发生屏幕闪烁。(2)矩

36、阵键盘具有按键加载方法。在程序流程中,必须将每个加载的键值与每个键匹配并分配一个特殊功能。如果密钥是由人力立即计算出来的,则它看起来像是劳动量。它将相对较大,并且计算错误很可能会导致大量时间花费在调整上。解决方案:因为设计上有显示组件,所以获得的键值可以立即显示在显示组件上,因此,当按下每个按钮时,将在显示屏上显示匹配的键值代码,然后将其依次写下来,然后将其统一以赋予每个按钮设计计划一个角色。这样可以节省大量时间并保证适当性。4. 总结在设计期间的努力终于完成了设计计划。由于时间,水平和工作经验相对有限,因此设计工作仍存在一些不足。对于这种设计,这既是机遇,也是挑战。在设计的整个过程中,我学到了很多东西,并根据自己的实际活动提高了自学能力。基于特定工程项目的设计还使我能够掌握教科书知识与特定应用程序之间的区别。在特定的应用程序中遇到很多问题,这需要我对这些问题进行实际分析并逐步解决。31

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com