密码锁电路
毕业设计——密码锁电路程序
密码锁本设计以STC89C52RC单片机为核心,利用AT24C02存储密码,做到掉电存储密码的电子密码锁。
电路:程序:#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define N 7#define OP_READ 0xa1 // 器件地址以及读取操作#define OP_WRITE 0xa0 // 器件地址以及写入操作#define MAX_ADDR 0x7f // AT24C02最大地址sbit SCL=P2^0;sbit SDA=P2^1;sbit CSH=P3^0;sbit e=P3^4;sbit rs=P3^5;sbit sp=P3^6;sbit lock=P3^1;sfr duan=0x80;sfr key=0x90;uint ci;uchar kc,sc,sc2;int shu1,shu2,jh,jg;uchar code table[] =" LOCK "; uchar code table2[]="WELLCOME TO USE!"; uchar code table3[]="PASS WORD:";uchar code table4[]="ERRO!";uchar code table5[]="OPEN!";uchar code table6[]="NEW PASS WORD"; uchar code table7[]="SUCCESSFUL!";uchar code table8[]="FAIL!";uchar code cmm[6]={1,2,3,3,2,1};uchar mm[6];uchar tablesuan[N];void init();void writec(uint com);void writed(uint dat);void delay(uint shu);uchar keyscan();void xieshuzu(uchar a[],uchar add);void shuru();void kaiji();void bijiao();void xies(uchar a,uchar add);void delayms(unsigned char ms);void gmm();/***********************//***********************//***********************/void start()// 开始位{SDA = 1;SCL = 1;_nop_();_nop_();SDA = 0;_nop_();_nop_();_nop_();_nop_();SCL = 0;}void stop()// 停止位{SDA = 0;_nop_();_nop_();SCL = 1;_nop_();_nop_();_nop_();_nop_();SDA = 1;}unsigned char shin()// 从AT24Cxx移入数据到MCU{unsigned char i,read_data;for(i = 0; i < 8; i++){SCL = 1;read_data <<= 1;read_data |= (unsigned char)SDA;SCL = 0;}return(read_data);}bit shout(unsigned char write_data)// 从MCU移出数据到A T24Cxx{unsigned char i;bit ack_bit;for(i = 0; i < 8; i++) // 循环移入8个位{SDA = (bit)(write_data & 0x80);_nop_();SCL = 1;_nop_();_nop_();SCL = 0;write_data <<= 1;}SDA = 1; // 读取应答_nop_();_nop_();SCL = 1;_nop_();_nop_();_nop_();_nop_();ack_bit = SDA;SCL = 0;return ack_bit; // 返回A T24Cxx应答位}void write_byte(unsigned char addr, unsigned char write_data) // 在指定地址addr处写入数据write_data{start();shout(OP_WRITE);shout(addr);shout(write_data);stop();delayms(10); // 写入周期}unsigned char read_current()// 在当前地址读取{unsigned char read_data;start();shout(OP_READ);read_data = shin();stop();return read_data;}unsigned char read_random(unsigned char random_addr)// 在指定地址读取{start();shout(OP_WRITE);shout(random_addr);return(read_current());}void delayms(unsigned char ms)// 延时子程序{unsigned char i;while(ms--){for(i = 0; i < 120; i++);}}/***********************//***********************//***********************/ //主程序/void main(){ init();kaiji();delay(1000);writec(0x01);xieshuzu(table3,0x80);if(CSH==0){write_byte(2,cmm[0]); //在24c02的地址2中写入数据secdelayms(2);write_byte(3,cmm[1]); //在24c02的地址2中写入数据sec delayms(2);write_byte(4,cmm[2]); //在24c02的地址2中写入数据sec delayms(2);write_byte(5,cmm[3]); //在24c02的地址2中写入数据sec delayms(2);write_byte(6,cmm[4]); //在24c02的地址2中写入数据sec delayms(2);write_byte(7,cmm[5]); //在24c02的地址2中写入数据sec delayms(2);}mm[0]=read_random(2);delayms(2);mm[1]=read_random(3);delayms(2);mm[2]=read_random(4);delayms(2);mm[3]=read_random(5);delayms(2);mm[4]=read_random(6);delayms(2);mm[5]=read_random(7);while(1){lock=0;shuru();bijiao();}}/***********************/ //初始化/ void init(){lock=0;writec(0x01);writec(0x38);writec(0x0c);IT0=1;EX0=1;}/***********************/ //写开机画面/ void kaiji(){xieshuzu(table,0x80);xieshuzu(table2,0xc0);}/***********************/ //写数组/ void xieshuzu(uchar a[],uchar add){uchar cis;writec(add);for(cis=0;a[cis]!='\0';cis++){writed(a[cis]);delay(2);}}/***********************/ //写数字/ void xies(uchar a,uchar add){writec(add);writed(0x30+a);}/***********************/ //写指令/ void writec(uint com){e=0;rs=0;duan=com;delay(2);e=1;delay(2);e=0;}/***********************/ //写数据/void writed(uint dat){e=0;rs=1;duan=dat;delay(2);e=1;delay(2);e=0;}/***********************/ //延时/ void delay(uint shu){uint i,j;for(i=shu;i>0;i--)for(j=110;j>0;j--);}/***********************/ //现盘扫描/ uchar keyscan(){uchar k,skey;key=0xfe;skey=key;sp=1;if(skey!=0xfe){delay(10);skey=key;if(skey!=0xfe){switch(skey){case(0xee):k=7;kc++;break;case(0xde):k=8;kc++;break;case(0xbe):k=9;kc++;break;case(0x7e):k=0x0a;kc++;break;default:break;}while(skey!=0xfe)skey=key;sp=0;return k;}}key=0xfd;skey=key;if(skey!=0xfd){delay(10);skey=key;if(skey!=0xfd){switch(skey){case(0xed):k=4;kc++;break;case(0xdd):k=5;kc++;break;case(0xbd):k=6;kc++;break;case(0x7d):k=0x0b;kc++;break;default:break;}while(skey!=0xfd)skey=key;sp=0;return k;}}key=0xfb;skey=key;if(skey!=0xfb)delay(10);skey=key;if(skey!=0xfb){switch(skey){case(0xeb):k=1;kc++;break;case(0xdb):k=2;kc++;break;case(0xbb):k=3;kc++;break;case(0x7b):k=0x0c;kc++;break;default:break;}while(skey!=0xfb)skey=key;sp=0;return k;}key=0xf7;skey=key;if(skey!=0xf7){delay(10);skey=key;if(skey!=0xf7){switch(skey){case(0xe7):k=0x0d;kc++;break;case(0xd7):k=0; kc++;break;case(0xb7):k=0x0e;kc++;break;case(0x77):k=0x0f;kc++;break;default:break;}while(skey!=0xf7)skey=key;sp=0;return k;}}}/***********************/ //输入数据处理/ void shuru(){uchar k=0,xw=0x80;sc=0;kc=0;xieshuzu(table3,0x80);do{while(kc==sc)k=keyscan();if(kc==1)writec(0x01);tablesuan[sc]=k;//xies(tablesuan[sc],xw);xies(tablesuan[sc],0xc0);writec(xw);writed(0x2A);xw++;if(sc==5)goto out;}while((tablesuan[sc++]<=9)&&(sc<N));out:;if(sc>N){writec(0x01);xieshuzu(table4,0x80);}}void bijiao(){if((tablesuan[0]==mm[0])&&(tablesuan[1]==mm[1])&&(tablesuan[2]==mm[2])&&(tablesuan[3] ==mm[3])&&(tablesuan[4]==mm[4])&&(tablesuan[5]==mm[5])){EA=1;lock=1;writec(0x01);xieshuzu(table5,0x80);delay(6500);EA=0;}else{writec(0x01);xieshuzu(table3,0x80);}}void gmm(){uchar k=0,xw=0x80;sc2=0;kc=0;xieshuzu(table6,0x80);do{while(kc==sc2)k=keyscan();if(kc==1)writec(0x01);mm[sc2]=k;xies(mm[sc2],0xc0);writec(xw);writed(0x2A);xw++;if(sc2==5)goto out2;}while((mm[sc2++]<=9)&&(sc2<N));//out:;//if(sc>N)//{writec(0x01);xieshuzu(table8,0x80);goto out3;//}out2:;writec(0x01);xieshuzu(table7,0x80);write_byte(2,mm[0]); //在24c02的地址2中写入数据secdelayms(2);write_byte(3,mm[1]); //在24c02的地址2中写入数据secdelayms(2);write_byte(4,mm[2]); //在24c02的地址2中写入数据secdelayms(2);write_byte(5,mm[3]); //在24c02的地址2中写入数据secdelayms(2);write_byte(6,mm[4]); //在24c02的地址2中写入数据secdelayms(2);write_byte(7,mm[5]); //在24c02的地址2中写入数据secdelayms(2);out3:;}void INTT0() interrupt 0{EA=0;gmm();EA=1;}。
数字逻辑电路课程设计-电子密码锁
数字逻辑电路课程计课题:电子密码锁姓名:班级:学号:成绩:指导教师:开课时间:2014-2015学年第2学期2007年 6 月 20日电子密码锁摘要:采用逻辑门电路设计电子密码锁,阐述了其工作原理,给出了具体的电路原理图。
该密码锁具有密码预置功能,保密性强,误码报警,并且报警时间可以设定,同时用数码管显示出报警时间。
密码正确时驱动继电器控制开锁指示灯,误码时报警信号由蜂鸣器发出,声音为间歇式鸣笛。
采用自行设计的5V稳压电源供电,具有耗电省等特点。
当密码正确时密码锁可以被打开,绿色二极管亮代表密码正确,锁可以打开。
密码不正确时,红色二极管被点亮,同时蜂鸣器鸣笛5秒,数码管显示5秒计时;计时结束时,20秒计时开始。
关键词:电子密码锁;数字电路;预置密码;误码报警Using logic gate design of electronic combination lock, this paper expounds its working principle, gives the specific circuit principle diagram of the combination lock with password preset function, strong confidentiality, error alarm, and alarm time can be set, at the same time using digital tube display the alarm time. Password correctly drive relay control lamp, when the error alarm signal by a buzzer, voice for intermittent ing self-designed 5 v regulated power supply, has the characteristics of power saving electricity. When the correct password combination lock can be opened, the green led light on behalf of the correct password, the lock can be opened. Password is not correct, the red leds lit up, at the same time a buzzer honking 5 seconds, the digital tube display 5 seconds time, at the end of the timing, 20 seconds timer starts.Keywords: electronic password ,combination lock,digital circuit preset ,Error alarm目录1、设计背景 (4)2、设计方案 (5)2.1原理框图 (5)2.2总体思想 (5)3、方案实施 (7)3.1.1密码输入 (7)3.1.2密码存储 (8)3.1.3比较电路 (8)3.1.4 5秒计时器 (9)3.1.5 20秒计时器 (10)3.2电路仿真 (11)4、结果与结论 (12)5、收获与致谢 (14)6、参考文献 (15)1、设计背景1.1背景及其发展前景随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
数字电路课程设计(密码锁)
数字电路课程设计设计报告课题名称:密码锁设计成员1:设计成员2:设计成员3:密码锁一、目录1、设计项目综述 (2)2、设计方案及分析 (3)2.1设计方案 (3)2.2设计分析 (4)2.3方案优缺点 (4)3、电路原理分析 (5)3.1模块1:八进制优先编码器74ls148 (5)3.2模块2:4位双稳锁存器74LS75 (6)3.3模块3:4位数字比较器74LS85 (8)3.4模块4:可预置bcd计数器74LS160 (9)3.5 总图 (14)4、总结 (16)4.1设计中遇到的问题及解决方法 (17)4.2设计方案中需要改进的地方 (17)4.3这次设计中的收获和教训 (17)二、设计项目综述:1、可以预置1位十进制数密码,并保存密码。
2、开锁时,输入正确密码,按开锁键,锁打开。
3、当输入密码时,数码管显示相应的输入数字。
密码输入错误时计数一次,当输入错误密码连续达到四次,拒绝再输入密码。
需用复位键将其还原才能再次输入。
4、输入密码时,数码管8显示密码的数值。
拒绝输入密码时,只显示0。
按开锁键时,数码管5显示密码输入错误的次数;当错误次数连续少于4次以下时,则当输入密码正确时数码管5清“0”。
5、开锁指示灯亮表示锁已经打开。
三、设计方案及分析1、设计方案根据以上密码锁的设计任务,我们拟定的方案可以简略的如以下框图所示:2、方案分析(1)密码输入:由于要求通过每按一个输入键时直接显示为对应的十进制数密码,所以需要将二进制数转换为对应的十进制数。
根据前面这个要求,我们有两个选择74ls147和74ls148。
74ls147与74ls148比较,74ls148比74ls147多一个功能端。
使用74ls148可以实现输入四次错误自动锁定。
虽74ls148总的输入键只有8个,使用两块74ls148,并他们通过级联可以解决0~9输入。
当多过输入端同时出现时,只对其中优先权最高的一个进行编码,这个编码就是我们要的对应的十进制数。
数字电路密码锁课程设计
“数字电子技术”课程设计实验报告姓名:指导老师:班级:13电子卓越班 学号:2013*********时间:2014·12·05东莞理工学院电子工程学院密码锁目录一、选题意义 (3)二、方案论证选择 (4)2.1 设计要求 (4)2.2 拓展要求 (4)2.3 系统框图 (4)2.4 设计过程 (5)三、电路设计 (5)3.1 所需芯片及芯片管脚图 (5)3.2 CD4017构成的主题电路 (6)3.2确认键的电路设计 (6)3.3输入密码三次锁死系统原理分 (7)3.4用led显示当前输入密码个数 (8)3.5 综合电路 (8)四、电路调试及实物照片 (9)五、心得体会 (13)一.选题意义1概述电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
2性能特点其性能和安全性已大大超过了机械锁,特点如下:1.保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2.密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3.误码输入保护。
当输入密码多次错误时,报警系统自动启动。
4. 电子密码锁操作简单易行,一学即会。
5.干扰码功能在输入正确密码前可输入任意码。
6.安保功能如果连续输错4次密码将会自动断电3分钟。
7.紧急开启功能(Panic Open)出门时无需其他操作,只需一次的把手动作,可机械的开启门,所以遇到火灾等应急状况下也迅速,安全的开启门。
8.入侵感应功能在门上锁的状态下,有人破锁而入时,会发出强力的报警音。
9.火灾报警功能在室内如果温度达到75°左右,将会发出强力的报警音,同时锁会自动开启。
10.双重锁定功能外部强制锁定:在内部不能开启,适用于外出时,防止有人入侵。
基于Multisim的电子密码锁设计报告
基于Multisim的电子密码锁设计报告一、实验目的本次实验的目的是利用Multisim软件来模拟设计一款电子密码锁电路,并运用实验设计与验证技能,实现对其正确性的验证。
二、实验原理1. 采用TTL 74LS161四位二进制可编程计数器芯片来作为密码锁的实现电路。
2.在74LS161中将4个D触发器的引脚Q4、Q3、Q2和Q1相连,形成一个四位二进制计数器。
D0、D1、D2和D3端分别保存四个密码。
J端与K端都接地,保证其无法跳转,输入端(P输入)通过翻转外电平跳转。
3.在密码输入时,将四个D触发器之间的连接管脚断开,用四个单独红色LED灯来表示各自的D触发器的状态。
4.密码输入结束之后要再通过一个译码器,将存储器里的二进制数转换成相应的16进制数,然后用一个比较器和一个与门来完成密码的验证。
三、实验步骤1. 在Multisim中,依次添加TTL 74LS161、LED、Decoder、Comparator、AND gate等元件。
2. 将74LS161的P0-P3引脚连接四个SIN箭头元件,将输入端的SIN箭头也连接到P电平输入端。
3. 将74LS161的Q0-Q3引脚连接到四个LED元件上,并将LED元件连成串。
4. 将Decoder的A0-A3引脚连接74LS161的Q0-Q3,将Out0-Out3引脚与与门的一个端口连接,另一个与门的端口连接密码输入的中转电路。
5. 将与门的输出端口连接Comparator的“+”端口,将一个预先设定的密码与Comparator的“-”端口相连。
6. 输入正确的密码,实验成功。
四、实验结果通过电路模拟,输入正确密码时四个LED灯都会相应亮起来,且输出信号会自动上升至“5V”。
若输入密码错误,则四个LED灯都不会亮,输出信号为“0V”。
五、实验分析本次实验的电子密码锁电路,通过四位二进制可编程计数器芯片,实现用户输入固定密码,验证正确性后输出特定信号,实现门的自主解锁。
数字密码锁的控制电路实验报告
数字密码锁的控制电路实验报告摘要:本实验旨在设计和实现一个数字密码锁的控制电路。
通过使用数字集成电路和逻辑门电路,我们成功地实现了一个简单而有效的数字密码锁系统。
实验结果表明,该控制电路能够准确地识别输入的密码,并控制锁的开关状态。
本实验为数字密码锁的设计和应用提供了有益的参考。
引言:数字密码锁是一种常见的安全措施,广泛应用于各种场合,如家庭、办公室和酒店等。
它通过输入正确的数字密码来控制锁的开关状态。
本实验旨在设计和实现一个数字密码锁的控制电路,以便更好地理解数字密码锁的工作原理和应用。
材料与方法:1. 数字集成电路(例如74LS47、74LS74)2. 逻辑门电路(例如74LS08、74LS32)3. 七段数码管4. 按钮开关5. 电源和电线6. 面包板和连接线实验步骤:1. 将数字集成电路和逻辑门电路按照电路图连接在面包板上。
2. 将七段数码管和按钮开关连接到电路中相应的引脚上。
3. 将电源和电线连接到电路中,确保电路正常工作。
4. 设计一个四位数字密码,并将其编程到电路中。
5. 测试电路的功能,尝试输入正确的密码并观察锁的开关状态。
结果与讨论:经过实验,我们成功地设计和实现了一个数字密码锁的控制电路。
该电路能够准确地识别输入的密码,并根据密码的正确与否控制锁的开关状态。
当输入正确的密码时,锁会打开;当输入错误的密码时,锁会保持关闭状态。
通过实验,我们发现数字集成电路和逻辑门电路在数字密码锁的控制中起到了关键作用。
数字集成电路负责将输入的密码转换为七段数码管上的数字显示,而逻辑门电路则负责判断输入的密码是否正确,并控制锁的开关状态。
此外,我们还发现,设计一个安全可靠的数字密码锁需要考虑以下几个因素:1. 密码的复杂性:密码应该足够复杂,以防止被他人轻易猜测或破解。
2. 锁的安全性:锁的机械结构应该坚固可靠,以防止被非法开启。
3. 电路的稳定性:电路应该能够稳定地工作,并能够抵抗外界的干扰。
电子密码锁设计
{
case 0x0010: KeyVal=13; break;
case 0x0020: KeyVal=9; break;
case 0x0040: KeyVal=5; break;
case 0x0080: KeyVal=1; break;
}
GPIO_Write(GPIOA,(GPIOA->ODR&0xfff0|0x8)); switch(GPIOA->IDR&0x00f0)
图1.2 stm32控制方案
通过比较以上两种方案stm32有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
初步设计思路如下:
基于以上思路,本次设计使用stm32设计,其主要具有如下功能:
密码通过键盘输入,若密码正确,则将锁打开。
{
case 0x0010: KeyVal=12; break;
case 0x0020: KeyVal=8; break;
case 0x0040: KeyVal=4; break;
case 0x0080: KeyVal=0; break;
}
return KeyVal;
}
void Delay(__IO uint32_t nCount)//简单的延时函数
密码的设定,假设预设的密码为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
课程设计:电子密码锁(附原理图及PCB)
课程设计:电子密码锁(附原理图及PCB)电子密码锁摘要:本设计是通过判断输入密码正确与否从而控制相应电路工作,完成开锁、报警、锁定键盘等任务的电子密码锁。
它具有预设密码功能,超时报警功能,键盘锁定功能,错误提示功能等。
预设密码和输入密码是用两个八位的锁存器实现,密码判断是由数值比较器电路组成,超时报警功能是用NE555所构成的单稳态触发器实现,超时次数及密码错误次数由计数电路记录,而键盘锁定功能则是通过电路的逻辑关系巧妙控制锁存器的输出使能端实现的。
关键词:电子锁,密码锁,键盘锁定,报警电路Abstract:This design is to control the corresponding circuit by judging the password correctly or not work, do lock, alarm, lock the keyboard and other electronic combination lock. It has default password function, timeout alarm function, and key lock function, error function, etc. Default password and enter the password is to use two of the eight latch, password is consist of numeric comparator circuit, timeout alarm function is formed by using NE555 monostable trigger, timeout number and password error number recorded by counting circuit, and key lock function is through the logical relationship of the circuit can control the output of the latch makes the server-side implementation.Keywords:Electronic lock ,Combination lock,Keyboard lock, warning circuit.目录1 前言 (1)1.1 设计背景 (1)1.2 设计概述 (1)2 总体方案设计 (3)2.1 程序框图 (3)2.2 电路分析 (4)3 单元模块设计 (5)3.1 密码锁存电路 (5)3.2 密码判断电路 (7)3.3 计数器电路 (8)3.4 计时器电路 (9)3.5电路参数的计算及元器件的选择 (13)3.6 各单元模块的联接 (13)4 系统调试 (14)4.1 仿真电路总图 (14)4.2系统仿真参数设置 (14)4.3 功能调试 (17)4.4 调试结果分析 (23)5 系统功能、指标参数 (25)5.1 系统实现的功能 (25)5.2 系统指标参数测试 (25)6 结论 (26)7 设计总结 (27)7.1 设计的收获体会 (27)7.2 对设计的进一步完善提出意见或建议 (27)8 致谢 (28)9 参考文献 (29)附录1:电子密码锁的仿真总图 (31)附录2:电子密码锁的PCB图 (33)1 前言1.1 设计背景随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。
数字电路设计实验-简易密码锁
数字电路设计实验报告——简易密码锁学院:班级:学号:姓名:目录●任务要求●系统设计✓设计思路✓总体框图✓分块设计●波形仿真及波形分析●源代码●功能分析●故障分析及问题解决●总结及结论●任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
●系统设计设计思路将电子密码锁系统分为三个部分来进行设计,数字密码输入部分、密码锁控制电路和密码锁显示电路。
密码锁输入电路包括时序产生电路,键盘扫描电路,键盘译码电路等,将用户手动输入的相关密码信息转换为软件所能识别的编码,作为整个电路的输入。
密码锁控制电路包括相应的数据存储电路,密码核对电路,能够进行数值的比较,进行电路解锁,开锁,密码的重新设置等。
密码锁显示电路包括将待显示数据的BCD 码转换成数码管的七段显示驱动编码,密码锁在相应的状态下的点阵输出以及蜂鸣器的报警输出。
总体框图按复位键 键入初始密码0000 密码错误密码正确 按确认键 按复位键按确认键密码锁显示电路 密码锁控制电路 数码管显示报警电路密码更改与密码设计电路键入状态闭锁状态开锁状态 报警状态分块设计✓键盘扫描电路首先,向列扫描地址逐列输出低电平,然后从行码地址读回,如果有键摁下,则相应行的值应为低,如果没有按键按下,由于上拉的作用,行码为高。
基于单片机系统的密码锁电路设计
Ke o d : a s r c Ac e s n r l y t m y W r s P s wo d Lo k; c s Co t o se S
中图分 类号 : H1 ;S 1 .1+7 文 献标识 码 : T 6 T 9 42 1 . A
l 引言
传统的机械锁通常具有机械结构复杂 , 密码数量少 , 安全性
戏 l酾 字图形点阵液 晶显示模 块 , 2 汉 可显 示汉字及 图 成 。利用 S C 9 5 单片机作为整个控制系统 的核心元件 , T 8C 2 在单 形 在电路 中实施显示人机交互信息 。 工作 电压为 33 ' V, . 5 并且  ̄
★来稿 日期 :0 1 1— 6 ★基金项 目: 2 1- 0 1 海南省教育厅项 目一 ‘ 三位一体 ’ 的农机化人才综合能力和创新意识培养模式的研究 (0 7 1 ) 2o—1。 海南大学校基金项 目—海南大学农业机械化工程学科研究生创新能力的研究 ( 0 17) 2 1-
。 _ t一 . ^ 玉 、 、 斤 l,
二、 " , 一 十、 "、 ・ . —^ . t .
利用数字电路实现电子密码锁-毕业设计
利用数字电路实现电子密码锁学生:XXX 指导老师:XXX内容摘要:本数字密码锁采用单片机AT89S52为主控芯片,由EEPROM存储密码。
硬件部分包括主控制系统、人机交互界面以及输出系统三大部分。
主控制系统中主控制芯片使用了AT89S52单片机,该单片机性能优良,能满足一般的普通应用;EEPROM采用AT24C02芯片,掉电后可以存储密码,从而保证了系统的安全性。
人机交互通道部分采用了4×4矩阵键盘输入以及LCD1602标准字符型液晶显示。
输出系统部分包括驱动开锁电路和报警电路;其中,在本系统设计中,驱动开锁电路用发光二极管表示,而报警电路则使用蜂鸣器。
本系统中使用的AT24C02芯片是一个带有I2C总线接口的EEPROM存储器。
I2C总线是一种双向二线制总线,它的结构简单,可靠性和抗干扰性能好。
I2C总线结构很简单,只有两条线,包括一条数据线(SDA)和一条串行时钟线(SCL)。
具有I2C接口的器件可以通过这两根线接到总线上,进行相互之间的信息传递。
本数字密码锁的功能为:密码位数为8位,可选值为0~9,从而保证足够的锁体强度;用户可以自行设定和修改密码;防止密码被盗,输入密码错误次数超过3次则报警;友好的人机界面;输入正确的密码后,驱动开锁电路。
软件部分应用单片机C语言实现了本设计的全部控制功能。
C语言编译方便,易读性好,且移植性方便,能够满足实现本系统的功能要求。
在设计过程中,给出了本系统C语言编程的原理和流程图。
本数字密码锁系统稳定性好,设计人性化,由于使用单片机控制并有记忆模块,功能齐全可靠,并有很好的扩展性,而且成本低廉,具有良好的发展前景。
关键词:数字密码锁 AT24C02芯片安全性Electronic combination lockAbstract:Using the digital circuit realize electronic combination lock This digital locks USES the monolithic integrated circuit AT89S52 as the controller chip, by EEPROM memory password. Hardware including master control system, man-machine interface and output system of three.The Lord control system used in the control chip AT89S52 SCM, this single chip good performance, can satisfy the general common application; The AT24C02 chip EEPROM, after power off can be stored password, so as to ensure the security of the system. Man-machine interactive channel part adopts the 4 x 4 matrix keyboard input and LCD1602 standard character type LCD display. The output of system including drive circuit and alarm lock circuit; Which, in the system design, drive the lock circuit using light-emitting diodes said, and alarm circuit is using a buzzer.The system used AT24C02 chip is a with the I2C bus interface EEPROM memory. The I2C bus is a two-way two wire bus, its simple structure, reliability and anti-interference capability. The I2C bus structure is simple, only two lines, including a data line (SDA) and a serial clock line (SCL). Has the I2C devices through this interface to two lines on the bus, the mutual information transfer.This digital locks function for: password digits for eight, optional value is 0 ~ 9, so as to ensure enough lock body strength; The user can set and modify the password; To prevent the password is stolen, the input password mistake number more than three times the alarm; Friendly human-machine interface; To enter the correct password, drive the lock circuit.Application software of single chip microcomputer C language realized this design of all control function. C compiler convenient, easy to read the gender is good, and easy portability, and can meet the requirement of system function realization. In the design process are given, and the system of the C programming language principle and flow chart.This digital locks system stability, humanized design, because use asingle-chip microcomputer control and a memory module, complete function and reliable, and have a good scalability, and the cost is low, have good development prospect.Keywords: Electronic combination lock AT24C02 chip safety目录前言 (1)1 系统的硬件设计 (2)1.1 硬件的总体结构和原理 (2)1.1.1 硬件系统的总体结构图 (2)1.1.2 硬件系统组成 (2)1.1.3 系统的可能性分析 (3)1.2 单片机AT89S51简介 (4)1.2.1 主要性能 (4)1.2.2 引脚功能描述 (5)1.3 AT24C02简介 (7)1.3.1 功能描述 (7)1.3.2 管脚描述 (7)1.3.3 I2C总线协议 (8)1.4 LCD1602介绍 (8)1.4.1 引脚描述 (9)1.4.2 LCDI602控制指令 (9)1.4.3 LCDI602读写控制时序 (11)1.5 4×4矩阵键盘 (11)1.6 复位电路 (12)1.7 振荡电路 (12)1.8 发光二极管LED电路 (13)1.9 报警电路 (13)1.10 电源输入电路 (14)1.11 使用到的元器件列表 (15)2 软件程序设计 (15)2.1 编译器Keil uVision2简介 (16)2.2 软件总设计流程图 (16)2.3 具体功能软件实现 (17)2.3.1 4×4矩阵键盘扫描程序 (17)2.3.2 显示程序 (19)2.3.3 时钟运行子程序 (19)2.3.4 时钟时、分修改子程序 (20)2.3.5 掉电存储服务程序 (21)2.3.7 密码修改子程序 (23)3 结束语 (24)附录1:PCB原理图 (26)附录2:仿真原理图 (27)附录3:单片机硬件实物图 (28)参考文献 (29)利用数字电路实现电子密码锁前言随着社会物质财富的日益增长,安全防盗已成为社会问题。
数字密码锁设计
数字密码锁设计数字密码锁设计一、设计任务与要求设计由编码器、集成逻辑门电路、声光报警指示电路构成的密码锁电路,研究门电路的接口与驱动技术、学习组合逻辑电路的设计方法;用Proteus 软件仿真;实验测试逻辑功能。
具体要求如下:(1)密码锁电路由密码输入电路、密码设置电路和密码控制电路组成,密码输入及密码设置均采用十进制数形式,密码输入通过键盘或按键输入。
密码设置通过开关输入。
(2)如果输入的密码与预先设定的密码相同,则保险箱被打开,密码控制电路的输出端E=1,F=0;否则电路发出声、光报警信号,即输出端E=0,F=1。
(3)实验时,“锁被打开”的状态可用绿色发光二极管指示;声、光报警可分别用红色发光二极管及蜂鸣器指示。
(4)写出设计步骤,画出最简的逻辑电路图。
(5)对设计的电路进行仿真、修改,使仿真结果达到设计要求。
(6)安装并测试电路的逻辑功能。
(7)拓展内容:如果考虑一个开锁用的钥匙插孔输入端G,当开锁时(G=1),密码输入才有效,试在上述电路基础上修改该电路。
二、课题分析及设计思路(1)密码输入电路及密码设置电路的设计思路由于密码输入及密码设置均采用十进制数形式,故可利用8421BCD 码编码器分别实现,以一位密码输入及密码设置为例,其实现框图如下:图1 密码输入及密码设置电路的实现框图(2)密码控制电路的设计思路分析以上设计任务与要求,密码控制电路的实现框图如下:图2 密码控制电路实现框图很容易得到:)()()()(1111D D C C B B A A F E ⊕•⊕•⊕•⊕==由上述逻辑表达式可确定相应的逻辑电路图。
(3)TTL 集成门电路与LED 发光二极管的接口电路设计TTL 集成门电路除了可驱动门电路外,还能驱动一些其它器件如LED 发光二极管。
以集成反相器为例,有如下两种情况如图3(a )、(b)所示:图3(a)输出高电平时LED 亮图3 (b) 输出低电平时LED 亮电路中串接的电阻R1、R2 为限流电阻,其作用是保护LED 因过流而烧坏。
电子实验三 密码锁实验
实验三 密码锁实验一.实验任务设计一个保险箱的数字代码锁,该锁有规定的4位代码A,B,C,D 的输入端和一个开箱钥匙孔信号E 的输入端,密码自编(如1011)。
当用钥匙开箱时(E=1),如果输入代码符合该锁规定代码,则打开(X=1);如不符,电路将发出报警信号(Y=1)。
要求用最少的与非门实现电路。
(用7400,7420各一片)。
二.实验思路开锁条件 钥匙插入 E=1密码正确 CD B A →X=1 密码错误 CD B A →Y=1如果钥匙未插入,即E=0→ABCD 无论什么状态都亮灯→Y=1三.逻辑状态表四.逻辑表达式及其化简X⋅⋅⋅=A=EBCDABECDEY=YX五.逻辑图六.实验所用芯片图七.电路连接图八.实验总结1、实验主要涉及我们所学的20章《门电路与组合逻辑电路》方面的内容,应用20.3 TTL与非门电路,两种芯片分别是74LS20(4输入2门)和74LS00(2输入4门)。
2、A、B、C、D四个输入端,应该是用7420芯片4输入2门,这里的密码设为了1011,所以A端与7420 1端相连,B端要先经过7400 1、2端并短接,从3端输入与7420 2端相连,C端与7420 4端相连,D端与7420 5端相连,最后,从7420 6端输出,经过7400 4、5端并短接,9、10端分别接8端和E,从8端输出,如果线路到这里结束,就表示密码输入错误,X=0,Y=1, 2灯亮,发出警报。
经过7400 12、13端并短接,从11端输出,则表示密码输入正确,X=1,Y=0,1灯亮,保险箱正确打开。
3.对于这个电路,设计的时候只用到了TTL与非门电路,以涉及得更广一些,对于保险箱,如果在密码错误时,能连上一个报警器,发出声响,也许会使实验更加有实际意义。
四位数字密码锁的设计
EDA 课程设计报告书课题名称 四位数字密码锁的设计 姓 名学 号 院 系 专 业 指导教师年 月 日※※※※※※※※※ ※※※※ ※※※※※※※※※※※级学生EDA 课程设计设计任务及要求:(1)设计任务:本课程设计要求设计的数字密码锁密码为4位,由密码锁输入电路、码锁控制电路、密码锁处理电路、显示电路四大部分组成,将各电路组合起来,构成了一个完整的电子密码锁。
(2)设计要求:①、密码输入:每按一个数字键,就输入一个数值,且将在显示器上的最右上方显示出该数字,并将先前已经输入的数据依序左移一位。
②、数码清除:按下此键可以清除前面所有的输入值,清除成为“0000”。
③、密码修改:按下此键时将目前的数字设定成新的密码。
④、激活电锁:按下此键可将密码锁上锁,红色LED灯将闪烁一次。
⑤、解除电锁:按下此键会检查输入的密码是否正确,若绿色LED亮则表示密码正确,密码锁将解锁。
指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日四位数字密码锁的设计1 设计目的随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
2 设计的主要内容和要求设计一个简单的数字电子密码锁,密码为 4 位。
要求具备如下功能:(1)如果输入数字键,第一个数字会从数码管的最右端开始显示,此后每按下一个数字键,数码管上的数字必须往左移动一格,以便将新的数字显示出来。
(2)本密码锁为四位密码锁,当输入的数字超过四个时,不会显示第四个以后的数字。
(3)按下密码清零键,清除所有输入的数字,清除成为“0000”,即做归零动作。
(4)按下解锁键,检查输入的密码是否正确,若解锁指示灯(绿色LED灯)闪烁一次,即表示密码正确(开锁)。
电子密码锁和门铃报警电路(数字电路实训报告1)
电⼦密码锁和门铃报警电路(数字电路实训报告1)电⼦锁及门铃电路1.引⾔随着社会物质财富的⽇益增长,安全防盗已成为社会问题。
⽽锁⾃古以来就是把守门户的铁将军,⼈们对它要求甚⾼,既要安全可靠地防盗,⼜要使⽤⽅便,这也是制锁者长期以来研制的主题。
⽬前国内,⼤部分⼈使⽤的还是传统的机械锁。
然⽽,眼下假冒伪劣的机械锁泛滥成灾,互开率⾮常之⾼。
所谓互开率,是各种锁具的⼀个技术质量标准,也就是1把钥匙能开⼏把锁的⽐率。
电⼦锁是第三代计算机防盗报警器的核⼼组成部分,⽤于识别⽤户⾝份的合法性。
它有不少优点。
例如保密性强,防盗性能好可以不需要钥匙,只要记住开锁的密码和⽅法,便可开锁,即⽅便⼜可避免因丢失钥匙带来的烦恼和损失。
如果密码泄露,主⼈可以⽐较⽅便地设置新的开锁密码,不会造成损失。
此外,编码电⼦锁将电⼦门铃和防盗报警与电⼦锁合为⼀体,实现了⼀物多⽤。
由于以上诸多优点,编码电⼦锁能够⼴泛地应⽤于超市、住家、办公单位等许多场所。
⽽在这次实训中我们的是设计要求较基础,不过原理⼀样的,⼀般的功能都能实现。
2、摘要⽤门电路和⼀些计数芯⽚,555时基电路及数码显⽰器,蜂鸣器等元件通过MULTISIM仿真软件进⾏软件设计。
再付诸硬件设计。
主要实现密码锁和门铃电路的功能,并且可控制蜂鸣器时间⽤数码管显⽰。
运⽤已学的数电模电知识及硬件电路知识对市⾯上已有的功能的⼀种模仿和简化。
电⼦锁及门铃电路3、硬件设计3.1、设计要求(1)设计⼀个电⼦锁,其密码为8位⼆进制代码,开锁指令为串⾏输⼊码。
(2)开锁输⼊码与密码⼀致时,锁被打开。
(3)当开锁输⼊码与密码不⼀致时,则报警。
报警时间持续15秒,停3秒后再重复出现(4)报警器可以兼作门铃使⽤,门铃时间为10秒。
(5)设置⼀个系统复位开关,所有的时间数据⽤数码管显⽰出来。
3.2设计思路(1)⽤8个数码开关作为8位⼆进制密码输⼊,开关闭合为1,打开为0。
(2)⽤2个与门和2个或⾮门与输⼊密码进⾏⽐较,输出⽐较结果。
单片机:密码锁仿真图+原理图+PCB电路图
单片机密码锁课程设计仿真图原理图部分图代码#include <REG51.h>#include<intrins.h>#define LCM_Data P0#define uchar unsigned char#define uint unsigned int#define w 6 //定义密码位数sbit lcd1602_rs=P2^5;sbit lcd1602_rw=P2^6;sbit lcd1602_en=P2^7;sbit Scl=P3^4; //24C02串行时钟sbit Sda=P3^5; //24C02串行数据sbit ALAM = P2^1; //报警sbit KEY = P3^6; //开锁sbit open_led=P2^2; //开锁指示灯bit operation=0; //操作标志位bit pass=0; //密码正确标志bit ReInputEn=0; //重置输入充许标志bit s3_keydown=0; //3秒按键标志位bit key_disable=0; //锁定键盘标志unsigned char countt0,second; //t0中断计数器,秒计数器void Delay5Ms(void);unsigned char code a[]={0xFE,0xFD,0xFB,0xF7};//控盘扫描控制表unsigned char code start_line[] = {"password: "}; unsigned char code name[] = {"===Coded Lock==="};//显示名称unsigned char code Correct[] = {" correct "};//输入正确unsigned char code Error[] = {" error "};//输入错误unsigned char code codepass[] = {" pass "}; unsigned char code LockOpen[] = {" open "};//OPENunsigned char code SetNew[] = {"SetNewWordEnable"}; unsigned char code Input[] = {"input: "};//INPUTunsigned char code ResetOK[] = {"ResetPasswordOK "};unsigned char code initword[] = {"Init password..."};unsigned char code Er_try[] = {"error,try again!"};unsigned char code again[] = {"input again "};unsigned char InputData[6];//输入密码暂存区unsigned char CurrentPassword[6]={1,3,1,4,2,0};//当前密码值unsigned char TempPassword[6];unsigned char N=0; //密码输入位数记数unsigned char ErrorCont; //错误次数计数unsigned char CorrectCont; //正确输入计数unsigned char ReInputCont; //重新输入计数unsigned char code initpassword[6]={0,0,0,0,0,0};//=====================5ms延时==============================void Delay5Ms(void){unsigned int TempCyc = 5552;while(TempCyc--);}//===================400ms延时==============================void Delay400Ms(void){unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);}}//=============================================================================================//================================24C02========================================================//=============================================================================================void mDelay(uint t) //延时{uchar i;while(t--){for(i=0;i<125;i++){;}}}void Nop(void) //空操作{_nop_();_nop_();_nop_();_nop_();}/*起始条件*/void Start(void){Sda=1;Scl=1;Nop();Sda=0;Nop();}/*停止条件*/void Stop(void){Sda=0;Scl=1;Nop();Sda=1;Nop();}/*应答位*/void Ack(void){Sda=0;Nop();Scl=1;Nop();Scl=0;}/*反向应答位*/void NoAck(void){Sda=1;Nop();Scl=1;Nop();Scl=0;}/*发送数据子程序,Data为要求发送的数据*/void Send(uchar Data){uchar BitCounter=8;uchar temp;do{temp=Data;Scl=0;Nop();if((temp&0x80)==0x80)Sda=1;elseSda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter--;}while(BitCounter);Scl=0;}/*读一字节的数据,并返回该字节值*/uchar Read(void){uchar temp=0;uchar temp1=0;uchar BitCounter=8;Sda=1;do{Scl=0;Nop();Scl=1;Nop();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1){temp1=temp<<1;temp=temp1;}BitCounter--;}while(BitCounter);return(temp);}void WrToROM(uchar Data[],uchar Address,uchar Num){uchar i;uchar *PData;PData=Data;for(i=0;i<Num;i++){Start();Send(0xa0);Ack();Send(Address+i);Ack();Send(*(PData+i));Ack();Stop();mDelay(20);}}void RdFromROM(uchar Data[],uchar Address,uchar Num){uchar i;uchar *PData;PData=Data;for(i=0;i<Num;i++){Start();Send(0xa0);Ack();Send(Address+i);Ack();Start();Send(0xa1);Ack();*(PData+i)=Read();Scl=0;NoAck();Stop();}}//==================================================================================================//=======================================LCD1602====================================================//==================================================================================================#define yi 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)//----------------延时函数,后面经常调用----------------------void delay(uint xms)//延时函数,有参函数{uint x,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);}//--------------------------写指令---------------------------write_1602com(uchar com)//****液晶写入指令函数****{lcd1602_rs=0;//数据/指令选择置为指令lcd1602_rw=0; //读写选择置为写P0=com;//送入数据delay(1);lcd1602_en=1;//拉高使能端,为制造有效的下降沿做准备delay(1);lcd1602_en=0;//en由高变低,产生下降沿,液晶执行命令}//-------------------------写数据-----------------------------write_1602dat(uchar dat)//***液晶写入数据函数****{lcd1602_rs=1;//数据/指令选择置为数据lcd1602_rw=0; //读写选择置为写P0=dat;//送入数据delay(1);lcd1602_en=1; //en置高电平,为制造下降沿做准备delay(1);lcd1602_en=0; //en由高变低,产生下降沿,液晶执行命令}//-------------------------初始化-------------------------void lcd_init(void){write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c);//开显示不显示光标write_1602com(0x06);//整屏不移动,光标自动右移write_1602com(0x01);//清显示}//========================================================================================//=========================================================================================//==============将按键值编码为数值=========================unsigned char coding(unsigned char m){unsigned char k;switch(m){case (0x11): k=1;break;case (0x21): k=2;break;case (0x41): k=3;break;case (0x81): k='A';break;case (0x12): k=4;break;case (0x22): k=5;break;case (0x42): k=6;break;case (0x82): k='B';break;case (0x14): k=7;break;case (0x24): k=8;break;case (0x44): k=9;break;case (0x84): k='C';break;case (0x18): k='*';break;case (0x28): k=0;break;case (0x48): k='#';break;case (0x88): k='D';break;}return(k);}//=====================按键检测并返回按键值===============================unsigned char keynum(void){unsigned char row,col,i;P1=0xf0;if((P1&0xf0)!=0xf0){Delay5Ms();Delay5Ms();if((P1&0xf0)!=0xf0){row=P1^0xf0; //确定行线i=0;P1=a[i]; //精确定位while(i<4){if((P1&0xf0)!=0xf0){col=~(P1&0xff); //确定列线break; //已定位后提前退出}else{i++;P1=a[i];}}}else{return 0;}while((P1&0xf0)!=0xf0);return (row|col); //行线与列线组合后返回}else return 0; //无键按下时返回0}//=======================一声提示音,表示有效输入========================void OneAlam(void){ALAM=0;Delay5Ms();ALAM=1;}//========================二声提示音,表示操作成功========================void TwoAlam(void){ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;}//========================三声提示音,表示错误========================void ThreeAlam(void){ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;Delay5Ms();ALAM=0;Delay5Ms();ALAM=1;}//=====================显示输入的N个数字,用H代替以便隐藏============================void DisplayOne(void){// DisplayOneChar(9+N,1,'*');write_1602com(yi+5+N);write_1602dat('*');}//=======================显示提示输入=========================void DisplayChar(void){unsigned char i;if(pass==1){//DisplayListChar(0,1,LockOpen);write_1602com(er);for(i=0;i<16;i++){write_1602dat(LockOpen[i]);}}else{if(N==0){//DisplayListChar(0,1,Error);write_1602com(er);for(i=0;i<16;i++){write_1602dat(Error[i]);}}else{//DisplayListChar(0,1,start_line);write_1602com(er);for(i=0;i<16;i++){write_1602dat(start_line[i]);}}}}void DisplayInput(void){unsigned char i;if(CorrectCont==1){//DisplayListChar(0,0,Input);write_1602com(er);for(i=0;i<16;i++){write_1602dat(Input[i]);}}}//========================重置密码==================================================//==================================================================================void ResetPassword(void){unsigned char i;unsigned char j;if(pass==0){pass=0;DisplayChar();ThreeAlam();}else{if(ReInputEn==1){if(N==6){ReInputCont++;if(ReInputCont==2){for(i=0;i<6;){if(TempPassword[i]==InputData[i]) //将两次输入的新密码作对比i++;else{//DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Error[j]);}ThreeAlam(); //错误提示pass=0;ReInputEn=0; //关闭重置功能,ReInputCont=0;DisplayChar();break;}}if(i==6){//DisplayListChar(0,1,ResetOK);write_1602com(er);for(j=0;j<16;j++){write_1602dat(ResetOK[j]);}TwoAlam(); //操作成功提示WrToROM(TempPassword,0,6); //将新密码写入24C02存储ReInputEn=0;}ReInputCont=0;CorrectCont=0;}else{OneAlam();//DisplayListChar(0, 1, again); //显示再次输入一次write_1602com(er);for(j=0;j<16;j++){write_1602dat(again[j]);}for(i=0;i<6;i++){TempPassword[i]=InputData[i]; //将第一次输入的数据暂存起来}}N=0; //输入数据位数计数器清零}}}}//=======================输入密码错误超过三过,报警并锁死键盘======================void Alam_KeyUnable(void){P1=0x00;{ALAM=~ALAM;Delay5Ms();}}//=======================取消所有操作============================================void Cancel(void){unsigned char i;unsigned char j;//DisplayListChar(0, 1, start_line);write_1602com(er);for(j=0;j<16;j++){write_1602dat(start_line[j]);}TwoAlam(); //提示音for(i=0;i<6;i++){InputData[i]=0;}KEY=1; //关闭锁ALAM=1; //报警关operation=0; //操作标志位清零pass=0; //密码正确标志清零ReInputEn=0; //重置输入充许标志清零ErrorCont=0; //密码错误输入次数清零CorrectCont=0; //密码正确输入次数清零ReInputCont=0; //重置密码输入次数清零open_led=1;s3_keydown=0;key_disable=0;N=0; //输入位数计数器清零}//==========================确认键,并通过相应标志位执行相应功能===============================void Ensure(void){unsigned char i,j;RdFromROM(CurrentPassword,0,6); //从24C02里读出存储密码if(N==6){if(ReInputEn==0) //重置密码功能未开启{for(i=0;i<6;){if(CurrentPassword[i]==InputData[i]){i++;}else{ErrorCont++;if(ErrorCont==3) //错误输入计数达三次时,报警并锁定键盘{write_1602com(er);for(i=0;i<16;i++){write_1602dat(Error[i]);}doAlam_KeyUnable();while(1);}else{TR0=1; //开启定时key_disable=1; //锁定键盘pass=0;break;}}}if(i==6){CorrectCont++;if(CorrectCont==1) //正确输入计数,当只有一次正确输入时,开锁,{//DisplayListChar(0,1,LockOpen);write_1602com(er);for(j=0;j<16;j++){write_1602dat(LockOpen[j]);}TwoAlam(); //操作成功提示音KEY=0; //开锁pass=1; //置正确标志位TR0=1; //开启定时open_led=0; //开锁指示灯亮for(j=0;j<6;j++) //将输入清除{InputData[i]=0;}}else //当两次正确输入时,开启重置密码功能{//DisplayListChar(0,1,SetNew);write_1602com(er);for(j=0;j<16;j++){write_1602dat(SetNew[j]);}TwoAlam(); //操作成功提示ReInputEn=1; //允许重置密码输入CorrectCont=0; //正确计数器清零}}else //=========================当第一次使用或忘记密码时可以用131420对其密码初始化============{if((InputData[0]==1)&&(InputData[1]==3)&&(InputData[2]==1)&&(InputData[3]==4)&&(InputData[4]==2)&&(InputData[5]==0)){WrToROM(initpassword,0,6); //强制将初始密码写入24C02存储//DisplayListChar(0,1,initword); //显示初始化密码write_1602com(er);for(j=0;j<16;j++){write_1602dat(initword[j]);}TwoAlam();Delay400Ms();TwoAlam();N=0;}else{//DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Error[j]);}ThreeAlam(); //错误提示音pass=0;}}}else //当已经开启重置密码功能时,而按下开锁键,{//DisplayListChar(0,1,Er_try);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Er_try[j]);}ThreeAlam();}}else{//DisplayListChar(0,1,Error);write_1602com(er);for(j=0;j<16;j++){write_1602dat(Error[j]);}ThreeAlam(); //错误提示音pass=0;}N=0; //将输入数据计数器清零,为下一次输入作准备operation=1;}//==============================主函数===============================void main(void){unsigned char KEY,NUM;unsigned char i,j;P1=0xFF;TMOD=0x11;TL0=0xB0;TH0=0x3C;EA=1;ET0=1;TR0=0;Delay400Ms(); //启动等待,等LCM讲入工作状态lcd_init(); //LCD初始化write_1602com(yi);//日历显示固定符号从第一行第0个位置之后开始显示for(i=0;i<16;i++){write_1602dat(name[i]);//向液晶屏写日历显示的固定符号部分}write_1602com(er);//时间显示固定符号写入位置,从第2个位置后开始显示for(i=0;i<16;i++){write_1602dat(start_line[i]);//写显示时间固定符号,两个冒号}write_1602com(er+9); //设置光标位置write_1602com(0x0f); //设置光标为闪烁Delay5Ms(); //延时片刻(可不要)N=0; //初始化数据输入位数while(1){if(key_disable==1)Alam_KeyUnable();elseALAM=1; //关报警KEY=keynum();if(KEY!=0){if(key_disable==1){second=0;}else{NUM=coding(KEY);{switch(NUM){case ('A'): ; break;case ('B'): ; break;case ('C'): ; break;case ('D'): ResetPassword(); break; //重新设置密码case ('*'): Cancel(); break; //取消当前输入case ('#'): Ensure(); break; //确认键,default:{//DisplayListChar(0,1,Input);write_1602com(er);for(i=0;i<16;i++){write_1602dat(Input[i]);}operation=0;if(N<6) //当输入的密码少于6位时,接受输入并保存,大于6位时则无效。
电子密码锁电路
电子技术课程设计报告——设计课题:电子密码锁电路学院:电子信息工程学院专业班级:电气081502班姓名:韦福民学号:指导老师:闫晓梅2010年12月一.设计任务与要求:设计一个电子锁及门铃电路,设计任务与要求:1、其密码为8位二进制代码,开锁指令为串行输入码;2、开锁输入码与密码一致时,锁被打开;3、当开锁输入码与密码不一致时,则报警;4、设置一个系统复位开关,所有的时间数据用数码管显示出来二.总体框图1.这是一个由555组成的单稳态触发器,可以产生暂稳态脉冲,通过控制开关的闭合就可以产生所需要的脉冲。
2.通过74LS164组成的移位寄存器向电路串行输入密码。
3.由两个74LS85组成的比较器用来预置和比较密码。
4.由74LS192组成的计数器用于记录输入输入密码个数。
5.该振荡器是由555定时器组成的多谐振荡器,多谐振荡器的功能实现一个周期为1S的脉冲信号。
6.由2个74LS192组成的减法计时器用于限制输入密码的时间。
三.所用的器件和原理组号器件类型数量〔单位:个〕1 555定时器 22 74LS194 33 74LS85 24 74LS04 25 74LS08 26 74LS32 17 数码显示器 38 电阻电容等1.定时器555定时器555是一种多功能集成电路,只要在外部接上几个电阻电容,就可以组成施密特触发器、单稳态触发器和多谐振荡器。
定时器555内部结构框图、符号图和功能表如下。
图1-1 555管脚图图1-2 LM555CN的内部原理图输入输出R VI1 VI2 V0 TD状态0 x x 低导通1 >2/3Vcc >1/3Vcc 低导通1 <2/3Vcc >1/3Vcc 不变不变1 <2/3Vcc <1/3Vcc 高截止1 >2/3Vcc <1/3Vcc 高截止555定时器有二个比较器C1和C2,有一个RS触发器,R和S高电平有效。
三极管VT1对清零起跟随作用,起缓冲作用。
4位数字密码锁的设计
1技术指标用与非门设计一个4位或多位代码的数字锁,要求如下:A:设计一个保险箱用的多位代码数字锁,比如4位代码ABCD四个输入端和一个开锁用的钥匙插孔输入端E,当开箱时(E=1),如果输入代码(例如ABCD=1010)与设定的代码相同,则保险箱被打开,即输出端Z=1,否则电路发出报警信号:B:进行电路仿真,并说明其工作原理。
2方案比较方案一:由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、D四个输入端的电平的高低,进而控制输出电平的高低以及报警信号的工作。
当输入端与设置的密码相符时,则输出为高电平,二极管亮,否则输出为低电平,并且发出报警,即蜂鸣器发出响声,至此完成电路的设计。
其电路图如图2.1方案二:用4个异或门连接输入端,并分别于反相器连接,再相与。
当输入密码与设置密码相同时,电路输出为高电平,发光二极管不亮,当输入密码与设置密码不相同时,电路输出为低电平,发出报警,发光二极管亮。
其电路图如图6.13Proteus软件介绍Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件。
Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。
Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。
四位电子密码锁
沈阳课程设计(说明书)四位电子密码锁的设计班级/ 学号学生姓名指导教师课程设计任务书课程名称数字逻辑课程设计课程设计题目四位电子密码的设计课程设计的内容及要求:一、设计说明与技术指标设计一个四位电子密码锁电路,技术指标如下:①通过键盘电路输入四位密码。
初始密码0000设定。
②密码输入正确后,锁打开。
在锁打开时,才可修改密码。
③密码输入错误有适当的提示。
三次错误后,具有声、光报警功能。
二、设计要求1.在选择器件时,应考虑成本。
2.根据技术指标,通过分析计算确定电路和元器件参数。
3.画出电路原理图(元器件标准化,电路图规范化)。
三、实验要求1.根据技术指标制定实验方案;验证所设计的电路,用软件仿真。
2.进行实验数据处理和分析。
四、推荐参考资料1. 彭介华.电子技术课程设计指导[M].北京:高等教育出版社2. 孙梅生,李美莺,徐振英. 电子技术基础课程设计[M]. 北京:高等教育出版社3. 梁宗善. 电子技术基础课程设计[M]. 武汉:华中理工大学出版社4. 张玉璞,李庆常. 电子技术课程设计[M]. 北京:北京理工大学出版社5. 谢自美.电子线路设计·实验·测试(第二版)[M].武汉:华中科技大学出版社五、按照要求撰写课程设计报告成绩指导教师日期一、概述随着人们生活水平的提高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,因此电子密码锁在实现家庭防盗这一问题也变得尤其的突出,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
这种锁是通过键盘输入一组密码来达到开锁的目的。
本课程设计一个电子密码锁,要求是设定4位的密码锁,输入4位输入密码,然后与已设置好的密码相比较,密码输入正确后即可开锁,开锁后才可执行密码修改的功能,如果输入三次错误密码就不断报警(包括声音和光两种报警方式)。
二、方案论证设计一个四位电子密码锁,通过输入四位密码,并且一位一位的进行比较,能够在输入正确的密码后打开锁,并且只有在打开锁之后判断是否修改密码,如果输入密码错误,则记录一次输入错误信息,如果输入三次错误密码,则有声音(蜂鸣)或者光(灯亮)报警。
带报警器的密码电子锁和门铃电路
带报警器的密码电子锁和门铃电路(一)设计背景在现实生活中很多时候出现一些老的机械锁被不法分子打开的情形。
这样使他人的财产受到损失,隐私被侵犯。
因此,灵巧、简便、操作方便的电子密码锁开始受到青睐。
它可以很好的保护人们财务和隐私。
另外,它完全靠密码开锁不需要钥匙,这样就不会造成丢钥匙或者被他人套取钥匙的可能。
密码电子锁的和门铃电路的设计方案有很多:有用专用芯片设计的、有用复杂可编程逻辑电路设计的、有用单片机设计制作的、有用可编程控制器设计完成的,还可以采用数字电路或模拟与数字电路相结合的方式以及EDA技术等。
(二)设计要求基本要求:1)按钮分别为1,2...9个按钮。
2)用发光二极管作为输出指示灯。
3)设计门铃电路,按动门铃按钮,指示灯发亮,开始解锁,超过5min,报警器响,密码输对,解除报警。
提高要求1)将指示灯换成继电器进行控制。
2)密码顺序不对或密码有误时系统主动复位,当开锁时间超过5Min时,则蜂鸣器发出1KHz的信号报警。
(三)带报警器的密码电子锁的设计思想正确输入编码按键的数字,控制电路通过整形电路供给编码电路时钟,一直按规定编码顺序操作完,则驱动开锁电路把锁打开。
在操作过程中,没有按照规定代码顺序按下数字键或按动了其他键,则控制使开锁电路清零。
超出规定时间,蜂鸣器报警,密码输对使编码电路清零并解除防盗报警。
(四)原理框图设计原理框图如图(1)所示:图(1)(五)密码校验电路该单元电路是以CD4017为基础,与按键编码电路和基于三极管的脉冲产生电路够成的密码校验电路,并控制着开锁电路。
其芯片如图(2)所示:图(2)引出端功能符号:CO:进位脉冲输渊CP:时钟输入端MR:清除端 TC:禁止端Q0-Q9 :计数脉冲输出端VDD:正电源VSS:地十进制计数、分频器CD4017,是一种用途非常广泛的电路。
其内部由计数器及译码器两部分组成,由译码输出实现对脉冲信号的分配,整个输出时序就是O0、O1、O2、O9依次出现与时钟同步的高电平,宽度等于时钟周期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书课程设计名称:数字电路课题设计课程设计题目:带报警器的密码电子锁和门铃电路学院名称:信息工程学院专业:电子信息工程班级: 090411学号:姓名:评分:教师:20 1 1年 09 月11日脉冲数字电路课程设计任务书20 10 -20 11 学年第二学期第 1 周- 2 周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
本系统是由D触发器,蜂鸣器、555和报警系统,门铃系统所组成的带报警电子密码锁和门铃电路。
系统完成按键输入、开锁、超时报警、错误密码报警、复位等数字密码锁的基本功能。
在当今的社会安全是人民特别关心的话题,生命安全,财产安全等等。
密码门铃电路就是在现实生活为人民提供安全保护设备。
关键字:数字密码锁 74LS74 555 解锁与报警目录摘要 (2)第一章、系统设计方案选择 (4)1.1方案一 (4)1.2方案二 (4)第二章系统组成及工作原理 (6)2.1密码锁电路 (6)2.2门铃及报警电路: (6)2.3继电器电路 (9)2.4.供电电路: (9)第三章整体电路及系统的调试和安装 (10)3.1安装 (10)3.2调试方法与调试过程 (10)3.3制作成品 (11)第四章设计心得及几点补充说明 (12)五.参考文献 (13)附录一电路图和PCB版 (14)附录二元件清单 (16)附录三芯片资料 (17)第一章、系统设计方案选择1.1 方案一该设计主要分输入电路,存储电路,信号处理电路,输出电路四大部分,首先从输入电路送出的编码信号到比较器与存储器的存储密码进行比较,两者一致则将锁打开,反之则驱动报警电路报警,存储器中的密码可以通过写允许端修改密码。
图1.1 整体方案设计流程1.2 方案二74LS74组成的数字电子密码锁方案二是以D触发器74LS74为中心的数字逻辑电路,通过按键改变CP脉冲改变D触发器的输出端Q,传递信号,而实现电子密码功能。
图1.2 74LS74组成的数字电子密码锁原理框图1.3方案论证与对比这两个方案都是可行的,两者能实现的功能是一样,都能实现对锁的电子控制。
两者最大的不同就是方案二具有复杂的数字逻辑关系,而方案一不具备。
方案一的灵活度低,方案一的电路完全是运用集成芯片的功能来实现,对于初学者,还是方案二比较好,可以更好的运用所学的知识来实现这个课题设计,很明显方案一有优势,方案一的密码输入部分由八个按键组成,密码输入灵活度非常高,变换多样,密码验证部分由四块数字芯片组成,增加了电路的数字逻辑关系,使密码锁的密码破译难度加大。
但是根据实际情况。
方案一的集成芯片比较少用很难找到,如四位比较器,4*4寄存器,权衡利弊,和实际情况,我选择了方案二由74LS74为中心的数字电子密码锁。
第二章系统组成及工作原理2.1 密码锁电路在图3.1中,六个D触发器U1~U6构成密码电路,本电路密码设定为134678,S1、S3、S4、S6、S7、S8分别是1、3、4、6、7、8、六位密码按钮端;平时六个触发器CP端皆悬空相当于1状态,触发器保持原状态不变。
当按下S1时,CP1为低电平,松手后S1自动恢复搞电平,CP1获上升沿,此时Q1=D1=1;再按下S3时,CP2为低电平,松手后S3自动恢复高电平,CP2 获上升沿,此时Q2=D2=Q1=1;同理,按下S4、S6、S7、S8并松手后D6=1用此Q=6去控制开锁。
此处用电阻和发光二极管串联,通过二极管的亮来表示开锁。
在图3.1中,C1因电压不能突变,在接通电源的瞬间C1电压为零使U1~U6各位皆为零。
当输入密码错误时将会自动清零。
2.2 门铃及报警电路:图2.2.1 门铃电路图2.2.2 报警电路如[图3.1.1]所示门铃电路由555定时器连成的多谐振荡器构成,当按下门铃时电路接通电源产生约500Hz的振荡信号,同时按下门铃按钮实现清零的功能。
报警电路也是由555定时器构成,通过单稳态定时电路,去驱动多谐振荡器报警时产生1KHz 的信号,当输入密码时间超过一定的时间后,单稳态定时电路就会产生高电平,高电平就会驱动多谐振荡电路实行报警功能。
此外,按下清零/门铃按钮后可以实现对报警的解除,因为此时一个低电平信号与来自判断输出端的高电平信号相与后,为一低电平信号,报警电路不工作。
一、单稳态触发器1.单稳态触发器的特点单稳态触发器具有下列特点:第一,它有一个稳定状态和一个暂稳状态;第二,在外来触发脉冲作用下,能够由稳定状态翻转到暂稳状态;第三,暂稳状态维持一段时间后,将自动返回到稳定状态,而暂稳状态时间的长短,与触发脉冲无关,仅决定于电路本身的参数。
(a) 电路 (b) 工作波形图4-1-8 555定时器构成的单稳态触发器2.555定时器构成的单稳态触发器的电路组成及其工作原理 单稳态触发器的组成如图4-1-8所示。
接通VCC 后瞬间,VCC 通过R 对C 充电,当uc 上升到CCV 32时,比较器C1输出为0,将触发器置0,uo =0。
这时Q=1,放电管T 导通,C 通过T 放电,电路进入稳态。
ui 到来时,因为CCi V u 31< ,使C2=0,触发器置1,uo 又由0变为1,电路进入暂稳态。
由于此时Q=0,放电管T 截止,VCC 经R 对C 充电。
虽然此时触发脉冲已消失,比较器C2的输出变为1,但充电继续进行,直到uc 上升到CC V 32时,比较器C1输出为0,将触发器置0,电路输出uo =0,T 导通,C 放电,电路恢复到稳定状态。
3.主要参数的估算(1) 输出脉冲宽度:t P=1.1RC (2) 恢复时间:tre=3~5RCES ·C(3) 最高工作频率:rep t t f +=1max 2. 555定时器构成的多谐振荡器555定时器构成的多谐振荡器的波形。
该振荡器的工作原理是:接通V CC 后,V CC经R 44和R 45对C 1充电。
当u c 上升到CC V 32时,u o =0,T 导通,C 1通过R 45和T 放电,u c 下降。
当u c 下降到CC V 31时,u o 又由0变为1,T 截止,V CC 又经R 44和R 45对C 1充电。
如此重复上述过程,在输出端u o 产生了连续的矩形脉冲。
振荡频率和占空比的估算:1.电容C 充电时间:145441)(7.0C R R t P += 2.电容C 放电时间:14527.0C R t P = 3.电路谐振频率f 的估算: 振荡周期为:14544)2(7.0C R R T +=振荡频率为:1454414544)2(43.1)2(7.011C R R C R R T f +≈+==2.3继电器电路图2.3.1 继电器电路在图3.3.1中可以看出继电器部分是通过一个三级管驱动继电器的,本来是可以有直流5V 的继电器直接接入电路中的,但是手头上没有5V 的继电器,所以改用直流12V 驱动交流220V 的继电器,所以用到了三级管的导通电压很小,截至电压很大的功能,搭成的电路,个人意见觉得用三级管驱动继电器性能指标更稳定,因为驱动继电器的电源是独立的。
2.4.供电电路:可由干电池或变压器提供5~7伏电压供电,为了简化原理图供电部分没有画出。
第三章整体电路及系统的调试和安装整体电路见附录一3.1安装按照总原理图将元器件正确安装在电路板上,先部好局,布局的时候应特别注意电容和二极管的正负,不要把正负接反了。
还应值得注意的就是555和电位器的管脚分配,不要因为接错管脚而实现不了功能。
检查好布局,最后再去焊接。
在焊接的时候不要虚焊,焊点要均匀。
3.2调试方法与调试过程1.焊接检查: 先进行芯片的管脚检查,是否管脚和相应的焊接点导通。
其次检查电容和二级管的极性是否正确,最后用万用表检查电路是否连对。
2.基本原件的调节:把电位器的电阻参数大概调节到适合的阻值,然后芯片插入。
3. 通电观察:通电后不要急于测量电气指标,而要观察电路有无异常现象,例如有无冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。
如果出现异常现象,应立即关断电源,待排除故障后再通电。
4 . 静态调试:静态调试一般是指在不加输入信号,或只加固定的电平信号的条件下所进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合5. 通过示波器观察555多谐振荡电路输出波形是否符合指标。
3.3制作成品图3.3.1 成品正面图3.3.2 成品反面第四章设计心得及几点补充说明通过这两个学期电路知识的学习,我们初步掌握了一些基本的模拟电子、数字电子的知识,但当我们拿到课程设计的题目时还是觉得比较茫然,不知从何下手,对好多芯片的使用不很了解,在一些工具书上也没查到其具体的功能。
因此这个电路设计的可能有点繁杂,肯定有更好的方案我们没有发现,在此我们也希望指导老师和同学批评指正。
本次课程设计是我们第一次亲身体会自己动手查资料、设计电路、仿真等过程,个人感觉收获很大。
每当电路要成功时,当时的心情是那么的激动,但是前几次都没有成功,在我的不断努力、不断探索、不断查资料之下,终于将电路设计成功,在成功之时心情真的是好极了!当我们选择这个课程设计题目时感觉很简单,但是在实践中还是遇到很多困难,不知道从何入手去调试,只有两张设计要求和设计电路图,没有工具、没有资料、如何能完成设计要求呢!后来经过本人上网查资料了,使用Multisim对其进行仿真,无需将电路事物图做出来。
用Multisim10对电路进行仿真真的很方便,而且安全,还便于对电路进行修改。
本次设计中采用电路模块化理念,将本来非常复杂的电路分解成一个个简单的单元电路,然后设计单元电路,单元电路设计起来就简单多了。
最后将每个单元电路连接起来便成了一个复杂的,具有特定功能的电路。
本次设计中遇到了不少困难,但在老师同学的帮助下、在我们组的努力下,还是一个一个的将问题解决了!个人感觉收获最大的就是学会了设计电路的这种方法和分析问题解决问题的思想!五.参考文献[1]康华光.电子技术基础数字部分[M].北京:高等教育出版社,1980[2]谢自美.电子线路设计实验测试[M].武昌:华中理工大学出版社,1994[3] 中国集成电路大全编委会.高速CMOS电路[J].北京:国防工业出版社,1995[4] 王伯雄.测试技术基础[M]. 北京:高等教育出版社,2003[5] 焦宝文.电子技术基础课程设计指南[M]. 北京:清华大学出版社,1988[6]张清战.电子技术基础实训[M].北京:科学出版社,1994[7]朱承高.电工及电子技术手册[M].北京:高等教育出版社,1990附录一电路图和PCB版附录二元件清单附录三芯片资料555定时器的集成电路外形、引脚、内部结构如图4-1-1所示。