电子密码锁单片机课程设计

合集下载

基于单片机的电子密码锁设计课件

基于单片机的电子密码锁设计课件
3、硬件电路
3.5 晶振部分
根据实际情况,本设计中采用12MHZ做为系统的外部晶振,电容取值为20pF。
图3-6 晶振电路原理图
3、硬件电路
3.6 显示部分
为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示LCD1602取代普通的数码管来完成。其显示部分引脚接口如图3-8所示:
基于单片机的电子密码锁设计
1、系统结构分析
图1-1 系统结构框图
本设计系统主要由单片机芯片、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分显示部分、报警部分、开锁部分组成。
AT 89S51
键盘输入
复位电路
密码存储电路
晶振电路
电源输入
显示电路
报警电路
开锁电路
选用单片机AT89S51作为本设计的主控芯片。 采用矩阵键盘进行功能按键的输入。 外接AT24C02芯片用于密码的存储与修改。 利用LCD1602液晶显示器进行显示。 利用蜂鸣器进行报警工作。
图3-3 键盘输入原理图
3.3 电源输入部分
3、硬件电路
密码锁主控制部分电源需要用5V直流电源供电,其电路如图3-5所示:
图3-4 电源输入电路原理图
3.4 复位部分 根据实际情况选择如图3-6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键。
3、硬件电路
图3-5 电源输入电路原理图
2、方案设计
3.1 存储芯片AT24C02
3、硬件电路
图3-1 AT24C02的电路接线图
3.2 矩阵键盘 采用4*4矩阵式键盘实现密码输入功能。 4*4键盘不但能完成密码的输入,还能作特别功能键使用,比如修改密码功能等。
3、硬件电路
图3-2 矩阵键盘

电子密码锁单片机课程设计

电子密码锁单片机课程设计

电子密码锁单片机课程设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握其编程方法;2. 学生掌握电子密码锁的工作原理,了解其电路组成;3. 学生了解数字输入输出接口的使用,能运用相关知识进行密码锁设计。

技能目标:1. 学生能运用C语言进行单片机编程,实现电子密码锁的功能;2. 学生能够运用仿真软件对设计的电子密码锁进行调试与优化;3. 学生能够运用所学知识,解决实际电子密码锁单片机课程设计过程中遇到的问题。

情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,提高学习积极性;2. 学生培养团队协作精神,提高沟通与协作能力;3. 学生培养创新意识,提高动手实践能力,增强自信心。

课程性质:本课程为实践性较强的课程,要求学生在理解理论知识的基础上,动手实践,完成电子密码锁单片机课程设计。

学生特点:学生处于高年级阶段,已具备一定的单片机编程和电子技术基础,具备独立思考和解决问题的能力。

教学要求:教师应注重理论与实践相结合,引导学生主动参与,培养学生的创新能力和实践能力。

在教学过程中,关注学生的学习进度和需求,及时调整教学策略,确保课程目标的达成。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高综合运用能力。

二、教学内容1. 单片机基础理论:包括单片机结构、工作原理、编程语言(C语言)等,对应教材第1章至第3章内容。

- 单片机内部结构及功能;- 单片机工作原理及指令系统;- C语言编程基础及单片机程序设计方法。

2. 电子密码锁原理与设计:包括密码锁电路组成、工作原理、设计方法等,对应教材第4章内容。

- 电子密码锁电路组成及各部分功能;- 电子密码锁工作原理及设计要求;- 数字输入输出接口的使用及编程。

3. 单片机编程与调试:包括编程环境搭建、程序编写、仿真调试等,对应教材第5章内容。

- 编程环境(如Keil)的安装与使用;- 单片机程序编写、编译、下载;- 仿真软件(如Proteus)的使用及调试技巧。

单片机课程设计 电子密码锁

单片机课程设计   电子密码锁

第1章设计目的1.利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。

2.我们这次的课程设计是以单片机为基础,设计出一个具有一定功能的电子密码锁。

3.掌握一些重要芯片的功能特性及使用方法,并能运用其组合成一个简单的单片机机应用系统。

4.锻炼同学们的动手能力和独立思考的能力,巩固理论知识,加深对课堂内容的理解。

5.培养同学们对单片机的兴趣,通过课程设计调动同学们的积极性,使更多的人将来能在单片机领域有所建树。

第2章设计要求及总体思路2.1设计要求1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密“12345”共5位密码。

2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。

在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。

然后进入密码的判断比较处理状态并给出相应的处理过程。

3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

2.2 总体思路系统总体设计方案框图如下:图2-1一般而言,要实现相同的功能,硬件复杂的系统其软件一般较简单,而软件复杂的系统其硬件一般相对简单,本着经济性的原则,我们应该尽可能少用硬件,根据这个设计理念和设计要求,本单片机系统的设计思路如下:1)电子密码锁所用的数据的存储和运算用单片机来完。

2)因为没有专用的输入键盘,所以按键输入用计算器输入键盘代替。

按键密码从P3口输入。

3)用六位显示器显示五位密码,显示器选择动态扫描,用P0口作段控,用P2口作位控。

4)开锁信号从P1.1口输出,报警信号从P1.0口输出。

5) 按键分为功能键和数字键,具体如表2-1。

6)输入五位密码后按确认键,系统验证密码是否正确,若密码正确,则产生开锁信号,若接连三次输入错误密码,则产生报警信号。

7) 当错误输入某位密码时,可按删除键进行删除,也可按清零键对所输入的数进行整体清除。

单片机课程设计密码锁设计

单片机课程设计密码锁设计

单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。

本次单片机课程设计的任务就是设计一款基于单片机的密码锁。

一、设计要求本次设计的密码锁需要具备以下功能:1、能够设置和修改 4 位数字密码。

2、输入密码正确时,锁打开,并有相应的指示灯提示。

3、输入密码错误时,有错误提示,且错误次数超过 3 次则报警。

4、具备密码重置功能。

二、系统方案设计1、硬件设计单片机选型:选择 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。

输入模块:采用 4×4 矩阵键盘作为密码输入设备,可方便地输入数字和功能按键。

显示模块:选用 1602 液晶显示屏,用于显示密码输入状态、提示信息等。

存储模块:使用 EEPROM 芯片 AT24C02 来存储密码,以保证断电后密码不丢失。

报警模块:当密码输入错误次数超过 3 次时,通过蜂鸣器发出报警声音。

2、软件设计主程序:负责系统的初始化、键盘扫描、密码输入处理、密码验证、显示控制等。

键盘扫描程序:检测矩阵键盘上的按键动作,并将按键值返回给主程序。

密码处理程序:包括密码设置、修改、存储和验证等功能。

显示程序:控制 1602 液晶显示屏的显示内容。

三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振为单片机提供时钟信号,复位电路用于系统的初始化。

2、矩阵键盘电路由16 个按键组成 4×4 矩阵,通过行线和列线的扫描来确定按键值。

3、显示电路1602 液晶显示屏通过数据总线和控制总线与单片机相连,实现数据的传输和显示控制。

4、存储电路AT24C02 通过 I2C 总线与单片机进行通信,用于存储密码数据。

5、报警电路蜂鸣器通过三极管驱动,当单片机输出高电平时,蜂鸣器发声报警。

四、软件程序设计1、主程序流程系统初始化,包括单片机端口初始化、液晶显示屏初始化、EEPROM 初始化等。

单片机课程设计 电子密码锁的设计

单片机课程设计 电子密码锁的设计

目录摘要----------------------------------------------------------- 3 关键字------------------------------------------------------------------------------------- 3 第一章前言----------------------------------------------------------------------------- 3 第二章基本功能设计--------------------------------------------------------------- 4⏹ 2.1 实验任务----------------------------------------------------------------- 4⏹ 2.2基本设计------------------------------------------------------------------ 4⏹ 2.3 系统框图-------------------------------------------------------------- -- 5 第三章硬件设计----------------------------------------------------------------------- 5 3.1硬件工作接线口---------------------------------------------------------------- 5 3.2 LED显示器结构与原理------------------------------------------------------- 6 3.3复位电路----------------------------------------------------------------------------- 6 3.4按键方式--------------------------------------------------------------------------- 7 3.5电路原理图------------------------------------------------------------------------- 8 3.6 元器件清单-------------------------------------------------------------------------9第四章软件设计-------------------------------------------------------------------- 10 4.1软件结构---------------------------------------------------------------------------------- 10 4.2源程序--------------------------------------------------------------------------------------12 第五章心得体会----------------------------------------------------------------------- 13 第六章参考文献----------------------------------------------------------------------- 14【摘要】电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,我们采取的是单片机,它具有超大规模集成电路技术,有极强的数据处理能力,I/O口多以它为核心设计的密码锁,结构小,功能强,现在很多单位甚至家里的各个家用电器,还有保险箱都需要它。

单片机电子密码锁课程设计

单片机电子密码锁课程设计

基于单片机的电子密码锁设计一、设计要求和条件1.1 设计要求根据单片机开发板所提供的元件特性和硬件电路,编写相关的程序,通过实验开发板实现电子密码锁在LCD1602上显示的功能。

1.搭建proteus仿真电路图平台,模拟单片机要实现的功能;2.焊接单片机系统开发板;3.编写程序,实现密码锁相关功能;4.下载并调试程序,实现密码锁的具体功能。

1.2 设计目的1.熟练掌握KEIL软件的使用方法;2.熟练掌握PROTEUS软件的使用方法;3.掌握单片机I/O接口的工作原理;4.掌握中断系统的工作原理;5.掌握液晶LCD1602的工作原理及编程方法;6.掌握蜂鸣器的编程使用;7.掌握行列式键盘的工作原理及编程使用方法;8.掌握单片机的ISP下载使用方法。

1.3 功能概述本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了硬件设计方案、软件流程图、C 语言源程序及详细注释等内容,由于单片机实验板上的矩阵键盘为3*3的,则规定0-5号键为数字键,6-8号键为功能键,其中该密码锁的具体功能介绍如下:(1)按“8”号键则输入密码,初始密码为012345,在LCD1602上显示密码值为“******”(密码是保密的),输完6位后键盘就锁定,在LCD1602上显示密码是否正确,若输入的密码长度小于6位,则1602等待密码输入。

(2)若密码输入正确后,则绿色的发光二极管亮表示开锁,并且1602上显示“you are right!”,等待是否修改密码。

(3)密码输入错误时显示“code is wrong”,接着会给你第二、第三次机会输入密码,如果三次密码都错误时,发出“叮咚”的报警声,且红色报警指示灯不停闪烁,按复位键清除报警。

(4)按“7”号键表示若密码不小心输入时,可以删除输入错误的密码。

(5)按“6”修改密码,要求输入原密码是正确的,然后按该键后,蓝色密码修改指示灯会亮,并且1602上会显示“Input new code”,输入正确要求再次输入,两次输入一致提示“Modify right!!!”并返回主菜单。

电子密码锁单片机系统课程设计报告

电子密码锁单片机系统课程设计报告

大连民族大学《单片机系统课程设计》课程报告2020-2021第一学期学院:机电工程学院专业:自动化班级:学生姓名:任课教师:日期:2020年12月28日目录1 任务分析及性能指标 (5)1.1任务分析 (5)1.2性能指标 (5)2 总体方案设计 (5)2.1硬件方案(包括元件功能介绍) (5)2.2软件方案(模块结构、流程图) (6)3 电路原理图及仿真(附仿真过截图及说明) (7)4 实物功能及效果(附照片) (9)5 程序清单 (11)6 调试及性能分析 (20)6.1硬件连接及分析(附截图及截图说明) (20)6.2软件调试过程及分析(截图) (21)7 总结 (23)8 参考文献 (24)1任务分析及性能指标1.1 任务分析一个电子密码锁,应该能实现以下功能:(1)能够从键盘中输入密码,并相应地在数码管上显示‘8’;(2)能够判断密码是否正确,正确则接通继电器示意开锁过程,同时蜂鸣器响,错误则不同的蜂鸣器声响;(3)能够实现密码的修改;(4)在操作错误达到一定次数后锁定键盘一段时间,并持续蜂鸣。

1.2 性能指标(1)该课程设计采用89C52单片机,其晶振频率设置为12MHZ。

(2)两个四位数码管均为共阴极数码管。

(3)蜂鸣器不同参数,产生不同频率的声音。

(4)P0、P1、P2、P3端口引脚在默认情况下为高电平(1)。

(5)该单片机板子进行位选时,07FH为最低位数码管,对07FH进行右移选中的数码管依次向左。

2总体方案设计2.1 硬件方案(包括元件功能介绍)根据以上的分析,本次电子密码锁的主要设计的重点是以下几个部分:4x4矩阵键盘设计、数码管显示、密码的掉电存储和密码的比较和处理。

当然,除了这几个部分外还有定时器/计数器计时中断、继电器和报警等功能模块。

各元件功能介绍:4x4矩阵键盘:包括数字键和功能键,负责信息的输入。

数码管:显示数字,从视觉判别密码对错;用74LS373供电跳线端子,控制数码管的段码和位码的选取,从而控制八位数码管显示。

单片机课程设计-电子密码锁

单片机课程设计-电子密码锁

单片机课程设计-电子密码锁电子密码锁的设计说明书院系:机电汽车工程学院专业:机械设计制造及其自动化班级:姓名:学号:指导老师:同组人员:1中文摘要摘要:随着经济的发展,人们对日常生活质量的要求也越来越高,从工作、学习、出行、购物等的各个方面,人们也对现代安全设施提出来更高的要求。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。

密码锁具有安全性高、成本低、功耗低、易操作等优点,同时还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

本次电子密码锁的设计主要就针对于这种社会需求,从程序设计到硬件设计以及硬件安装连接都做了详细的说明。

2设计说明本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能:①密码通过键盘输入,若密码正确,则将锁打开。

②报警、锁定键盘功能。

密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。

电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。

另外系统还有LED 提示灯,报警蜂鸣器等。

密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:①密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。

②密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。

③开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。

主要的设计实施过程:首先,选用 ATMEL公司的单片机AT89C51,以及选购其他电子元器件。

第二步,使用 DXP 20043设计硬件电路原理图,并设计 PCB图完成人工布线(后因 PCB 板损坏决定采用万能板焊接的方法)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子密码锁单片机课程设计单片机原理与应用技术课程设计报告电子密码锁设计专业班级:电气 124姓名:时间:2015年1月2日指导教师:***2015年1月2日电子密码锁课程设计任务书1.设计目的与要求设计出一个电子密码锁。

准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)状态显示功能:锁定状态时系统用3位数码管显示OFF,用3位码管显示成功开锁次数;成功开锁时用3位数码管显示888,用3位数码管显示成功开锁次数。

(2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设置用户密码(1-26位长度),同时系统掉电后能自动记忆和存储密码在系统中。

(3)报警和加锁功能:密码的输入时间超过12秒或者连续3次输入失败,声音报警同时锁定系统,不让再次输入密码。

此时只有使用管理员密码方能对系统解锁。

2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩在规定时间内,完成叙述并回答问题。

1电子密码锁电气124 赵政权摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。

其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。

使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。

关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium21 引言电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。

应用较广的电子密码锁是以芯片为核心,通过编程来实现的。

其性能和安全性已大大超过了机械锁,特点如下:1.保密性好,编码量多,远远大于弹子锁。

随机开锁成功率几乎为零。

2.密码可变。

用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。

3.误码输入保护。

当输入密码多次错误时,报警系统自动启动。

4. 电子密码锁操作简单易行,一学即3会。

5. 干扰码功能,在输入正确密码前可输入任意码。

6. 管理员功能,能使用管理员密码获得最高权限。

7. 人性化设计,输密码的倒计时、用户输入密码的位数、剩余输入密码的次数等能够在相应的界面显示出来,提醒用户。

2 总体设计方案2.1 设计思路利用单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成本电子密码锁的设计成品。

2.1.1方案确定(1)单片机最小系统模块单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可4以工作的系统。

对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。

复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。

典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。

一般推荐C 取10u,R取8.2K。

当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。

晶振电路:11.0592MHz可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合;12MHz可以产生精确的us级时歇,方便定时操作。

所以我们这里5使用12MHz的晶振。

这里没有使用片外程序模块,所以EA 接高电平。

P1口接330欧姆的电阻原因详见数码管显示模块和蜂鸣器模块的讲解,单片机最小系统的模块图如下:图2.1.1-1 单片机最小系统模块(2)数码管显示模块和蜂鸣器模块首先我们需要了解单片机引脚灌电流和拉电流的一些参数。

单片机的引脚,可6以用程序来控制,输出高、低电平,这些可算是单片机的输出电压。

但是程序控制不了单片机的输出电流。

单片机的输出电流,很大程度上是取决于引脚上的外接器件。

单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”,如图2.1.1-2左图所示;单片机输出高电平时,则允许外部器件,从单片机的引脚拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”,如图2.1.1-2右图所示。

这些电流一般的大小,最大限度等这就是常见的单片机输出驱动能力的问题。

每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为 10 mA;每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,7而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和,最大为 71 mA。

而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力太差,不到 1 mA。

结论就是:单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。

图2.1.1-2 灌电流和拉电流我们分析一下拉电流负载和灌电流负载的区别:图2.1.1-2左图中,是灌电流负载。

单片机输出低电平时,LED亮;输出高电平的时候,那就什么电流都没有,此时就不产生额外的耗电。

图2.1.1-2右图中,是拉电流负载。

单片机输出低电平的时候,LED不亮,此时VCC通过R2把电流全部灌进单片机IO口,并且电流时5ma,单片机输出高电平的时候,VCC通过R2将电流注入到LED中,led亮。

这时应该能注意到LED 不发光的时候,上拉电阻给的电流全部灌入单片机的引脚了,如果在一个8位的接口,安装了8个1K 的上拉电阻,当单片机都输出低电平的时候,就有40mA 的电流灌入这个8位的接口!如果四个8位接口,都加上1K的上拉电阻,最大有可能出现32×5=160mA的电流,都流入到单片机中,这个数值已经超过了单片机手册上给出的上限。

此时单片机就会出现工作不稳定的现象。

而且这些电流,都是在负载处于无效的状态下出现的,它们都是完全没有用处的电流,只是产生发热、耗电大、电池消耗快等后果。

综上所述,灌电流负载,是合理的;而“拉电流负载”和“上拉电阻”会产生很大的无效电流,并且功耗大。

设计单片机的负载电路,应该采用“灌电流负载”的电路形式,以避免无谓的电流消耗。

所以这里的数码管我们选择共阳的。

之所以选择共阳的其实这里还有另一个原因:单片机的P0口是开漏输出,也就是当单片机P0口设置为1时,它相当为浮空状态,并不能提供高电平,如果需要高电平则需要接上拉电阻。

我们发现这里如果使用共阳的数码管就不需要接上拉电阻,因为浮空状态和高电平都是让数码管灭,效果是一样的。

这样可以减少电路的复杂性。

(3)密码掉电存储模块单片机的RAM区在掉电之后会清除,ROM区空间又小,所以一些数据要存储在外部存储器中。

本设计利用24C04来存储用户密码和管理员密码,利用IIC协议来实现24C04芯片和单片机的通信。

I2C总线只有两根双向信号线。

一根是数据线SDA,另一根是时钟线SCL。

I2C总线通过上拉电阻接正电源。

当总线空闲时,两根线均为高电平。

连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。

I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

起始和终止信号:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA 线由低电平向高电平的变化表示终止信号。

图2.1.1-3 IIC起始和终止信号数据传送格式:字节传送与应答每一个字节必须保证是8位长度。

数据传送时,先传送最高位,每一个被传送的字节后面都必须跟随一位应答位即一帧共有9位。

如果一段时间内没有收到从机的应答信号,则自动认为从机已正确接收到数据。

由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数据传送。

如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续传送。

当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。

这个信号是由对从机的“非应答”来实现的。

然后,从机释放SDA线,以允许主机产生终止信号。

图2.1.1-4 IIC字节传送与应答数据帧格式:I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。

在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。

每次数据传送总是由主机产生的终止信号结束。

但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。

图2.1.1-5任一地址写入数据格式图2.1.1-6任一地址读取数据格式AT24C04的芯片地址如下图,1010为固定,A0,A1,A2正好与芯片的1,2,3引角对应,为当前电路中的地址选择线,三根线可选择8个芯片同时连接在电路中,当要与哪个芯片通信时传送相应的地址即可与该芯片建立连接,TX-1B实验板上三根地址线都为0。

最后一位R/W为告诉从机下一字节数据是要读还是写,0为写入,1为读出。

图2.1.1-7 AT24C04的芯片地址(4)用户输入模块用户主要利用按键输入密码等操作。

考虑到用户密码需要1个启动输入密码功能按键、0~9这10位按键、1个确定按键、1个消除密码按键、1个返回按键、1个启动修改密码功能按键共15个按键。

我们这里可以采用4×4扫描式矩阵按键,共16个按键,剩余1个按键预留拓展,以便于产品的升级开发。

2.2设计方框图根据设计思路,可分为人机交换层、控制层、数据交换层,这3层从上到下如下框图图2.2-1 设计方框图3 设计原理分析3.1 数码管电路的设计设计单片机的负载电路,应该采用“灌电流负载”的电路形式,以避免无谓的电流消耗。

这里选择共阳的其实这里还有另一个原因:单片机的P0口是开漏输出,也就是当单片机P0口设置为1时,它相当为浮空状态,并不能提供高电平,如果需要高电平则需要接上拉电阻。

相关文档
最新文档