实验名称EDA课程设计

发布 2022-09-30 21:15:28 阅读 5011

实验名称 eda课程设计。

课程名称 8位数字密码锁设计。

专业班级电子科学与技术。

学生姓名 指导教师

实验日期 2017-10-18

1 实验目的与要求。

实验目的:设计一个电子密码锁,要求是设定6位的密码锁,从键盘输入密码,可用6个数码管显示输入的密码位数。密码输入正确后即可开锁,输入三次错误密码就不断报警。

实验内容:. 电子密码锁的硬件的选择。

1.1主控芯片。

本次设计采用的单片机芯片是a t89s52。a t89s52是一种低功耗、高性能cmos8位微控制器,具有8k 在系统可编程flash 存储器、节ram位i/o口线,看门狗定时器、2个数据指针、三个16位定时器、计数器、一个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。

1.2eeprom 数据存储器24c02, 。本次设计采用24c02芯片为密码存储器,宰掉电的情况下可以继续保存数据。

24c02芯片作为系统的从器件,它与主器件之间的通信遵循i^2c总线协议,协议规定任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器。

串入并出移位寄存器74hc164。它是高速硅门cmos 器件,与低功耗肖特基型ttl 器件的引脚兼容,是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端之一串行输入,任一输入端可以用作高电平使能端,控制另一输入端的数据输入。

两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不能悬空。时钟每次由低变高时,数据右移一位,输入到q0,主复位输入端上的一个地电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。

1.4八位数据锁存器74273。74273芯片是八位高速寄存器,其内部由8个d 锁存器构成,有共同的时钟输入端和异步复位器。

其特性有:边沿触发、8位高速寄存器、数据并入并出、同步时钟,异步复位。

2、系统硬件各部分电路。

2.1数据处理及控制。

本次设计中,由a t89s52芯片连同附加电路构成的单片机最小系统作为数据处理及控制部分。

2.2键盘输入。

本次采用行列式键盘作为密码锁系统的输入部分,把2单个按键按4*4格式组合成键盘,四条行线连接到单片机的p1.0~p1.3四条i/o口线上,四条列线连接到单片机芯片的p1.

4~p1.7四条i/o口线上,在系统运行时,通过检测每条行线和列线上的电平变化,即可判断出用户输入的为何种信息,其电路连接图如下图所示:

2.3密码存储。

本次设计采用在掉电情况下依然能保存数据的eeprom 存储芯片24c02作为密码存储部分的记忆芯片,在电子密码锁系统中,系统需要存储的密码仅有6位,数量较小,所以,芯片的地址选择端口可以直接接地线,只需把芯片的时钟输入端口(sck )和数据输入端口(sda )和单片机相连,其电路图。

2.4显示部分。

电子密码锁系统需要显示的信息少,故采用七段led 数码显示器,数据传输采用串行方式,由单片机的串行数据口p3.0发送,在经过74hc164串行移位寄存器把串行数据转换成8位并行数据,用以驱动七段led 数码显示管。电路图如下:

本次设计得程序:

void main()

uchar i = 0;

uchar iic_password[10];

uchar is_valid_user = 0;

p0 = 0xff;

p1 = 0xff;

p2 = 0xff;

tmod = 0x02; /t0设置为8位自动重装模式 th0 = 175;

tl0 = 175;

tr0 = 1; /启动t0

delayms(10)

/将24c04中预先写入的密码读入pass

recstring(0xa0, 0 , iic_password, 6);

iic_password[6] =0';

while(1)

p1 = 0xf0;

if(p1 !=0xf0) keyno = keys_scan();扫描键盘获取键序号keyno

switch ( keyno )

case 0: case 1: case 2: case 3: case 4:

case 5: case 6: case 7: case 8: case 9:

if ( i<= 5 ) 密码限制在6位以内 {

/如果i 为0则执行一次清屏。

if (i ==0) display_string(" 0x40);

userpassword[i] =keyno + 0';

userpassword[i+1] =0';

dsy_buffer[i] =

dsy_buffer[i+1] =0';

display_string(dsy_buffer,0x40);

i++;break;

case 10: /按a 键开锁。

if (strcmp(userpassword,iic_password) =0) {

led_open = 0; /点亮led

clear_password();

display_string("unlock ok! "0x40);

实验心得: 在这次的课程设计中也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学相互**,相互学习,相互监督。

学会了合作,学会了宽容,学会了理解,也学会了做人与处世,在设计的过程中培养出了我们的团队精神。

EDA课程设计实验报告

课题名称 16 16点阵显示。专业 通信工程。班级 2013级通信工程 2 班。学号 12013241953 姓名 刘乐。指导教师 杨泽林。完成时间 2015年12月18号。一 设计目的。二 课题的主要功能。三 课题的功能模块划分。四 主要功能的实现。五 实验程序。六 系统调试与 七 总结与体会。一...

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...