当前位置: 首页 > news >正文

做生鲜管理系统的网站深圳3d网站建设

做生鲜管理系统的网站,深圳3d网站建设,齐齐哈尔市网站建设,马边彝族移动网站建设文章目录 基于ATmega16的数码管独立按键密码锁设计实验报告实验背景硬件介绍主要元器件电路连接 设计原理硬件设计软件设计 程序原理延时函数独立按键检测密码显示主函数 资源代码 基于ATmega16的数码管独立按键密码锁设计实验报告 实验背景 本实验旨在设计并实现一个基于ATm…

在这里插入图片描述
在这里插入图片描述

文章目录

  • 基于ATmega16的数码管独立按键密码锁设计实验报告
    • 实验背景
    • 硬件介绍
      • 主要元器件
      • 电路连接
    • 设计原理
      • 硬件设计
      • 软件设计
    • 程序原理
      • 延时函数
      • 独立按键检测
      • 密码显示
      • 主函数
  • 资源代码

基于ATmega16的数码管独立按键密码锁设计实验报告

实验背景

本实验旨在设计并实现一个基于ATmega16单片机的数码管独立按键密码锁系统。该系统能够接受用户输入的密码,并与预设的系统密码进行比对,若匹配成功则点亮绿色LED灯,否则点亮红色LED灯。此设计广泛应用于电子门锁等安全系统中。

硬件介绍

主要元器件

  1. ATmega16单片机:核心控制器,负责按键扫描、密码存储及比较、LED灯和数码管显示控制等。
  2. 独立按键:用于用户输入密码。
  3. 共阴极数码管:用于显示用户输入的密码。
  4. LED灯:绿色和红色LED分别用于指示密码输入正确与否。
  5. 电阻、电容:用于限流和滤波。

电路连接

  1. 独立按键:连接至单片机的PINA和PINB引脚,用于检测按键输入。
  2. 数码管:连接至单片机的PORTC和PORTD引脚,通过动态扫描方式显示用户输入的密码。
  3. LED灯:分别连接至单片机的PORTA引脚,通过控制高低电平实现亮灭。
  4. 电源:为整个系统提供稳定的电源供给。

设计原理

硬件设计

  • 独立按键检测:采用独立按键,通过PINA和PINB端口检测按键状态。每个按键对应一个独立的引脚,当按键按下时,检测到低电平,从而获取按键值。
  • 数码管显示:采用动态扫描方式,逐个显示数码管的内容。通过控制PORTD和PORTC实现数码管的选择和段码显示。
  • LED指示:通过控制PORTA的高低电平来实现绿色和红色LED灯的亮灭,指示密码输入的正确与否。

软件设计

程序采用C语言编写,主要包括以下几个模块:

  1. 延时函数:通过简单的循环实现延时,以配合数码管动态扫描的刷新。
  2. 按键检测:扫描独立按键,获取用户按键输入的值。
  3. 密码显示:将用户输入的密码通过数码管显示出来。
  4. 密码比较:将用户输入的密码与预设密码进行比对,控制LED灯的显示状态。

程序原理

延时函数

void delay_nms(int time) {int i;for (; time > 0; time--) {for (i = 0; i < 1000; i++);}
}

延时函数通过简单的循环实现,以配合数码管的动态扫描。

独立按键检测

int getKeyBoardValue(void) {if ((PINB & 0x01) == 0) return 0;else if ((PINB & 0x02) == 0) return 1;else if ((PINB & 0x04) == 0) return 2;else if ((PINB & 0x08) == 0) return 3;else if ((PINB & 0x10) == 0) return 4;else if ((PINB & 0x20) == 0) return 5;else if ((PINB & 0x40) == 0) return 6;else if ((PINB & 0x80) == 0) return 7;else if ((PINA & 0x08) == 0) return 8;else if ((PINA & 0x10) == 0) return 9;else if ((PINA & 0x20) == 0) return 10;else if ((PINA & 0x40) == 0) return 11;else if ((PINA & 0x80) == 0) return 12;return 20;
}

通过检测PINA和PINB引脚的电平状态,判断哪个键被按下。

密码显示

void display_pwd(char *pwdptr, unsigned char length) {int i = 0;for (i = 0; i < length; i++) {LedOut[i] = Disp_Tab[pwdptr[i] - '0'];}for (i = length; i < 6; i++) {LedOut[i] = Disp_Tab[11];}
}

将用户输入的密码通过数码管显示出来,未输入的位显示为空白。

主函数

void main(void) {char cnt_seg = 0;int keyTemp = 0;char SYSTEM_PASSWORD[7] = "123456";char in_buffer[7] = {0, 0, 0, 0, 0, 0, 0};char input_nuber = 0;char key_press_flag = 0;while (1) {keyTemp = getKeyBoardValue();if ((keyTemp != 20) && (key_press_flag == 0)) {key_press_flag = 1;if (keyTemp <= 9) keyTemp += '0';if ((keyTemp >= '0') && (keyTemp <= '9') && (input_nuber < 6)) {in_buffer[input_nuber++] = keyTemp;}if ((keyTemp == 11) && input_nuber) {input_nuber--;in_buffer[input_nuber] = 0;}if (keyTemp == 12) {input_nuber = 0;memset(in_buffer, 0, sizeof(in_buffer));PORTA |= 0x01;PORTA |= 0x02;}if ((keyTemp == 10) && (input_nuber == 6)) {if (memcmp(in_buffer, SYSTEM_PASSWORD, 6) == 0) {PORTA &= ~0x02;PORTA |= 0x01;} else {PORTA &= ~0x01;PORTA |= 0x02;}memset(LedOut, Disp_Tab[11], sizeof(LedOut));input_nuber = 0;memset(in_buffer, 0, sizeof(in_buffer));}display_pwd(in_buffer, input_nuber);}if (getKeyBoardValue() == 20) {key_press_flag = 0;}cnt_seg++;if (cnt_seg > 5) {cnt_seg = 0;}delay_nms(2);}
}

主函数负责初始化各端口,循环检测按键输入,处理用户输入的密码,并通过数码管显示和LED指示密码验证结果。

资源代码

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
http://www.15wanjia.com/news/155359.html

相关文章:

  • 贵阳网站推广¥做下拉去118cr海外百度云网站建设
  • 英国网站后缀爱奇艺会员推广联盟
  • 网站设计与网页制作项目教程wordpress 用户id
  • 网站首页html代码的wordpress调用页面标题
  • 建设银行网站怎么查工资明细邢台网站建设公司排名
  • 常用的小企业网站建设枸橼酸西地那非片功效效及作用
  • 坪地网站建设如何自学小程序开发
  • 什么是手机网站网络营销传播的核心内容
  • 网站建设长期待摊费用重庆seo网页优化
  • 做网站一班需要多少钱婚庆公司创业计划书
  • 苏州网站定制公司哪家好php网站屏蔽词怎么做
  • 搭建什么网站好玩推广工具
  • 2017年免费建网站如何将微信公众号文章转wordpress
  • 中英文微信网站开发法律电商如何做网站推广营销
  • 网站个人和公司有什么区别是什么网站建设需求分析
  • 网上购物商城网站海外网络是什么意思
  • 网站备案审核制度深圳有没有维护公司网站
  • 制作宝安网站建设免费游戏推广平台
  • 导航网站怎么赚钱手机微信网页版登录
  • 注销主体备案与网站备案广安专业网站建设报价
  • 做橡胶应该看什么网站广东网站建设专业公司
  • 网站导航三角怎么做怎么分析网站用什么技术做的
  • 做网站特别简单的软件广告投放需要什么资质
  • 北京网络营销招聘重庆网站优化排名
  • 网站色彩的搭配原则有哪些平度做网站
  • 备案后怎么建设网站去哪儿网站开发
  • 网站建设岗位要求seo流量查询
  • 打开网站乱码怎么做青岛开发区网站制作
  • 网站制作流程的组成部分包括seo服务商找行者seo
  • 做网站哪里便宜网站建设费会计