




已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连水产学院本科毕业论文(设计) 摘要摘要随着科技的日益发展,电子密码控制系统已越来越符合人们的要求。本文介绍了基于单片机和串行EEPROM的智能密码控制系统,对系统硬件设计和软件实现进行了详细的描述。该系统采用AT89S51单片机和AT24C01串行EEPROM,通过AT89S51模拟I2C总线和AT24C01通讯,实现密码控制的功能。本文从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、LED显示、报警、开锁等,用C语言编写主控芯片的控制程序与EEPROM读写程序相结合,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。这种电路设计具有防试探按键输入、智能控制上锁、开锁、报警、修改密码等多种功能。密码长度可变、保密性强、灵活性高。经实验证明,该密码控制系统具有设计方法合理,简单易行,成本低,安全使用等特点,符合车辆、办公室用锁要求,具有推广价值。关键词: 密码控制;单片机;EEPROM读写程序;报警- 21 -大连水产学院本科毕业论文(设计) 摘要AbstractAs the development of science and technology day by day, the key control system is more in line with the requirements of people. The paper presents a cryptographic smart password control based on MCU and serial EEPROM, describes hardware structure and software design of the system. It adopts AT89S51 and AT24C01, realizes the function of cryptographic smart password control. AT89S51 communicates with AT24C01 by I2C bus to achieve the password control function.This article from the economical and practical point of view, the use of the United States Atmel Corporation AT89S51 microcontroller as a master chip and the data memory unit, combined with the external matrix keyboard input, LED digital display, alarm, unlock and so on, dominated by the C programming language chip EEPROM of the control procedures and the combination of reading and writing program designed to change a password many times, the police function with the electronic the password control. This circuit design with anti-test button input, intelligent control lock, unlock, alarm, multiple functions, such as Change Password. Password length can be changed, even more secret and flexible than others.Experiments show that the password control system is characterized by its reasonable designing methods, simple operation, low cost and property of safety and practicalityBesides,the password control can be used in the office and has great potential for commercial developmentKey Words:Password control; Single-chip; EEPROM read and write procedures; Alarm大连水产学院本科毕业论文(设计) 目录目录摘要IAbstractII目录III第一章 引言- 1 -1.1选题背景- 1 -1.2电子密码控制简介- 1 -1.3电子密码控制的发展趋势- 1 -1.4本设计所要实现的目标- 2 -第二章 电话报警电路的设计- 3 -2.1 电话报警电路总图- 3 -2.2 模拟摘机电路设计- 4 -2.3 DTMF信号输出放大电路的设计- 5 -2.4 MT8880的介绍- 5 -第三章 语音录放电路的设计- 7 -3.1 ISD1760功能概述- 7 -3.2 ISD1760使用要点- 8 -3.3 ISD1760的外围电路设计- 8 -第四章 音频放大和声控报警电路的设计- 9 -4.1 音频放大电路的设计- 9 -4.2 声控报警电路- 9 -4.3掉电保护电路的设计- 10 -第五章 程序设计- 12 -5.1 按键功能设计- 12 -5.2功能开锁模块的程序设计- 12 -第六章 键盘输入和显示电路的设计- 16 -6.1 键盘输入部分的设计- 16 -6.2 显示部分的设计- 17 -第七章 结束语- 18 -参考文献- 19 -致 谢- 20 -附录- 21 -大连水产学院本科毕业论文(设计) 第一章 引言第一章 引言1.1 选题背景在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。1.2 电子密码控制简介电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。电子密码控制不论性能还是安全性都已大大超过了机械类。其特点如下:1) 保密性好,编码量多,远远大于机械控制。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码控制系统具有操作简单易行,一学即会的特点。1.3 电子密码控制的发展趋势由于电子器件所限,以前开发的电子密码控制系统,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,后来便是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码控制系统也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了更为真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码控制系统 。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为电子信息,组合使用这些信息能够使电子防盗密码控制获得更高的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗密码控制系统。组合使用信息也能够使电子防盗密码控制系统获得无穷扩展的可能。可以看出组合使用电子信息是电子密码控制系统今后发展的趋势 。1.4 本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。大连水产学院本科毕业论文(设计) 第二章 电话报警电路的设计第二章 电话报警电路的设计2.1 电话报警电路总图 电话报警电路如图2-1所示。该电路主要完成模拟摘机、线路状态检测与DTMF拨号功能。MT8800以DTMF拨号方式拨打预先存储的电话号码。TONE输出的DTMF信号经过音频放大电路放大后发送到电话线上(否则交换机不能识别所发送的号码数据)。图2-1 电话报警电路2.2 模拟摘机电路设计单片机控制MT8880发送或接受DTMF信号前,需要进行模拟摘机。实现模拟摘机的电路如图2-2所示。其中,整流桥BRIDGE1可以调整电话线直流电压极性,R12为模拟摘机电阻。TEL端加低电平时,三极管2N5551和2N5401均处于截止状态,直流环路断开,反馈电流为零,交换机检测到未摘机;TEL端加高电平时,2N5551和2N5401均饱和导通,直流环路接通,将R12接入电话线两端,电话线上电压由50V降低到34V,环路内产生大于10mA的反馈电流,交换机检测到摘机。实现模拟摘机的电路如图2-2所示图 2-2 模拟摘机电路2.3 DTMF信号输出放大电路的设计单片机控制MT8880产生的DTMF信号由TONE端输出,幅值为550mV(测量波形时,将TONE端对地接一个10K的电阻,示波器要用隔离变压器隔离或者与电话线断开,否则示波器的接地端将短接电话线的直流电压);而交换机能够检测到的有效DTMF信号幅值为2.5V,因此,MT8880产生的DTMF信号需要经过放大才能被交换机识别。这里选择三极管2N5551作为放大元件,放大电路的放大倍数设为5,经过放大后,发送到电话线上的信号约为3V(允许存在失真现象,不影响正常拨号),能被交换机识别。DTMF信号放大电路如图2-3所示。图2-3 DTMF信号放大电路2.4 MT8880的介绍MT8880是Zarlink公司生产的集成DTMF信号的编码和解码芯片。该芯片具有集成度高,功耗低,可编程控制等特点,能够与多种单片机接口实现DTMF信号发送、接收和状态检测等功能。 电源端VDD为芯片工作的电源电压,使用5V电压。VSS接地。VREF为芯片内部基准电压输出端。由VDD和VSS产生,通常为VDD/2,可作为芯片内部运放的偏置电压。数据端IN+为DTMF信号的同向放大输入端,IN为反向放大输入端。D0D3为4位数据总线,与TTL电平兼容。当片选信号无效或12脚为低电平时,总线处于高阻态。TONE为DTMF信号输出端。控制端CS为片选信号输入端,低电平有效。R/W为读写信号输入端,与TTL电平兼容。GS为增益选择端。该端外接反馈电阻与运放输入端的电阻产生前置DTMF放大信号。IRQ/CP为中断请求信号输出端/呼叫处理模式信号输出端。漏极开路输出,使用时外接3到10K的上拉电阻。在DTMF模式下,当接收到一个有效的DTMF信号时,该端输出一个负脉冲;在CP模式下,中断方式有效,当检测到电话线路上的不同信号时,该端输出不同频率的矩形波信号。EST为初始控制输出端。检测到有效的DTMF信号,EST输出高电平;否则输出低电平。大连水产学院本科毕业论文(设计) 第三章 语音录放电路的设计第三章 语音录放电路的设计语音录放电路如图3-1所示。对ISD1760的录音操作,使用独立按键操作方式,持续按下SC_3键,从MK端输入语音信号,D1_C的LED灯亮,表示正在录音。放音操作由单片机通过SPI总线控制。由TONE输出的语音信号经过音频放大电路放大后发送到电话线上。图 3-1 语音录放电路3.1 ISD1760功能概述 ISD1760是Nuvoton公司出产的一款高质量、高集成度的单片多信息语音录放芯片。芯片内部包含自动增益控制、麦克风前置放大器、扬声器驱动线路、振荡器和内存等电路单元,适用于多种电子系统。该芯片可以实现录放语音10万次,存储内容可掉电保存;音质好,电源电压范围宽;控制方式灵活方便,可通过独立按键模式或SPI模式分别控制,实现语音录放,擦除等操作;语音信号输入方式有MIC和ANAIN两种录音模式;调节采样电阻值可改变采样频率,同时可改变录放音时间长短。3.2 ISD1760使用要点 ISD1760的引脚结构及功能如下:(1)电源端:VCCD为数字电源电压端。VCCA为模拟电源电压端。VCCP为PWM喇叭驱动电源端。在实际应用中,VCCD、VCCA和VCCP连接在一起,提供芯片工作电压,电压输入范围为2.4V到5.5V,一般使用5V电压。在PCB布线时VCCD、VCCA和VCCP采用单点接电源方式,并与接地端之间并入10UF的极性电容和0.1UF的瓷片电容。VSSP1为PWM喇叭正极驱动地端。VSSP2为喇叭负极驱动地端。VSSA为模拟电源地端,VSSD为数字电源地端。在PCB布线时,VSSP1、VSSP2、VSSA、VSSD之间采用单点接地方式。(2)信号端:AnaIn为模拟信号辅助输入端。当芯片处于录音或直通方式时,辅助输入模拟信号。MIC+为麦克风差分信号同向输入端。MIC-为麦克风差分信号反向输入端。SP+为喇叭正极输出端。SP-为喇叭负极输出端。AUD/AUX为辅助输出端。AUD为单端电流输出,AUX为单端电压输出,默认设置为AUD输出。INT/RDY为工作状态指示信号输出。输出低电平表示当前芯片忙,输出高电平表示当前芯片空闲。该端为漏极开路输出,使用时需要外接3K到10K的上拉电阻。LED为工作状态指示输出,低电平有效。(3)控制端:RESET为复位信号输入端,低电平有效。SS为SPI借口的片选信号输入端,低电平有效。SCLK为SPI接口的串行时钟信号输入端,低电平有效。MISO为SPI接口的数据输出端,MOSI为SPI借口的数据输入端。AGC为自动增益控制端。ROSC为外接震荡电阻输入端,外接电阻大小决定ISD1760的采样频率。VOL为音量控制端,低电平有效。FT为直通方式控制端,低电平有效。PLAY为放音控制端,低电平有效。REC为录音控制端,低电平有效。ERASE为擦除控制端,低电平有效。PWD为快进控制端,低电平有效。3.3 ISD1760的外围电路设计外围电路的设计要点在于ISD1760与单片机接口的设计。这里选择ISD1760的SPI工作方式,需要利用单片机的I/O口模拟SPI接口。为了方便设置ISD1760的采样频率,电路提供四个可选的震荡电阻,分别为53K、82K、100K、160K,这里选择82K语音信号由麦克风输入,由SP+和SP-输出。大连水产学院本科毕业论文(设计) 第四章 音频放大和声控报警电路的设计第四章 音频放大和声控报警电路的设计4.1 音频放大电路的设计音频放大电路如图4-1所示,采用单管反向放大电路实现音频放大。由于语音信号和DTMF信号均属于音频信号的频率范围,因此可以共用一个放大电路。音频信号只取决于频率大小,与相位无关,所以反向放大对音频信号和DTMF拨号没有影响。图 4-1 音频放大电路放大倍数的计算4.2 声控报警电路声控报警电路如图4-2所示,在P14端输入低电平时,蜂鸣器发出声音报警。图4-2 声控报警电路4.3掉电保护电路的设计图4-3 掉电保护电路掉电保护电路如图4-3所示,系统采用EPROM芯片AT24C08B的WP端接GND。4.3.1 AT24C08B功能概述 AT24C08B是一种8K的两线制串行EEPROM,它的工作电压范围宽,可适用于标准电压和低电压操作,可以很方便的应用到低功耗,低电压场合;内部采用施密特触发器过滤输入的数据,可以很好的抑制噪声干扰;带数据硬件写保护功能。4.3.1 AT24C08B的引脚及其功能电源端:VCC为芯片工作电源电压,电压范围1.8-5.5V。GND为接地端。控制端:SCL为串行时钟输入端。在数据的上升沿,数据写入每个EEPROM单元;在时钟的下降沿,数据从每个EEPROM单元中读取。应用时应在该端外加上拉电阻1K-10K。地址输入端:A2 A1 A0为地址输入端。这些引脚用于多个器件级联时设置器件地址。在同一I2C总线上,最多只能连接两个AT24C08B器件,则A2可以直接接地。写保护端:WP为写保护端。该端接VCC时,所有的存储单元都被写保护,只允许进行读操作;该端接地时,允许器件进行正常的读写操作。大连水产学院本科毕业论文(设计) 第五章 程序设计第五章 程序设计5.1 按键功能设计系统20个按键的功能定义如图5-1所示。K0-K14为数字键0-E,其中0-E用于设置密码,0-9用于设置电话号码;其他5个键作为功能键,用于基本操作的选择。单独的矩阵键盘是非编码键盘,连接CH451使用时,CH451提供内部编码。0 123456789ABCDE密码更改电话更改开锁取消确定图 5-1 20个按键的功能定义5.2 功能开锁模块的程序设计5.2.1 密码输入的程序设计在开锁,密码更改或手机号码更改时,都需要输入密码,也就是调用密码输入子程序。密码输入操作过程如下:输入六位密码后按下“确定”键,若密码正确,则密码正确标志位置1;若密码错误,则错误次数加1,当密码输入错误累计超过3次时,密码正确标志位清0。若按下取消键,则退出密码输入操作。密码输入子程序的流程图如图5-2所示。密码输入子程序取消?输入六位密码确定?密码正确?密码输入次数+1累计错误次数=3?密码正确标志位置1密码正确标志位清零返回图 5-2 密码输入子程序流程图5.2.2 开锁的程序设计开锁的过程如下:若输入密码正确,则密码错误次数清零,并发出开锁信号开锁;若密码输入错误的累计次数超过三次,则进行声光和电话报警。开锁的子程序流程如图5-3所示。密码正确?调用密码输入子程序输入次数清零开锁返回累计错误次数=3?开锁子程序调用声光和电话报警子程序图 5-2 开锁子程序流程图5.2.3 密码更改的程序设计密码更改要求先输入原始密码,具体操作过程如下:若输入的原始密码正确,密码错误次数清零,输入新密码后按下确定键,密码更改完成。若按下取消键则退出密码更改操作。若密码输入错误次数超过3次,则进行声光和电话报警。密码更改子程序调用密码输入子程序密码正确?显示HELLO输入新密码保存密码返回调用报警子程序图 5-4 密码更改子程序流程图5.2.4 手机号码更改的程序设计 手机号码更改要求输入原始密码,若密码正确,密码输入错误次数清零,显示HELLO,输入新的手机号码后按下确认键,手机号码更改完成。手机号码更改的子程序流程图与密码更改的子程序流程图相同,这里不在重复。图 5-3 电压/电流转换电路大连水产学院本科毕业论文(设计) 第六章 保护电路的设计第六章 键盘输入和显示电路的设计作为整个系统来讲,键盘输入和显示电路的设计是必不可少的。这里使用矩阵键盘输入模式和功耗低且价格低的LED作为显示器件,设计简单,使用方便,而且使用寿命比LCD的使用寿命长,比较实用。6.1 键盘输入部分的设计这里选择CH451L作为键盘输入和驱动数码管显示的核心芯片。CH451L是一个整合了数码管显示驱动和键盘扫描控制的多功能外围芯片。CH451L内置震荡电路,内部具有8个8位能保存数字数据的数据寄存器,内部具有推挽式大电流驱动级,可以驱动8位最大两英寸的数码管或者64个LED发光管,并具有BCD译码,闪烁,移位等功能。同时还可以进行64键的键盘扫描,内置去抖电路。CH451L窜行接口由硬件实现,可以频繁的通过可级联的串行接口与单片机高速交换数据,而绝对不会降低CH451L的工作效率,提供上电复位和看门狗等监控功能。 关于键盘输入部分的设计请参看下一章第一节。6.2 显示部分的设计CH451L可以驱动8个共阴极数码管,本设计选用2个四位连体的共阴极数码管,型号为HS420361K。所有数码管的相同段引脚并联后通过串联的限流电阻连接CH451L的段驱动引脚SEG0SEG7,各数码管的阴极分别由CH451L的DIG0DIG7引脚进行驱动。串接限流电阻的阻值越大,则驱动电流越小,数码管的显示亮度越低,阻值范围一般为601K,在其他条件相同的情况下,应该优先选择阻值大的电阻。在5V电源电压下,串接200电阻通常对应的段电流为13mA。在数码管的面板布局上,建议数码管按照从左到右的布局,以便匹配显示的需要。大连水产学院本科毕业论文(设计) 第七章 结束语第七章 结束语在毕业设计中,通过对各部分电路的设计,使我认识到如何做好一个完整的设计。在设计过程中,详细查询了各部分相关的知识,使我对单片机、模拟电子技术、数字电子技术、电力电子技术等知识有了进一步的了解。同时,使我们所学的专业理论知识与实际的科技开发结合起来,通过理论与实际的结合,提高了我们综合运用知识的能力和实际动手能力。在整个设计过程中,通过对设计方法的了解,设计步骤的选择,使我对设计有了总体的把握,对后面具体的实施有了可靠的保证;在设计中,通过对设计原理的思考,原理图的绘制,电路板的制作,电路的调试,基本上了解和掌握了科技开发的基本方法和步骤,为毕业后工作与学习打下良好的基础。但是,由于作者水平有限,在本设计中疏忽、错误之处难免,希望老师和同学给予批评、指正。大连水产学院本科毕业论文(设计) 参考文献 参考文献1 董传岱,于云华. 数字电子技术. 东营:石油大学出版社,20012 刘润华,刘立山. 模拟电子技术. 东营:石油大学出版社,20013 王兆安,黄俊. 电力电子技术(第四版).北京:机械工业出版社,20004 陈治明 主编. 电力电子器件基础. 北京:机械工业出版社,19925 侯振义 主编. 直流开关电源技术及应用. 北京:电子工业出版社,20066 李序葆,赵永健. 电力电子器件及其应用. 北京:机械工业出版社,19967 于安红 主编. 简明电子元器件手册. 上海:上海交通大学出版社,20058 王新贤 主编. 通用集成电路速查手册. 济南:山东科学技术出版社,20029 常健生 主编. 检测与转换技术. 北京:机械工业出版社,200510 曲学基 主编. 新编高频开关稳压电源. 北京:电子工业出版社,200511 Bord D.M., Novotny D.W. Current Control of VSI-PWM Inverter. IEEE Trons.IA,1985,21(2)12 RaShid MH. Power Electronics. Prentice-Hall, Inc, 198813 Leonhard, W. Control of Electrical Drives 3rd ed. Springer-Verlag, 2001大连水产学院本科毕业论文(设计) 致谢致 谢作者在设计的过程中,得到了张老师的精心指导。四个月来,从设计方案的构思,到各部分电路的原理分析和参数计算,再到论文定稿,都凝聚着老师的心血和教诲。特别是原理分析部分和参数计算过程,老师都仔细给予了指导。张老师治学严谨,学识渊博,从事工程设计开发多年,经验丰富,为我营造了一种良好的精神氛围。从设计一开始程老师就告诉我们“授人以鱼不如授人以渔”的道理,使我意识到做设计不是摘摘抄抄就可以完成的,要自己真正下工夫。在做设计的这些天里,每当遇到困难时,程老师都给予了大力的支持,使我不仅接受了全新的思想观念,领会了基本的思考方式,掌握了通用的研究方法,而且还明白了许多待人接物与为人处世的道理。值此论文完稿之际,谨向尊敬的导师表示最诚挚的谢意。衷心地感谢所有帮助过我的老师、同学和朋友们。附录附录#include #include Function_Test.h#include AT24C_BC.h#include ch451.h#include ISD1760.h#include MT8880Send.h/ 主程序/void main (void) TEL = 0; / 模拟挂机Delay_50ms(4); / 跳过CH451复位过程SoftReset_at24c();/ 软件复位24C08Bch451_init(); / CH451初始化 ISD_Init(); / ISD1760初始化MT8880_Init(); / MT8880初始化leddispp = 0; / 初始选择数码管位7为显示位置errtimes = 0; / 输入密码错误次数统计清零pwrightf = 0; / 密码正确与否标志位,=1表示输入的密码正确 cancelf = 0; / 取消键是否按下标志位,=1表示取消键按下enterf = 0; / enterf=0,表示确认键没有按下;enterf=1,表示确认键有按下disp_(); / 显示8个-EA = 1; / 开总中断 while (1) keyscan();/ 按键扫描 switch (key_value)/ 由键值散装 case 0x0f:PwAlter();break; / 密码更改case 0x10:MobNumAtler();break;/ 手机号码更改 case 0x11:SimUnlock();break; /开锁 void start_at24c (void)VSDA = 1;VSCL = 1; / SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)DELAY_NOP;/ 起始信号的最小建立时间:0.25us(5V),0.6us(/5V)VSDA = 0;/ SDA的下降沿发送起始信号DELAY_NOP;/ 起始信号的最小保持时间:0.25us(5V),0.6us(/5V)VSCL = 0;/ 箝住总线,为发送器件地址做准备;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V),由RET实现/-/ void stop_at24c (void)/-/ 函数功能: 单片机发送停止信号/void stop_at24c (void)VSDA = 0;VSCL = 1;/ SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)DELAY_NOP;/ 停止信号的最小建立时间:0.25us(5V),0.6us(/5V)VSDA = 1;/ SDA的上升沿发送停止信号DELAY_NOP;/ 新的发送开始前总线最小空闲时间:1.2us(5V),0.5us(/5V)/VSDA=0;VSCL = 0;/ 箝住总线,为新的发送做准备;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V),由RET实现/-/ void ack_at24c (void)/-/ 函数功能: 单片机发送应答信号注意事项: 单片机读1B数据后发送一个应答信号/void ack_at24c (void)VSDA = 0;VSCL = 1;/ SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)DELAY_NOP;VSCL = 0;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V)VSDA = 1;/-/ void notack_at24c (void)/-/ 函数功能: 单片机发送非应答信号/ 入口参数: 无/ 返回参数: 无/ 全局变量: 无/ 调用模块: 无 / 注意事项: 单片机读数据停止前发送一个非应答信号/-void notack_at24c (void)VSDA = 1;VSCL = 1;/ SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)DELAY_NOP;VSCL = 0;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V)VSDA = 0;/-/ void CheckAck_at24c (void)/-/ 函数功能: 单片机检查AT24C送来的应答信号/ 入口参数: 无/ 返回参数: 无/ 全局变量: RevAckf:收到AT24C应答信号的标志位,为0表示收到/ 调用模块: 无 / 注意事项: 单片机写1个地址/数据后检查/-void CheckAck_at24c (void)VSDA = 1;/ 置SDA为输入口VSCL = 1;/ 使SDA上数据有效;SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)RevAckf = 0;/预设单片机收到应答信号if (VSDA)/检查SDA状态,有应答则RevAckf=0RevAckf = 1;/ 无应答则RevAckf=1VSCL = 0;/ 箝住总线,为新的发送做准备;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V),由RET实现/-/ void SoftReset_at24c (void)/-/ 函数功能: 单片机软件复位AT24C/ 入口参数: 无/ 返回参数: 无/ 全局变量: 无/ 调用模块: start_at24c();stop_at24c() / 注意事项: /-void SoftReset_at24c (void)uchar i;/ 数据位数暂存单元 start_at24c(); / 发送起始信号for (i=9; i0; i-)VSDA = 1;/ 发送9个连续的1VSCL = 1;/ 使SDA上的数据有效DELAY_NOP;/ SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)VSCL = 0;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V) start_at24c(); / 发送起始信号 stop_at24c(); / 发送停止信号/-/ void WrByte_at24c (uchar a)/ 函数功能: 单片机发送1B的地址/数据/ 入口参数: 待发送的1B地址/数据/ 返回参数: 无/ 全局变量: 无/ 调用模块: 无 / 注意事项: 不是一个完整的数据发送过程;送数的顺序是从高到低/-void WrByte_at24c (uchar a)uchar i;/ 地址/数据位数暂存单元for (i=8; i0; i-)/ 8为1B地址/数据的长度if (a&0x80) VSDA = 1;/ 发送1elseVSDA = 0;/ 发送0VSCL = 1;/ 使SDA上的数据有效DELAY_NOP;/ SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)VSCL = 0;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V)a 0; cts-)VSCL = 1; / 使SDA上的数据有效;SCL最小高电平脉宽:0.4us(5V),0.6us(/5V)b = 1;/ 数据b左移1位,注意以下两句顺序不可颠倒if (VSDA)/ 读入SDA上的数据 b |= 0x01;VSCL = 0;/ SCL为低电平允许SDA上的数据变化DELAY_NOP;/ SCL最小低电平脉宽:0.4us(5V),1.2us(/5V) return (b); / 返回1B的数据/-/ void Delay_5ms (u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司法财务课件
- 资本论核心思想解读
- 快速制作行政人事汇报
- 血透长期留置导管的护理
- 《珀尔赛福涅》课件
- 输血的注意事项及护理
- 2025机械设备购销合同模板大全
- 2025司法考试合同法中合同无效与合同效力问题
- 2025融资居间合同范本含授权委托书,保密协议,融资确认函
- 永久基本农田划定工作总结
- 一种模块化无线供电书桌的设计获奖科研报告
- (正式版)JBT 106-2024 阀门的标志和涂装
- 家庭教育指导服务站工作制度
- 《学术诚信讲座》课件
- 手机行业售后管理制度
- 肇庆端州正西社区评估报告
- 朝天椒栽培技术课件
- 科研伦理与学术规范-课后作业答案
- 斯蒂芬金英语介绍
- 秋天的雨 省赛获奖
- JJF 1015-2014计量器具型式评价通用规范
评论
0/150
提交评论