版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称:课程设计题目姓名学院:专业年级学号华南师范大学课程设计实验报告可编程数字系统设计电子密码锁程硕物理与电信工程学院理综一班201120112600104一、设计原理用VHDL设计电子密码锁方案:作为通用电子密码锁,主要由3个部分组成:数字密码按键输入电路、密码锁控制电路和密码锁显示电路,作为电子密码锁的输入电路。可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。密码锁输入电路包括时序产生电路、键盘检测电路、键盘消抖电路等几个小的功能电路。密码锁控制电路包括按键数据存储电路,恢复出厂密码、两次正确输入后可修改密码、密码核对,多次错误报警,清屏等几个小的功能电路。八段数码管显示电路主要
2、将待显示数据的BCD码转换成数码器的八段显示驱动编码。二、系统分析本次课程设计成功地设计了一个简单的数字电子密码锁,密码为4位。将电子密码锁分为以下几个模块:按键消抖模块、密码锁逻辑控制模块和密码锁显示模块,实现了以下功能:密码输入:KEY1按下一次,数码管上显示数字加一,相应位置输入密码加一位置选择:KEY2按下一次,数码管选择位左移一位密码确认:KEY3按下一次,比较外部输入密码与原密码,正确LED长亮,错误LED变暗,同时显示密码置0;密码修改:正确输入两次密码后,按下KEY4一次,将当前输入设为新的密码;清屏:KEY5按下一次,外部输入置0;恢复出厂设置:连续按下KEY5三次后恢复出厂
3、密码“1234”;三、程序设计由于程序稍显庞大,故采取分层次设计的方法,顶层采用画图法设计,底层采用VHDL语言进行设计。顶层电路图如图1所示|1=1皆1|FihLsaphe-s1lr-ll!rlt4v:.-shjTHjTxgI:二二.i.-rnrrnrrnrrTrt.PIN54:mahHjnRLHi_iira(iCjScyEMl-BTimap.CcHi魁S3CK产4嗣时车囚豹sap刃rJiaT-iic*dCJltn:涸Meft*图1Xiao_dou模块为按键消抖模块,main为密码锁控制模块,yima为数码管显示译码模块。Set_shuma端口为数码管段选端口,用于选择数码管。Led端口为l
4、ed灯端口,keyl,key2,key3,key4,key5为五个按键接口,show_shuma端口为数码管位选选择端口。底层设计由于按键为机械按键,故按下一次会产生多次脉冲,当产生第一次下降沿的时候延时一段时间后,再继续检测是否有下降沿产生。主体程序如下:if(elkevent,adclk=1)-cjierLif(dirL=,0)tiienif(njn.=1000000)thennuiu=njia.;SelsenunK=nnmi41jendif;if(nun=a39999Jthendojt=111;elsedoat-=O;endif;9elsenuni=0;end1;endif;数码管译码显
5、示进程:将0至9的4位矢量型数字转化为相应8位数码管显示数字*二suna5?LUiiishuma5?iwia5?LWia5?iLimas?iLimaB?iLiiiias?iiinashuir.dshvnoa=11电子密码锁控制电路:数码管位置选择进程:当数码管位置选择时钟到来时,数码管显示位左移一位,利用人眼的视觉余辉效果,产生4位数码管同时点亮的效果。SshQW_location_se匸:prciueiSB(匸凯口曰!-the!cationof3hoina_guanbegin3if(teirsiiEiDiaeventand.匸已mp_shuiia:=l1thensriow_Bkuiiaia_
6、locatiomC=mhCiW_mhiLa_l_ocatan41;endif;endprocess;数码管位置选择时钟信号发生进程:将系统时钟分频,产生500HZ占空比为1:1的方波,用于控制数码管位置选择。Sshuna_200:process(elk)一一usetodelaylocationsetbeamSiliclJCeventandc.ik=1)tnen工工InuiWer_siia=5Q0QQ匸2ienniiiraber_sniiinia.=o;lenp_sniiinia.nun_3hrana=ccnv_gtd_loqtic_vector(bl,D_cne_out.目卜fwhenTTur
7、si_3huma.,ccnv_3td_logaE_veetoz,(tait_rwD_outr4卜;3-t_ahumar,1101w;when云nun_BhuiiLaL=ccnv_scdlogic_jaacaz(:blz_chre_our4|;日ec_BhunLaLnun_3hmna=a2nT_Btd_logic_veatoz(biz-_Ecuz_ciutHQP?aet_3hmna=nRILJL用;endcase:Hi(re5rt:_Bll-*11|ithenhurwathenkejflleaT-1!-rScaselQca.ticnis油皀a常口口p,=tiit_one_oli匚=J丄匸_d仍皀
8、_oii匚+1?H-C(tic_or.e_ouc=9ch&r.Id丄t_one_口ll匚c=Of=ndif;whenff01-bit_two_out:then_口口cit_thTse_c口匚e_ci;r+l;H_r(tic_rSLr:e&_Quc=3匚3n.enblt_cireme口匸;rndif;when11-bit_four_out;-bit_oui_out;+1?ifCbiC_fCinr_out-9JChenbit_four_crst0jendit;endcaise;end11;Hif(clear_nuiii0thenkcyl_c1tar01-endifjHif(reaietll-111
9、bthenbit_Qne_GU;blr-_Dva_cLLL=0;blL_DlX&_OHZthen-let3=1OB:kEy2_cleaz=l1fc;1&a.ticn,laaation+1;end1f:it(reser:_all=Bl,)匸吐三口JL口Mticn-C!,0Cl!,;endif;EitIclearumFO)thenkey2_alea.r=10*?rndifjendpz口eess;密码设置,重置进程:当密码连续正确两次后,按下KEY4键,将现在显示的密码置为新密码。后半部分为恢复出厂设置密码。setjnmca:rrcsegg|alJrHclear_rmn)bainBifch.enif
10、B-ventandkey4-B0)thenledC-D;ke3_cleai:=I1?blc_cne_in=lDiz_ane_auc.:LiC_CWO_iH=lDiL_LH口_口口匚;Mc_clire_inic_rouT_m-tn-D_raur_outjendif:endif;H(clear_nujii-i3)thenkey-9_匚1已出工1;endir?Sxl(alear_nwiQF3)tne叮bi-D_onc_lnljbit_twc_in2:hit._three_in-2:tait_EDU.r_in-=4;snd?endprocess;清屏,恢复出厂设置进程:当KEY5按下时产生清屏信号,当
11、KEY5连续按下三次后产生恢复出厂设置信号。后半部分为清屏与恢复出厂设置信号的清除程序,用于清除产生的清屏与恢复出厂设置信号。3re-aci:procejs(clkK.terresecr&ceyl_cLearteey2clearr5rsy3clearIcey-clear)beginSII(ke/Sevesicandkey5=aIciien一1亡企zejetLK-1*la;HlIclcarunmither;cLenr_ni0?9elseclear_num=cleaz,_najn+ljendIT?endif;Bi(lDuticinOO*andbit_ane_DutiCiand.bit_tirci_
12、au.tflandtalt._t.hjree_au,t0andbit_fDU_aLat.fl)thenreset_aJ.KpO,:rndit;ifotherksyclearninir5ITtcein_re3ec=,11)thenresec_all=Bl;end.az-key_elaar,-11*)thenHzfkeylarkeySlear-1h11cr&cey2_cleaE,-Cle-BT_TiOlCr-D;erditjendpzo匚巴口;?;viii.密码比较进程:比较当前输入密码与内部密码的值,如相同则LED长亮,如不同则LED暗,如连续3次输入错误密码则LED闪烁报警。ix.LED闪烁脉
13、冲发生进程:用于产生LED闪烁所需方波脉冲Sone_second:precess(elk)beginHifcllt1vntsndclk=11r)ttieni(n-uinbei:_Led.=5000000ttiezinuinberLed=C;teinE2_lEd=nottemp_lE-i;elsenuiriln亡匚led=nuinb亡匚1-ed+l:endiz;endiz;endpr&c-essone_3e&ond;仿真/实验结果1.密码正确:2.密码错误:3.清屏:五、结论或分析各项实验结果均成功,各项功能。能够很好的实现,密码比较,设置密码,清屏,恢复出厂设置等六、使用说明1.S5:KEY1
14、按下后外部输入密码加1;S4:KEY2按下后输入选择位置左移一位;S3:KEY3按下后比较输入密码与内部密码;S4:KEY4连续输入两次正确密码后按下,将当前显示密码设为新密码S5:KEY5按下一次清屏,连续按下三次后恢复出厂设置。七、源程序1.控制电路源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitymainisport(key1,key2,key3,key4,key5:instd_logic;clk:instd_logic;nu
15、m_shuma:outstd_logic_vector(3downto0);set_shuma:outstd_logic_vector(3downto0);led:outstd_logic:=0;sel:outstd_logic);endentitymain;architecturelockofmainissignaltemp_1,temp_led,temp_shuma,reset_all,reset_mima,temp_reset,key1_clear,key2_clear,key3_clear,key4_clear:std_logic;signalbit_one_in:integerran
16、ge0to9:=1;-insideofnumbersignalbit_two_in:integerrange0to9:=2;signalbit_three_in:integerrange0to9:=3;signalbit_four_in:integerrange0to9:=4;signalshow_shuma_location:std_logic_vector(1downto0);-locationofshumasignalbit_one_out,bit_two_out,bit_three_out,bit_four_out:integerrange0to9;-outsideofnumbersi
17、gnallocation:std_logic_vector(1downto0);-insidelocationofnumbersignalnumber_led:integerrange0to5000000;signalnumber_shuma:integerrange0to50000;signalnumber_error:integerrange0to3;signaltwice:integerrange0to2;signalclear_num:integerrange0to3;begin-thelocationofshuma_guanshow_location_set:process(temp
18、_shuma)beginif(temp_shumaeventandtemp_shuma=1)thenshow_shuma_locationnum_shuma=conv_std_logic_vector(bit_one_out,4);set_shumanum_shuma=conv_std_logic_vector(bit_two_out,4);set_shumanum_shuma=conv_std_logic_vector(bit_three_out,4);set_shumanum_shuma=conv_std_logic_vector(bit_four_out,4);set_shuma=011
19、1;endcase;if(reset_all=1)thennum_shuma=0000;-xianshizhi0endif;endprocess;delaylocationshuma_200:process(clk)-usetosetbeginif(clkeventandclk=1)thenif(number_shuma=50000)thennumber_shuma=0;temp_shuma=nottemp_shuma;elsenumber_shuma=number_shuma+1;endif;endif;endprocessshuma_200;-key1addadd_outside:proc
20、ess(clk,reset_all)numbeginif(key1eventandkey1=0)thenkey1_clearbit_one_out=bit_one_out+1;if(bit_one_out=9)thenbit_one_outbit_two_out=bit_two_out+1;-key2location_set-key4setmimaif(bit_two_out=9)thenbit_two_outbit_three_out=bit_three_out+1;if(bit_three_out=9)thenbit_three_outbit_four_out=bit_four_out+1
21、;if(bit_four_out=9)thenbit_four_out=0;endif;endcase;endif;if(clear_num=0)thenkey1_clear=0;endif;if(reset_all=1)thenbit_one_out=0;bit_two_out=0;bit_three_out=0;bit_four_out=0;endif;endprocessadd_outside;location_set:process(clk,reset_all)beginif(key2eventandkey2=0)then-led=0;key2_clear=1;location=loc
22、ation+1;endif;if(reset_all=1)thenlocation=00;endif;if(clear_num=0)thenkey2_clear=0;endif;endprocess;set_mima:process(clk,clear_num)beginif(twice=2)thenif(key4eventandkey4=0)then-led=0;key4_clear=1;bit_one_in=bit_one_out;bit_two_in=bit_two_out;bit_three_in=bit_three_out;bit_four_in=bit_four_out;endif
23、;endif;if(clear_num=0)thenkey4_clear=0;endif;if(clear_num=3)thenbit_one_in=1;bit_two_in=2;bit_three_in=3;bit_four_in=4;endif;endprocess;reset:process(clk,temp_reset,key1_clear,key2_clear,key3_clear,key4_clear)-key5clearandresetbeginif(key5eventandkey5=0)then-led=0;reset_all=1;if(clear_num=3)thenclea
24、r_num=0;elseclear_num=clear_num+1;endif;endif;if(location=00andbit_one_out=0andbit_two_out=0andbit_three_out=0andbit_four_out=0)thenreset_all=0;endif;if(temp_reset=1)thenreset_all=1;endif;if(key1_clear=1orkey2_clear=1orkey3_clear=1orkey4_clear=1)then-ifotherkeyclearnumclear_num=0;endif;endprocess;-k
25、ey3comparecompare:process(clk,reset_all)beginif(key3eventandkey3=0)thenkey3_clear=1;if(bit_one_in=bit_one_outandbit_two_in=bit_two_outandbit_three_in=bit_three_outandbit_four_in=bit_four_out)thenled=1;temp_1=0;temp_reset=1;number_error=0;if(twice=2)thentwice=twice;elsetwice=twice+1;endif;elsetwice=0;if(number_error=3)thennumber_error=1;temp_1=1;elsenumber_error=number_error+1;led=0;temp_1=0;endif;endif;endif;if(clear_num=0)thenkey3_clear=0;endif;if(location=00andbit_one_ou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省泰州市姜堰区2023-2024学年四年级上学期期中英语试卷
- 消费者心理学与营销实战考核试卷
- 新能源企业文化与价值观建设考核试卷
- DB11∕T 3008.9-2018 人力资源服务规范 第9部分:人力资源管理咨询服务
- 宝鸡教研课件教学课件
- 淮阴工学院《计算机网络4》2023-2024学年期末试卷
- 淮阴工学院《机电系统建模与仿真1》2022-2023学年期末试卷
- 淮阴工学院《公共危机管理》2022-2023学年第一学期期末试卷
- 细菌类生物制品相关行业投资方案
- 光伏支架相关行业投资规划报告范本
- 相逢在花季――青春期心理健康
- 市场监管局执法文书可编辑版现场检查笔录
- 布草洗涤程序
- 最新小学四年级部编语文上册-第四单元考点梳理(含答案)
- IPC4552中文.doc
- 和泉PLC编程软件
- 中学30+15高效课堂教学改革实施方案
- 《Flash CC动画制作》教学大纲 课程标准 最全最新
- 高喷防渗技术交底
- 安全生产应急响应机制
- 大班语言《风在哪里》ppt课件[共12页]
评论
0/150
提交评论