第1页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共37页数字逻辑设计课程设计报告书题目名称:电子密码锁学院:光电信息学院小组成员:钟永捷2011059080024侯晨涛2011059170003徐昊2011059060029指导教师:李力日期:2013年6月28日一、小组成员分工情况第2页共37页第1页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共37页侯晨涛:所有编程工作、资料查找工作量:60%钟永捷:辅助编程、图表制作、资料查找工作量:20%徐昊:论文写作、图表制作、资料查找工作量:20%二、题目分析1.输入信号通过扫描键盘的行与检测键盘的列得到输入信号。2.输出信号通过译码器得到的显示器显示信息,开关锁动作。三、设计总框图四、各模块说明(一)键盘扫描模块1.原理通过时序信号产生脉冲,不间断地向矩阵键盘的行输入1110-1101-1011-0111的循环序列。同时将各列的电平置高,检测矩阵键盘各列的电平变化。若在一定时间内,扫描到第n列电平为零时恰好第m行的输入电平也为零,则判断键盘上[m,n]位置上键被按下。第3页共37页第2页共37页时序信号4*3键盘寄存器比较行列行编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共37页2.模块框图3.状态表此模块只需要通过编码器实现即可,假定前四位表示各行扫描结果,后三位表示各列扫描的结果。动作行输入列输入状态命名编码输出按下“0”键0111101S00000按下“1”键1110110S10001按下“2”键1110101S20010按下“3”键1110011S30011按下“4”键1101110S40100按下“5”键1101101S50101第4页共37页第3页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共37页按下“6”键1101011S60110按下“7”键1011110S70111按下“8”键1011101S81000按下“9”键1011011S91001按下“#”键0111011S101010按下“*”键0111110S1110114.仿真结果Key_in代表按键按下与否情况,Key_mem将其记录并输出,scan为行扫描信号,Key_out为按键输出值。如上仿真结果所示,当scan为1110时,扫描第一行。按下第一个键,即Key_in为110,此时Key_out为0001,即输出值为1。其它状态依此类推。(二)输入模块1.原理第5页共37页第4页共37页判断寄存器输入寄存器编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共37页设置两个寄存器,一个作为用户所想设置密码的密码寄存器。另一个寄存器则是将键盘Input的键值存储起来。最后通过一个比较器将两个寄存器的值进行比较。若相同则输出“open”,反之,输出“error”。比较器内部通过多位异或门实现。2.模块框图3.状态图4.仿真结果1)删除字符第6页共37页第5页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第6页共37页第一次输入值为0101,Number_sig第0到3位将其保存。第二次输入值为0011,Number_sig第4到7位将其保存。第三次输入值为0001,Number_sig第8到11位将其保存。第四次输入值为1010,即删除键。第五次输入值为0111,Number_sig第8到11位的值由0001变为0111,即实现了删除功能。2)密码输入正确第7页共37页第6页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第7页共37页Correct=1说明密码输入正确,Number_sig的值为000011001101111000000000,Number_sig的值通过七段显示译码器之后将使数码管显示OPEn00。3)密码输入错误Correct=1说明密码输入正确,Number_sig的值为110111111111000011110000,Number_sig的值通过七段显示译码器之后将使数码管显示ERROR0。(三)密码判断及更改1.原理第8页共37页第7页共37页比较器相同不同存储寄存器返回输入前状态第一次输入寄存器第二次输入寄存器输入输入比较器输入寄存器存储寄存器输入输入不同相同判断密码正确编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第8页共37页密码判断模块:通过比较器将输入寄存器与存储寄存器中的数据进行比较,如果数据相同,则判断密码正确。如果数据不同,则返回输入等待状态,并对输入寄存器中的数据清零。密码更改模块:将第一次与第二次输入寄存器中的数据输入比较器比较,如...