单片机课程设计

发布 2022-10-05 00:51:28 阅读 8342

电子密码锁设计。

系别:电控系。

班别:楼宇091

姓名:郑雄辉。

学号:20090297

指导老师:曹乃文。

设计日期:2024年1月6日。

小组成员:郑雄辉、叶臻、韦颖。

广西工学院鹿山学院。

二0一二年一月六日。

目录。一、前言1

二、设计目的和要求1

三、设计内容1

1.电子密码锁的硬件的选择2

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

3、电子密码锁的系统软件设计7

四、设计心得及总结14

五、参考文献16

一、前言。随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用,这种锁是通过键盘输入一组密码完成开锁过程。

研究这种锁的初衷就是为提高锁的安全性。由于锁的密码量极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需要记住一组密码,无需携带金属钥匙,免除人们携带钥匙的烦恼,电子锁的种类繁多,例如:

指纹锁、数码锁、磁卡锁、ic锁、生物锁等。但较实用的还是按键式电子密码锁。

二、设计目的和要求。

目的:通过这次设计去了解电子密码锁的工作原理以及用途,同时把自己已有的专业理论知识运用到设计中去,体验单片机的神其。

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

三、设计内容。

1.电子密码锁的硬件的选择。

1.1主控芯片。

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

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

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

1.3串入并出移位寄存器74hc164。它是高速硅门cmos器件,与低功耗肖特基型ttl器件的引脚兼容,是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。

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

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

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

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

2.1数据处理及控制。

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

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数码显示管。电路图如下:

3.电子密码锁的总电路图如下:

3、电子密码锁的系统软件设计。

软件设计流程图:

本次设计得程序:

void main()

uchar i = 0;

uchar iic_password[10];

uchar is_valid_user = 0;

p0 = 0xff;

p1 = 0xff;

p2 = 0xff;

tmod = 0x02t0设置为8位自动重装模式。

th0 = 175

tl0 = 175;

tr0 = 1启动t0

delayms(10

lcd_init初始化lcd

iic_24c04_init初始化24c04

display_string(title_text,0x00); 在第1行显示标题。

//24c04的内容已由初始化bin文件导入。

//将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_string0x40);

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);

is_valid_user = 1;

else led_open =1; /关闭led

clear_password();

display_string("error0x40);

is_valid_user = 0;

i = 0;

break;

case 11: /按b键上锁。

led_open =1;

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...