《(4.7)--单片机应用技术项目化教程项目八.ppt》由会员分享,可在线阅读,更多相关《(4.7)--单片机应用技术项目化教程项目八.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单单片机片机应应用技用技术项术项目化教程目化教程项目八电子密码锁-I2C总线技术应用8.1 项项目学目学习习目目标标8.2 器件介器件介绍绍8.3 I2C总线总线原理介原理介绍绍8.4 项项目系目系统统开开发发任任务务:电电子密子密码锁码锁8.5 项项目目总结总结8.6 提示与拓展提示与拓展8.1项目学习目标掌掌 握握-1、I2C总线接口电路设计方法;-2、芯片24C02使用;-3、电子密码锁电路设计;-4、I2C总线数据及信号传输程序编写;-5、电子密码锁控制程序编写。理理 解解巩巩 固固-1、单片机最小系统;-2、键盘处理程序;-3、液晶显示技术;-4、蜂鸣器使用;-5、继电器电路设计。-
2、89C51单片机模拟I2C总线器件24C02的串行时钟信号和操作时序及相应程序模块的功能。8.2 器件介绍-8.2.1 24C02(本部分内容请与8.3节结合阅读学习)1、24C02特性、极限参数、引脚管脚名称管脚名称功能功能A0 A1 A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护Vcc+1.8V 6.0V工作电压Vss地2、24C02寻址字节图8-3 24C02的接线图-8.2.2 三极管三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种电流控制电流的半导体器件,其作用是把微弱信号放大成辐值较大的电信号,也用作无触点开关,是电子电路的核心元件。图8-4 三极管
3、外形图图8-5 三极管结构示意图图8-6 三极管电路符号图 图8-7 利用三极管接蜂鸣器、继电器、电机的电路原理图-8.2.3 LCD1602液晶显示器第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端第4脚:RS为寄存器选择第5脚:RW为读写信号线第6脚:E端为使能端第714脚:D0D7为8位双向数据线第1516脚:空脚图8-8 LCD1602外形图1、清屏指令2、光标归位指令3、进入模式设置指令4、显示开关控制指令5、设定显示屏或光标移动方向指令6、功能设定指令7、设定CGRAM地址指令8、设定DDRAM地址指令9、读取忙信号或地址指令10、数据写入DDR
4、AM或CGRAM指令一览11、从CGRAM或DDRAM读出数据的指令一览读状态输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字写指令输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码;输出:无读数据输入:RS=H,RW=H,E=H 输出:DB0DB7=数据写数据输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据;输出:无-8.2.4 续流二极管我们通常所说的“续流二极管”由于在电路中起到续流的作用而得名,一般选择快速恢复二极管或者肖特基二极管来作为“续流二极管”,它在电路中一般用来保护元件不被感应电压击穿或烧坏,以并联的方式接到产生感应电动势的元件两端,并与其
5、形成回路,使其产生的高电动势在回路以续电流方式消耗,从而起到保护电路中的元件不被损坏的作用。本项目中,继电器电路中采用了续流二极管。8.3I2C总线原理介绍图 8-10基于I2C总线的单片机系统结构图图8-11 I2C总线的数据传送规则说明时序图以采用24C02芯片为例,具体介绍如下:1.I2C总线时序2.I2C总线启动与停止时序图8-14 I2C总线的启动与停止条件时序图3.I2C总线器件寻址与应答信号时序图8-15 I2C总线应答信号与非应答信号的时序图4.字节写时序图8-16 EEPROM芯片字节写时序图5.读时序图8-17 立即地址读时序图图8-18 选择读时序图图8-19 连续读时序
6、图8.4 项目系统开发任务:电子密码锁-8.4.1 任务描述-8.4.2 方案设计-8.4.3 能力培养1、能够使用I2C总线器件24C02;2、能够使用液晶显示屏LCD1602;2、能够设计电子密码锁电路;3、能够编写电子密码锁程序。-8.4.4 硬件设计1、仿真原理图设计2、PCB设计-8.4.5 软件设计1、流程图2、程序源代码开始系统初始化,装载预设密码键盘扫描按键处理显示结束图8-18 电子密码锁程序流程图8.5 项目总结本项目充分利用I2C总线技术,将 LCD1602液晶显示技术、24C02存储技术、键盘控制技术进行了一次有效的集成,实现了一个有趣的综合性的电子密码锁功能。本项目具
7、有一定的实践难度,希望读者通过本项目的学习进一步掌握根据时序图编程的方法,并掌握利用厂家提供的器件说明书编写相应器件应用程序的能力。P.S.:项目中24C02中的密码存储为明文,为提高安全性,防止他人非法从24C02中读取密码,可在程序中编写加解密函数,将密文存到24C02芯片中。8.6 提示与拓展1、画完电路后怎么一次性去掉Proteus元器件的标号?答:打开菜单templatesetdesigndefaults,把showhiddentext的勾去掉就可以了!如下图所示。2、Proteus仿真的51单片机的复位电路不能正常工作,请问是什么原因?答:把复位电路上的接地电阻改成100欧以下的就
8、能手动复位了,如下图所示。3、I2C串行接口芯片24C02为什么需要接10K欧上拉电阻?答:因为单片机引脚的通过电流能力有限,上拉电阻用2k,电流约5V/2k=2.5mA,上拉电阻用10k,电流约5V/10k=0.5mA,电阻变大,电流降低,单片机承受得了,自然就可以了。另外,本项目电路接上拉电阻的目的一是在空闲时为高电平;二是由于总线上的各节点器件都采用漏极开路结构与总线相连,因此在SDA与SCL上都需要接上拉电阻。4、什么是漏极开路结构?答:漏极开路是驱动电路的输出三极管的发射极开路,可以通过外接的上拉电阻提高驱动能力。这种输出用的是一个场效应三极管或金属氧化物管(MOS),这个管子的栅极
9、和输出连接,源极接公共端,漏极悬空(开路),什么也没有接,因此使用时需要接一个适当阻值的电阻到电源,才能使这个管子正常工作,这个电阻就叫上拉电阻。漏极开路输出,一般情况下都需要外接上拉电阻,以使电路输出呈现三态之高阻态,例如,在有些芯片的引脚就定义为漏极开路输出;还有一些带漏极开路输出的反向器等都需要外接上拉电阻才能正常工作。5、24C01/02/04/08/16使用上有什么区别?答:24C01/02/04/08/16是一个1K/2K/4K/8K/16K 位串行CMOS EEPROM,即,内部含有128/256/512/1024/2048 个8 位字节存储空间,使用上无太大区别,但需要认真阅读
10、厂家提供的器件说明,按要求使用。6、仿真电路中蜂鸣器为什么不响?答:第一种可能:如下图设计。因为仿真电路与实际电路不同,仿真电路如果含有三极管,则蜂鸣器不响,去除三极管电路即可。第二种可能:仿真电路中使用了模拟信号蜂鸣器,如下图,将使用左侧模拟信号的蜂鸣器换成使用右侧数字信号的蜂鸣器即可。7、项目程序中的比较函数Compare()的使用注意事项是什么?答:将键盘输入值与24C02中存储的密码值进行比较时,应将对应键盘值设计成十六进制数字后存储到数组中,然后两数组进行比较,因为密码在24C02中以十六进制形式存储,否则会出现比较错误,导致比较结果不正确。8、仿真期间进行了将24C02进行密码修改并写入的有关操作,在不重新启动系统时,上锁后,使用改后的密码进行再次登录;但如果重新启动系统,理应是装载初始密码,但经常会出现初始密码“123456”无效,而是后来改过的新密码可用,怎么办?答:直接在24C02芯片上单击右键,选择“Decompose”菜单,并且再次运行程序,这时系统与24C02无关,数据无法读写。然后,再单击“撤销”按钮,或者按下Ctrl+Z组合键,电路恢复到原来的状态,再次运行程序即可。谢谢观看