一、设计要求
主机、从机均以AT89C52单片机为控制核心。主机生成6位随机验证码、并将验证码发送给从机;从机输入验证码发送给主机,主机接收来自从机发送的验证码并核对两个验证码是否一致。
二、设计内容
主机通过独立按键生成6位随机验证码并发送给从机,此验证码分别在两块LCD1602的第一行显示;从机通过矩阵按键完成验证码输入、修改和发送,在LCD1602的第二行显示;从机通过发送按键将输入的验证码发送给主机,主机接收并在LCD1602第二行显示,最终通过LED指示灯来反馈两个验证码是否一致。
三、设计方案
独立按键模块:用主机的P1^0引脚连接独立按键用于控制验证码的生成和发送。如下图所示:
LCD1602显示模块:在Proteus中选中LM016L元器件,用AT89C52单片机P0端口连接LM016L的D7~D0控制数据的输入输出;用AT89C52单片机P2^5、P2^6、P2^7引脚分别连接LM016L元件的RW、RS、E引脚控制读/写选择、数据/指令选择、使能信号。此外,LM016L的VSS引脚接地、VDD引脚接+5V、VEE引脚连接可调滑动电阻用于调节LCD对比度。如下图所示:
矩阵键盘模块:从机P1端口的P1^0、P1^1、P1^2引脚控制矩阵键盘的行选,P1^4、P1^5、P1^6、P1^7引脚控制矩阵键盘的列选,这样仅用7个引脚就能控制一个3X4的矩阵键盘。如下图所示:
LED指示灯模块:用主机的P2^0引脚控制指示灯模块。如下图所示:
串行通信模块:主机的P3^0引脚(即接收端)与从机的P3^1引脚(即发送端)连接;主机的P3^1引脚(即发送端)与从机的P3^0引脚(即接收端)连接。
四、设计仿真
仿真环境:Proteus 8 Professional
功能描述:1.主机按下按键生成6位随机验证码、并将验证码发送给从机,此验证码在LCD1602的第一行显示;2.从机接收6位验证码并在LCD1602的第一行显示;3.从机通过矩阵按键输入验证码,验证码在LCD1602的第二行显示;4.从机通过发送按键将验证码发送给主机,主机接收验证码并在LCD1602的第二行显示;如果验证码一致,LED灯亮,反之,LED灯灭;
演示视频如下:
基于51单片机的验证码收发系统的仿真设计
关于本设计的具体Keil工程和Proteus电路图可访问下方链接:
https://item.taobao.com/item.htm?ft=t&id=866008928806
最重要的一点,祝大家天天开心!!!!