版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . 摘 要 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计采用单片机为主控芯片,结合外围电路,通过编程来实现功能。本次课程设计采用现在流行的、移植方面更加灵活的、方便易懂的 C 语言。整个程序采用结构化模块化的方法,使得程序在修改方面显得非常的方便快捷。用户想要打开锁必先通过提供的键盘输入正确的密码才能将锁打开,如果密码输入错误,会报警;三次以上,锁定键盘,亮红灯。密码输入正确,亮绿灯。 本次设计采用的硬件有 AT89C51 芯片,采用它作为运算芯片;采用中断方式判断 4*4 矩阵键盘是否有按键按下,并核对密码;在显示方面,每
2、输入一次数值,都会在 LCD 上显示。使得整个设计更具有视觉性。关键词:电子密码锁、单片机、报警目 录第 1 章 系统总体设计 .11.1 系统结构.11.2 系统组成 91.3 系统可行性分析 10第 2 章 硬件电路设计 .112.1 单片机 AT89C52 简介 112.2 4*4 矩阵键盘 152.3 1604LCD 液晶显示屏 162.4 发光二极管 LED252.5 蜂鸣器 262.6 电路原理图 .312.7 电路仿真图 .32第 3 章 软件程序设计 .334.1 软件设计流程图 344.2 程序 35参考文献 39 . 2 / 39致 40附录 1:PCB 封装电路图 .41
3、附录 2.1:密码锁设计主程序.42附录 2.2:键扫程序.47附录 2.3:12864 显示子程序 .49附录 2.4:AT2402 存储子程序 .53 . 第 1 章 系统总体设计1.1 系统结构 AT89C51液晶显示屏蜂鸣器LED44 键盘上拉电阻 图 11 系统结构图1.2 系统组成如图 21 所示系统主要由 AT89C51、1602 液晶显示器、LED、4*4 矩阵键盘、蜂鸣器电路等组成。电源 . 2 / 391.3 系统可行性分析 系统工作原理分析:使用 AT89C51 单片机、4*4 矩阵键盘、LED、1602 液晶显示器等。矩阵键盘分别为 0、1、2、3、4、5、6、7、8、
4、9、确认键组成。系统开始显示“WELCOMINPUT”提示输入密码;输入密码时,LCD 显示电路显示为“*” ,当密码输入完毕按下确认键时,对输入密码与设定的密码进行比较,若密码正确则 LCD显示电路显示为“welcom ight open”提示绿灯亮;若密码不正确,LCD 显示电路显示提示“worry” 。蜂鸣器发声,三次红灯亮,锁定键盘,可以提高系统的安全系数。第 2 章 硬件电路设计2.1 单片机 AT89C51 简介AT89C51 为 ATMEL 所生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K在系统可编程 Flsah 存储器。1 AT89S52 主要功能列举如下:(1)
5、拥有灵巧的 8 位 CPU 和在系统可编程 Flash . 3 / 39(2)晶片部具时钟振荡器(传统最高工作频率可至 12MHz)(3)部程序存储器(ROM)为 8KB(4) 部数据存储器(RAM)为 256 字节(5) 32 个可编程 I/O 口线(6) 8 个中断向量源(7) 三个 16 位定时器/计数器(8) 三级加密程序存储器(9) 全双工 UART 串行通道2.MCS-51 的引脚说明:MCS-51 系列单片机中的 8031、8051 与 8751 均采用 40Pin 封装的双列直接 DIP结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4
6、 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在我们对这些引脚的功能加以说明:MCS-51 的引脚说明:MCS-51 系列单片机中的 8031、8051 与 8751 均采用 40Pin 封装的双列直接 DIP结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在我们对这些引脚的功能加以说明:如图 2.1.2图 2.1.2 89C51 的引脚结构 . 4 / 392.2 4*4 矩阵键盘矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。节
7、省 I/O 口。矩阵键盘工作原理:行线通过上拉电阻接到+5V 上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。如图所示,本系统采用 4*4 矩阵键盘,前 11 个按键按顺序分别为0、1、2、3、4、5、6、7、8、9、确认键,后面的键未定义。用户只能通过键盘输入密码。图 32 4*4 矩阵键盘原理图3.5 1602LCD 液晶显示屏图 35 液晶屏电路原理图 3.5.1 概述LCD 是一种利用液晶的扭曲、向列效应制成的新型显示器。它具有体积小,质量轻,功耗低,抵制干扰能力强等优点,因而在单片机系统
8、中被广泛应用。LCD 本身不发光,是通过借助外界光线照射液晶材料而实现显示的被动显示器件 . 5 / 393.5.2 基本特性:(1)、低电源电压(VDD:+3.0-+5.5V)(2)、显示分辨率:12864 点 (3)、置汉字字库,提供 8192 个 1616 点阵汉字(简繁体可选) (4)、置 128 个 168 点阵字符 (5)、2MHZ 时钟频率 (6)、显示方式:STN、半透、正显 (7)、驱动方式:1/32DUTY,1/5BIAS (8)、视角方向:6 点 (9)、背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/51/10 (10)、通讯方式:串行、并口可选 (11)
9、、置 DC-DC 转换电路,无需外加负压 (12)、无需片选信号,简化软件设计(13)、工作温度: 0 - +55 ,存储温度: -20 - +60模块接口说明:*注释 1:如在实际应用中仅使用串口通讯模式,可将 PSB 接固定低电平,也可以将模块上的 J8 和“GND”用焊锡短接。*注释 2:模块部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。*注释 3:如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。3.5.3 并行接口管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示 D
10、B7DB0 为显示数据RS=“L”,表示 DB7DB0 为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到 DB7DB0R/W=“L”,E=“HL”, DB7DB0 的数据被写到 IR 或 DR6E(SCLK)H/L使能信号 . 6 / 397DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8 位或 4 位并口方式,L:串口方式(见注释 1)16NC-空脚17/RESETH/L复位端,低电平有效(见
11、注释 2)18VOUT-LCD 驱动电压输出端19AVDD背光源正端(+5V)(见注释 3)20KVSS背光源负端(见注释 3)*注释 1:如在实际应用中仅使用并口通讯模式,可将 PSB 接固定高电平,也可以将模块上的 J8和“VCC”用焊锡短接。*注释 2:模块部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释 3:如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。四.模块主要硬件构成说明3.5.4 控制器接口信号说明 1、RS,R/W 的配合选择决定控制界面的 4 种模式RSR/W功能说明00MPU 写指令到指令暂存器(IR)01读出忙标志(BF)与地址记
12、数器(AC)的状态 . 7 / 3910MPU 写入数据到数据暂存器(DR)11MPU 从数据暂存器(DR)中读出 2、E 信号E 状态执行动作结果高低I/O 缓冲DR配合/W 进行写数据或指令高DRI/O 缓冲配合 R 进行读数据或指令低/低高无动作 3 、忙标志:BF BF 标志提供部工作情况.BF=1 表示模块在进行部操作,此时模块不接受外部指令和数据.BF=0 时,模块为准备状态,随时可接受外部指令和数据.利用 STATUS RD 指令,可以将 BF 读到 DB7 总线,从而检验模块之工作状态. 4、字型产生 ROM(CGROM): 字型产生 ROM(CGROM)提供 8192 个此触
13、发器是用于模块屏幕显示开和关的控制。DFF=1 为开显示(DISPLAY ON),DDRAM 的容就显示在屏幕上,DFF=0 为关显示(DISPLAY OFF)。DFF 的状态是指令 DISPLAY ON/OFF 和 RST 信号控制的。 5、显示数据 RAM(DDRAM)模块部显示数据 RAM 提供 642 个位元组的空间,最多可控制 4 行 16 字(64 个字)的中文字型显示,当写入显示数据 RAM 时,可分别显示 CGROM 与 CGRAM 的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM 字型与 CGROM 的中文字型,三种字型的选择,由在 DDRAM 中写入
14、的编码选择,在 0000H0006H 的编码中(其代码分别是 0000、0002、0004、0006 共 4 个)将选择 CGRAM 的自定义字型,02H7FH 的编码中将选择半角英数字的字型,至于 A1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码 BIG5(A140D75F),GB(A1A0-F7FFH)。 6、字型产生 RAM(CGRAM) 字型产生 RAM 提供图象定义(造字)功能, 可以提供四组 1616 点的自定义图象空间,使用者可以将部字型没有提供的图象字型自行定义到 CGRAM 中,便可和CGROM 中的定义一样地通过 DDRAM 显示在屏幕中。
15、. 8 / 39 7、地址计数器 AC 地址计数器是用来贮存 DDRAM/CGRAM 之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入 DDRAM/CGRAM 的值时,地址计数器的值就会自动加一,当 RS 为“0”时而 R/W 为“1”时,地址计数器的值会被读取到 DB6DB0 中。 8、光标/闪烁控制电路 此模块提供硬体光标与闪烁控制电路,由地址计数器的值来指定 DDRAM 中的光标或闪烁位置。3.6 发光二极管 LED图 36 二极管 LED LED 是单片机应用系统中常用的输出设备,LED 由发光二极管构成,具有结构简单、价格便宜等特点。在本次设计中用到了两个 LED。它们由
16、引脚控制,当密码正确时相应的引脚变为低电平从而发光,绿灯亮。错误时红灯亮。 3.8 蜂鸣器图 38 蜂鸣器由于蜂鸣器使用 P1 口驱动要加上上拉电阻如图 38。当密码输入错误,P1 口变为高电平从而使蜂鸣器发声。 . 9 / 39 . 10 / 393.9 电路原理图电路仿真图 . 11 / 39第 4 章 软件程序设计本系统软件设计由主程序,初始化程序,LCD 显示程序,键盘扫描程序组成。主要程序设计流程图如下所示: . 12 / 394.1软件设计流程图 . 13 / 39开始输入密码正确否?开锁判断按键1 键更改密码键上锁结束输入密码正确否?输入新密码再次输入一致否?修改密码YesNoN
17、oYesNoYes图 41 软件设计流程图 . 14 / 394.2 具体功能软件实施4.2.1 开始等待流程 系统开始一直显示提示“请输入密码”,并判断有否按键,当有键按下跳出等待。开始显示“输入密码”判断是否有按键?结束NoYes图 42 开始等待流程4.2.2 密码检查功能本系统使用数组 PASSWORD6存储密码,系统初始化对数组负值 PASSWORD61,6,7,9,10,11相当于键盘上的 1,2,3,4,5,6。输入密码的时候,先将输入的每一位密码分别放置在数组 key6中,然后再将 key6与 PASSWORD6的每一位分别对照。若每一位都相等,密码检查通过。 . 15 / 3
18、9开始输入一位密码,显示屏显示“*”K=6?k=0按键为?结束YesNoNoYes图 43 密码检查4.2.3 键盘扫描如图 3-2,本系统使用 44 矩阵键盘当没有键按下时,行线和列线之间是不相连的,若第 N 行与第 M 列的键被按下,那么第 N 行与第 M 列的线就被接通。根据上述原理,本系统的键盘扫描方法是利用 P1 口的低四位作为行扫描线,P1 口的高四位作为列回扫线。具体实施方法为:先使 P1.0 口输出低电平,P1 口其他口输出高电平,然后对 P1.4、P1.5、P1.6、P1.7 四个口分别作判断。若此四口都为高电平,则没有键按下;若有键按下,P1.4、P1.5、P1.6、P1.
19、7 四个口必定有一个口输入为低电平,再判断 P1.4、P1.5、P1.6、P1.7 哪个口为低电平则可判断按键在哪列上。如 P1.4、P1.5、P1.6、P1.7 没有低电平,再使 P1.1 为低电平,其他口为高电平,依次扫描下去,找到按键所在的行,再判断 P2 口的高四位哪一位为低,便可知道键在哪一列上。键盘扫描子程序 key()如下:/* . 16 / 3934 矩阵键盘输入函数*/ #ifndef _keypad_h_#define _keypad_h_#include#include#include#define uchar unsigned char#define uint unsi
20、gned intuchar idata com1,com2;uchar key_scan() uchar temp; uchar ; P1=0 xf8; delay(5); if(P1!=0 xf8) com1=P1; P1=0 x0f; com2=P1; P1=0 xf8;delay(5); while(P1!=0 xf8); temp=com1|com2;while(P1&0 xf0)!=0 xf0);while(P1&0 xf0)!=0 xf0); . 17 / 39if(temp=0 xee)=0 x01;if(temp=0 xed)=0 x02;if(temp=0 xeb)=0 x0
21、3;if(temp=0 xde)=0 x04;if(temp=0 xdd)=0 x05;if(temp=0 xdb)=0 x06;if(temp=0 xbe)=0 x07;if(temp=0 xbd)=0 x08;if(temp=0 xbb)=0 x09;if(temp=0 x7e)=0 x0a; /10 为键值,其代码功能为清除 if(temp=0 x7d)=0 x00;if(temp=0 x7b)=0 x0b; /其代码功能为输入密码结束并确认 ,即开锁 return();#endif4.2.5 修改密码本系统设定的修改密码过程为,在输入正确的密码后,按“确认”键,此时提示输入旧密码“请输
22、入密码”,输入正确的旧密码后,可以输入新密码。此时键入的六位新密码将保存到数组 key6中。然后显示器提示再次输入,输入完毕后,第二次输入的密码将保存在 iic6中,然后将 key6中六位分别与 iic6中的六位比对,若两次密码输入一直,即将新的密码,也就是 iic6和 iic6中的六位赋值到 PASSWORD6中。此时修改密码工作完成,屏幕显示“密码修改成功”。系统将跳翻到开始,即提示输入密码“INPUT”。 . 18 / 39参考文献1 当方微型计算机控制技术M中国水利水电,2001 年2 胡汉才单片机原理与其借口技术M清华大学,1996 年3 新民智能仪器设计基础M工业大学,1999 年
23、4 新,民王,燕芳微型计算机控制技术M电子工业,2003 年5 钟实实用电子报警器精选百例M:科技技术文献,2002 年6 爱弟Protel99se 实用培训教程M人民邮电,2000 年。7 阎石数字电子技术基础M高等教育,1998 年8 童诗白模拟电子技术基础M高等教育出版涉,1998 年9 候振鹏嵌入式 C 语言程序设计M:人民邮电,2006 年10 徐士良C 语言程序设计教程M:人民邮电,2001 年11 Brian W. Kernighan.TheThe C C ProgrammingProgramming Language.Language. Prentice Hall PTR,19
24、8812Janice Mazidi.80518051 MicrocontrollerMicrocontroller andand EmbeddedEmbedded Systems.Systems. Prentice Hall,199913 .21ic.14 .mcuwork.15 .cndzz.16 .elecfans. . 19 / 39致通过这次毕业设计,让我复习了很多学过的旧知识,同时锻炼了自己的动手能力和查阅资料。尤其是解决在实际中解决排查问题的能力。1、通过这次的设计,我熟悉了使用 Protel 的技巧,学会了制作电路板的一些技巧,并且熟悉了如何选购使用电子元器件。2、在设计中,我学
25、到了如何使用 C 语言对单片机进行编写程序,熟悉了使用 KEIL C 软件,并且加深了对单片机的编程技巧。3、在做这个设计的过程中,我遇到了不少的问题。这锻炼了我筛选、查阅资料,并将理论结合到自己的设计中的能力。一步一步的排除故障原因,找到故障的原因并解决故障。4、这次的设计使我对模拟电子、数字电子知识加深了了解,尤其是在对电路进行调试的时候,出现了很多这些方面的问题,通过对以往知识的复习巩固,将问题解决。 通过次毕业设计,将我从所学到的专业知识,基本都应用上去,感大学三年来,老师对我的教育,让我对掌握了基本的专业技能。同时也感戴老师对我毕业设计的指导,在此表示衷心的感! 这次的设计有很多的不
26、足,和市场上的产品有一定的差距,还请老师同学们提出宝贵意见! . 20 / 39附录 1:PCB 封装电路图 . 21 / 39附录 2.1:密码锁设计主程序/*函数库函数:密码锁设计主程序设 计 者:电信 0902 黄柏成时 间:2012 年 5 月 13 日*/#include#include#include#include#define uchar unsigned char#define uint unsigned intuchar idata key6=0,0,0,0,0,0;uchar idata iic6=1,1,1,0,0,0;void press(uchar *s) ucha
27、r dat;/* write_(0 x98+2); P1=0 xf8;/保存第一位密码 while(P1=0 xf8); dat=key_scan(); if(dat!=0 x0a)&(dat!=0 x0b) *s=dat; write_date(0 x2a); . 22 / 39 s+; /* P1=0 xf8; /保存第二位密码 while(P1=0 xf8); dat=key_scan(); if(dat!=0 x0a)&(dat!=0 x0b) *s=dat; write_date(0 x2a); s+;/* P1=0 xf8; /保存第三位密码 while(P1=0 xf8); da
28、t=key_scan(); if(dat!=0 x0a)&(dat!=0 x0b) *s=dat; write_date(0 x2a); s+;/* P1=0 xf8; /保存第四位密码 while(P1=0 xf8); dat=key_scan(); if(dat!=0 x0a)&(dat!=0 x0b) *s=dat; write_date(0 x2a); s+;/* P1=0 xf8; /保存第五位密码 while(P1=0 xf8); dat=key_scan(); if(dat!=0 x0a)&(dat!=0 x0b) *s=dat; . 23 / 39 write_date(0 x
29、2a); s+;/* P1=0 xf8; /保存第六位密码 while(P1=0 xf8); dat=key_scan(); if(dat!=0 x0a)&(dat!=0 x0b) *s=dat; write_date(0 x2a); /* doP1=0 xf8;/键入 Enter 键盘继续执行下面语句,否则等待 while(P1=0 xf8); dat=key_scan(); while(dat!=0 x0b);void Delay10ms(void) /延时 10ms uint i,j,k;for(i=10;i0;i-)for(j=4;j0;j-)for(k=248;k0;k-);/* 电
30、子密码锁主函数*/void main() uchar dat; uchar i=0,j=0; Init_12864(); for(i=0;i150;i+)Delay10ms(); . 24 / 39/*若密码不正确,循环执行 dowhile()*do System(); /显示:请输入密码字幕 press(key);if(key0=iic0)&(key1=iic1)&(key2=iic2)&(key3=iic3)&(key4=iic4)&(key5=iic5) /密码比较,若密码正确责进入系统,若密码不正确则显示密码错误,重新输入密码 true(); do P1=0 xf8;/键入 1 或 2
31、 继续执行下面语句,否则等待 while(P1=0 xf8); dat=key_scan(); while(dat!=0 x01&dat!=0 x02); if(dat=1) /开锁 unlock(); for(i=0;i100;i+)Delay10ms(); continue; if(dat=2)/修改密码 do System(); press(key); again(); press(iic); if(key0=iic0)&(key1=iic1)&(key2=iic2)&(key3=iic3)&(key4=iic4)&(key5=iic5) . 25 / 39 succeed();/修改密
32、码成功 for(i=0;i100;i+)Delay10ms(); break; else /修改密码不成功,重新修改 repeat(); for(i=0;i100;i+)Delay10ms(); while(1); else /密码不正确,重新输入密码 j+;if(j=3)j=0; error();for(i=0;i50;i+)Delay10ms(); while(1); . 26 / 39附录 2.2:键扫程序/*函数名:44 矩阵键盘输入函数设计者:电信 0902 黄柏成时间:2012 年 5 月 13 日*/ #ifndef _keypad_h_#define _keypad_h_#in
33、clude#include#include#define uchar unsigned char#define uint unsigned intuchar idata com1,com2;uchar key_scan() uchar temp; uchar ; P1=0 xf8; delay(5); if(P1!=0 xf8) com1=P1; P1=0 x0f; com2=P1; . 27 / 39 P1=0 xf8;delay(5); while(P1!=0 xf8); temp=com1|com2;while(P1&0 xf0)!=0 xf0);while(P1&0 xf0)!=0 x
34、f0);if(temp=0 xee)=0 x01;if(temp=0 xed)=0 x02;if(temp=0 xeb)=0 x03;if(temp=0 xde)=0 x04;if(temp=0 xdd)=0 x05;if(temp=0 xdb)=0 x06;if(temp=0 xbe)=0 x07;if(temp=0 xbd)=0 x08;if(temp=0 xbb)=0 x09;if(temp=0 x7e)=0 x0a; /10 为键值,其代码功能为清除 if(temp=0 x7d)=0 x00;if(temp=0 x7b)=0 x0b; /其代码功能为输入密码结束并确认 ,即开锁 ret
35、urn();#endif . 28 / 39附录 2.3:12864 显示子程序/*函数库名称:12864 显示函数 设 计 者:电信 0902 黄柏成时 间: 2012 年 5 月 13 日 */ #ifndef _12864_h_#define _12864_h_#include#include#include#define uchar unsigned char#define uint unsigned int#define PORT P0sbit rs=P30;sbit rw=P31;sbit en=P35;/*驱动函数 void delay(uint z)uint x,y;for(x
36、=z;x0;x-)for(y=110;y0;y-); . 29 / 39/*12864 液晶驱动*/void write_(uchar )delay(5);rs=0;rw=0;P0=;en=1;delay(5);en=0;void write_date(uchar date)delay(5);rs=1;rw=0;P0=date;en=1;delay(5);en=0;/*显示函数*/void display(uchar y, uchar x, uchar *p) switch (y) case 1:write_(0 x7f+x);break; case 2:write_(0 x8f+x);bre
37、ak; case 3:write_(0 x87+x);break; case 4:write_(0 x97+x);break; default:break;while(*p) write_date(*p+); . 30 / 39/* void init_clear() /清屏函数 write_(0 x34);delay(5);write_(0 x30);delay(5);write_(0 x01);delay(5);write_(0 x06);delay(5);write_(0 x0c);void Init_12864() /初始化,显示实验名称 init_clear();display(1,
38、1,工学院 2012 届);display(2,1,电子密码锁设计);display(3,1,BY 电信 0902 黄柏成);display(4,1,指导老师:戴日光);void System() /在显示屏上显示初始字幕:请输入密码 init_clear(); display(2,1,请输入密码:);display(3,1,);display(4,2, );void error() /密码错误,重新输入密码 init_clear(); display(2,3,密码错误); . 31 / 39display(3,2,重新输入密码);void true() /请选择 1 开锁 2 修改密码 in
39、it_clear(); display(1,1,请选择: );display(2,1,1 开锁);display(3,1,2 修改密码); void unlock()/开锁画面 init_clear();display(1,1,祝老师工作顺利); display(2,3,身体健康);display(3,1,祝我毕业答辩 ok);display(4,1,哈哈-);void again() /请再次输入密码 init_clear(); display(2,1,请再次输入密码: );display(3,1,);display(4,2, ); void repeat()/密码确认错误,请重新修改密码
40、init_clear(); display(2,2,密码确认错误 );display(3,2,请重新修改密码); void succeed()/修改密码成功 init_clear(); display(2,3,修改密码成功); . 32 / 39#endif附录 2.4:AT2402 存储子程序/* 函数库名称:密码保护部分 ,将新密码写入 IIC 器件实时保护 设 计 者:电信 0902 黄柏成 时 间:2012 年 5 月 13*/ #ifndef _24C01_h_#define _24C01_h_#include#include#include#define uchar unsigned char#define uint unsigned int#define AddWr 0 xa0#define AddRd 0 xa1#define _Nop _nop_bit ack;sbit SDA=P34;sbit SCL=P33;/*驱动程序 void Start() /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省肥城市第六高级中学2026届高二上数学期末调研模拟试题含解析
- 上海电影艺术职业学院《广联达软件实训》2024-2025学年第一学期期末试卷
- 济南大学《景观工程材料与概预算》2024-2025学年第一学期期末试卷
- 山东财经大学《音乐剧欣赏》2024-2025学年第一学期期末试卷
- 雨雾天应急预案
- 手语舞活动策划方案
- 党建活动策划冬训方案
- 营销方案评价总结
- 装修拆墙外包合同范本
- 诊所药品供货合同范本
- 猪器官移植介绍
- 点茶课件教学课件
- 超声胆囊息肉课件
- 聊城市东昌府区个体工商户开业登记申请书
- 肿瘤早期诊断和筛查的方法
- 经济师考试建筑与房地产经济专业知识和实务(初级)试题与参考答案(2025年)
- 高处坠落伤护理课件
- 充电桩安全协议书范本
- 历史科家长会课件
- c语言大一期中考试试题及答案
- 2025年《治安管理处罚法》新修订课件
评论
0/150
提交评论