最新版基于MSP430单片机的智能门禁系统毕业论文.docx

上传人:b****5 文档编号:4276813 上传时间:2022-11-28 格式:DOCX 页数:27 大小:73.12KB
下载 相关 举报
最新版基于MSP430单片机的智能门禁系统毕业论文.docx_第1页
第1页 / 共27页
最新版基于MSP430单片机的智能门禁系统毕业论文.docx_第2页
第2页 / 共27页
最新版基于MSP430单片机的智能门禁系统毕业论文.docx_第3页
第3页 / 共27页
最新版基于MSP430单片机的智能门禁系统毕业论文.docx_第4页
第4页 / 共27页
最新版基于MSP430单片机的智能门禁系统毕业论文.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

最新版基于MSP430单片机的智能门禁系统毕业论文.docx

《最新版基于MSP430单片机的智能门禁系统毕业论文.docx》由会员分享,可在线阅读,更多相关《最新版基于MSP430单片机的智能门禁系统毕业论文.docx(27页珍藏版)》请在冰豆网上搜索。

最新版基于MSP430单片机的智能门禁系统毕业论文.docx

最新版基于MSP430单片机的智能门禁系统毕业论文

题  目 基于MSP430单片机的 

智能门禁系统

 

目录

一论文正文

1系统分析1

1.1系统的可行性研究1

1.2需求分析1

1.3系统整体设计方案1

1.4所需功能模块2

2系统组成结构及硬件设计3

2.1系统组成3

2.1.1收集层3

2.1.2处理层3

2.1.3通信层3

2.1.4执行层3

2.2系统结构3

2.2.1锁体4

2.2.2单片机系统4

2.2.3微机系统5

3硬件设计方案6

3.1用户读取器6

3.2键盘硬件电路设计与实现7

3.3单片机电路设计与实现7

3.4单片机与门锁接口电路设计与实现9

4IC卡模块的设计与实现9

4.1IC卡概念9

5与PC机通信的设计与实现10

5.1初始化设置10

5.2串口中断服务程序12

6LCD模块设计与实现14

6.1LCD的结构设计14

7软件设计15

7.1端口初始化程序15

7.2液晶模块操作程序18

8结论26

参考文献27

谢辞28

二附录

1论文(设计)任务书29

2论文(设计)结题报告31

3论文(设计)成绩评定及答辩评议表33

4论文(设计)答辩过程记录35

基于MSP430单片机的智能门锁控制系统的设计

摘要:

随着科技的进步,以单片机为核心的自动门锁控制系统已经开始进入了人们的生活。

本论文着重阐述了以msp430单片机为核心,通过并行接口直接控制LCD液晶显示器模块及键盘扫描,并与接触式IC卡读写技术相结合的系统。

为保证门锁使用的安全性,系统自动比较IC卡密码和用户输入密码,若输入的密码与系统读出的IC卡密码相同,门锁自动开启;若连续输入三次错误的密码,系统自动停止此卡的使用,并及时将报警信号通过RS-485串行通信总线传往主控台。

本设计的优点是硬件电路简单,软件功能完善,控制系统可靠,具有一定的实用价值。

该系统拓展后,可用于其他智能家电的控制,具有好的应用前景。

关键词:

MSP430单片机;接触式IC卡;LCD显示器;电子门锁

TheandrealizationofICcardelectronicdoorlockscontrollingsystem

Abstract:

Withtheprogressoftechnology,theautomaticdoorlockscontrolsystemwhichtakesthetheSingleMicroChipComputerasthecoreissteppingintopeople'slives.ThispaperfocusesonthesystemwhichtakestheseriesSingleMicroChipComputermsp430asthecore,whichcontrolsLiquidCrystalDisplaymodulesandkeyboardscanningthroughthecontrolchipdirectly,andcontactstheICcardread-writetechnology.Inordertoguaranteethesecurityofthedoorlock'suse,thesystemdesignoffersancomparisionbetweentheICcardpasswordandthepasswordwhichtheuserinput.IfinputedpasswordandtheICcardpasswordreadoutonthesystemread-outaresame,thedoorlockwillbeopenedautomaticly.Ifyouinputwrongpasswordthreetimescontinuously,thesystemwillautomaticallystoptheuseofthecard,andthealarmwillbetransmitedtothekeystationpromptlythroughtheRS-485serialtelecommunicationsbusst-bus.Theadvantageofthisdesignissimpleinthepractical.Afterthissystemisdeveloped,itcanbeusedinotherintelligentelectricalappliances'controlandprospect.

Keywords:

MSP430SingleChipMicroComputer;ICcards;LiquidCrystalDisplay;Electronicdoorlocks

目录

1系统分析1

1.1系统的可行性研究1

1.2需求分析1

1.3系统整体设计方案1

1.4所需功能模块2

2系统组成结构及硬件设计3

2.1系统组成3

2.1.1收集层3

2.1.2处理层3

2.1.3通信层3

2.1.4执行层3

2.2系统结构3

2.2.1锁体4

2.2.2单片机系统4

2.2.3微机系统5

3硬件设计方案6

3.1用户读取器6

3.2键盘硬件电路设计与实现7

3.3单片机电路设计与实现7

3.4单片机与门锁接口电路设计与实现9

4IC卡模块的设计与实现9

4.1IC卡概念9

5与PC机通信的设计与实现10

5.1初始化设置10

5.2串口中断服务程序12

6LCD模块设计与实现14

6.1LCD的结构设计14

7软件设计15

7.1端口初始化程序15

7.2液晶模块操作程序18

8结论26

参考文献27

谢辞28

1系统分析

1.1系统的可行性研究

任何系统在开发之前,都要进行可行性分析来确定项目开发是否有必要和可行。

必须分析几种主要可能解法的利弊,从而判断原定的系统规模和目标是否能现实,系统完成后所能带来的效益是否大到值得投资开发。

因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

就本系统而言,在设计其逻辑模型时,要先判断该系统在开发之后是否能在市场上得到广泛的应用,赢得经济效益。

现今越来越多的酒店、宾馆都开始使用智能电子门代替传统的门,这样既方便了客人的使用,也使宾馆的客房管理更安全,即使卡丢失,通过总台输入相应的客户信息也能将门打开。

本设计成本也很低。

随着科技的进步,当今很多产品越来越智能化也是发展的必然趋势,此产品及时地配合上了科学的发展,还会有一定的拓展空间,比如现在很多高校都用校园一卡通,很大程度地方便了学生的日常生活。

再有,现在世界上和很多科学家正在努力开发数字化家庭这个项目,本设计正是步入这个目标的初级阶段。

它省去了携带钥匙,只能一把钥匙开一把锁的不便。

人们在使用传统的门时,如果丢失了钥匙只能将门撬开,智能门锁系统就避免了这个弊端,它将每个门锁密码统一存在总台控制中,即使IC卡丢失,也可通过总台将门打开。

1.2需求分析

本设计适应着科技的发展,有相当一部分的科技人员正在研究开发这个项目,因此本系统具有技术可行性。

本系统中还包括了后台对电子门的控制,现在有专门从事这种后台操作的工作人员,统一对电子门锁系统进行管理和技术维护,因此本系统还具有一定的管理可行性。

1.3系统整体设计方案

(1)系统自动读取IC卡程序,用一个中断程序,只可对IC卡执行继续工作,对其他类型的卡不可识别。

(2)系统接着自动读取IC卡密码,若此卡已经过期,则自动中断,不可识别。

(3)识别卡后,若IC卡有效,则液晶屏幕显示汉字:

请输入密码。

(4)从键盘输入密码,读入密码,并在屏幕上以*显示。

(5)单片机比较两个密码。

若不同,则中断程序,并将程序跳到(4),最多循环三次,若仍不相同,则系统收回对IC卡的使用权;若相同,则门自动开锁。

图1.1

1.4所需功能模块

通过系统的需求分析和可行性研究得出系统所要实现的功能,并得出实现这些功能需要用到以下几个功能模块,包括:

IC卡模块、存储器模块、LCD液晶显示、键盘模块、电子门锁开启及报警模块。

其中的电子门锁开启及报警模块与一个发光二级管和一个报警笛相连,当系统通知电子门锁开启及报警模块可以将电子门打开时,门锁自动打开,在本设计中用绿灯亮来表示电子门打开;当系统运行三次比较密码程序后,若两个密码仍不相同,则系统就通过电子门锁开启及报警模块通知警笛报警。

其他的功能模块在以下的论文中会做详细的介绍,这些功能模块都是以MSP430单片机中的MSP430F149为核心实现的。

2系统组成结构及硬件设计

2.1系统组成

智能门锁控制系统的思想是由用户向系统提供身份信息和个人密码作为开锁请求,经系统与既有的电子帐户核对后,确定是否执行开锁步骤。

同时,系统还提供对电子帐户的管理功能,如查询,修改添加和删除功能。

对这一设计思想进行抽象,就可以建立起对整个系统的逻辑层次。

2.1.1收集层

收集层是智能门锁控制系统与用户互动的桥梁,完成对用户各种请求信息的收集,是整个系统中十分重要的部分。

要收集的信息包括用户卡信息用户个人密码用户查询要求等。

该层次的具体组件包括硬件上的读卡器键盘和管理软件程序界面。

2.1.2处理层

处理层是完成对已收集到的信息的处理,主要负责对用户信息的验证,控制门锁开关和对电子帐户的各种管理工作。

这一层完全由上层管理软件构成,是整个智能门锁控制系统的核心,是实现智能化的关键。

2.1.3通信层

有了收集到的信息和经过处理的信息,还必须让信息在整个系统中流动,这就要靠通信层。

通信层的最主要部分是连接信息收集层和信息处理层的单元。

通信层的主体采用RS232串行通信口线的信息传输媒介,负责单片机和上位机的通信。

2.1.4执行层

处理层对通信层传过来的信息进行判断处理,确定其合法性以后,把控制权交给执行层。

执行层主要负责将弱电信号转化为强电信号,开锁信号灯显示报警显示等。

它是整个系统的最终执行者。

2.2系统结构

从宏观上看整个系统的构造如图2.1

图2.1系统宏观结构

2.2.1锁体

所提部分采用电磁锁这种所利用关门时人对锁体内部弹簧做功的势能存储起来作为开锁的动力,当锁体内的一块电磁铁通电时,就触发弹簧把锁打开,既可以用电信号控制开锁,所需的控制电流大约为1.5安。

2.2.2单片机系统

单片机系统是信息收集层的核心部分,其结构如图2.2

图2.2单片机系统

它承担读取用户卡片和密码信息,与上位微机串行口通信的全部任务。

主控芯片选用MSP430单片机;通信部分采用SP3220与微机串口进行通信;芯片和锁体之间采用继电器,使芯片引脚提供的MA级电流可以驱动A级电流的电磁锁。

通过单片机对卡片读写器与键盘的控制,可以读取用户卡片信息和密码,并由单片机和上位微机通信识别用户合法性,确定是否开锁。

整个单片机系统得工作电源采用外接电源。

2.2.3微机系统

微机系统全部由软件组成,其构造如图2.3.

微机系统主要处在信息处理层。

主要信息处理程序分为两部分,分别完成对开锁请求的合法性和验证,以及实现用户对用户表和登陆日志这两个数据库的查询类请求。

与单片机的交互通信由串行通信程序集中处理,用于接受开锁请求和发送验证结果。

图2.3微机系统结构

3硬件设计方案

根据控制系统的的工作原理和工作过程,整个系统硬件分为三大部分:

用户卡读取器键盘单片机核心。

3.1用户读取器

采用太阳卡,该卡为光电卡,采用光电传感器把卡上的信息转化为计算机可以处理的信号。

光电传感器是以光敏元件作为转化元件的传感器,在此使用光敏三极管。

使用光敏元件的特性,设计读取电路单元见图2.4

图2.4读取电路

当控制端为高电平+5V时电平读取端始终为高电平;当控制端为低电平0V时,读取端的电平取决于光敏元件的状态;当光敏元件受到光照而导通时,由于电阻的下拉作用,读取端为低电平,反之为高电平。

这样就可以把光电卡上的通孔所记录的信息转化为电信号。

3.2键盘硬件电路设计与实现

本系统采用薄膜式键盘,12个按键,34阵列,有10个数字键(0-9),2个功能键“确定”与“取消”,供程序处理输入完毕和输入错误后重新输入得情况。

键盘读取方式为翻转式读取,程序代码简单可靠。

3.3单片机电路设计与实现

单片机式整个门锁控制系统得总控制者和总操作者,负责读取用户卡得信息和用户密码,同时负责与上位机通信:

发送用户卡片信息和用户密码,并接受上位机命令,控制门锁开启。

(1)电源模块

以保证单片机系统得正常工作。

图2.5电源模块

(2)复位电路

图2.6复位电路

(3)与微机串行接口

由于单片机与上位机通信时接口电平不同,因此需要进行接口转换,这里采用SP3220芯片来完成接口电平的转换。

SP3220具有功耗低,封装小等特点,此芯片具有以下特点:

✓宽电压供电。

供电电压为3.0V——5.5V

✓上传速率可以达到235Kbs

✓低功耗的电流为1µA

✓增强性ESD规范

通信电缆的连接方式如图

图2.7串口模块

3.4单片机与门锁接口电路设计与实现

单片机接收到上位微机发来的用户合法信息后,置MSP430得P6口为高电平进行开锁操作。

芯片提供的电流很小(mA级),而开锁需要得电流大于1.5A,需要进行信号放大。

采用2级放大电路,第一极由三极管组成,第二极由继电器组成。

MSP430芯片上的P6引脚信号进入三极管的基极B,使电流从集电极流向发射极,进入继电器的触发端,让继电器内部的开关闭合,接通大功率电源与电磁锁,完成开锁。

4IC卡模块的设计与实现

4.1IC卡概念

IC卡的英文全名是IntegratedCircuitCard(集成电路卡),它是继磁卡之后出现的又一种新型信息工具。

IC卡将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料卡片中。

IC卡在有些国家和地区也称智能卡(smartcard)、智慧卡(intelligentcard)、微电路卡(microcircuitcard)或微芯片卡(Microchipcard)等。

它是将一个微电子芯片嵌入符合ISO7816标准的卡基中,做成卡片形式,已经十分广泛地应用于包括金融、交通、社保等很多领域。

IC卡的核心部分是一块集成电路芯片,故它又可称为“芯片卡”。

图4.1IC卡电源部分原理图

IC卡的电源受POWER引脚的控制。

只有当POWER为高电平时,+5V才能加到IC卡VCC引脚上。

IC卡电源部分原理图见上图。

5与PC机通信的设计与实现

5.1初始化设置

主要包括时钟初始化,端口初始化和串口初始化。

下面为程序:

时钟初始化:

 voidInit_CLK(void)

{

unsignedinti;

BCSCTL1=0X00;将寄存器的内容清零

XT2震荡器开启

LFTX1工作在低频模式

ACLK的分频因子为1

do

{

IFG1&=~OFIFG;清除OSCFault标志

for(i=0x20;i>0;i--);

}

while((IFG1&OFIFG)==OFIFG);如果OSCFault=1

BCSCTL2=0X00;将寄存器的内容清零

BCSCTL2+=SELM1;MCLK的时钟源为TX2CLK,分频因子为1

BCSCTL2+=SELS;SMCLK的时钟源为TX2CLK,分频因子为1

}

端口初始化:

voidInit_Port(void)

{

将所有的管脚在初始化的时候设置为输入方式

P3DIR=0;

将所有的管脚设置为一般IO口

P3SEL=0;

return;

}

1串口初始化

voidInit_UART1(void)

{

将寄存器的内容清零

U1CTL=0X00;

数据位为8bit

U1CTL+=CHAR;

将寄存器的内容清零

U1TCTL=0X00;

波特率发生器选择SMCLK

U1TCTL+=SSEL1;

波特率为57600

UBR0_1=0X8B;

UBR1_1=0X00;

调整寄存器

UMCTL_1=0X00;

使能UART1的TXD和RXD

ME2|=UTXE1+URXE1;

使能UART1的RX中断

IE2|=URXIE1;

使能UART1的TX中断

IE2|=UTXIE1;

设置P3.6为UART1的TXD

P3SEL|=BIT6;

设置P3.7为UART1的RXD

P3SEL|=BIT7;

P3.6为输出管脚

P3DIR|=BIT6;

return;

}

5.2串口中断服务程序

串口通信采用中断机制,发送数据和接收数据都采用中断方式。

当接收数据时,设置一个标志来通知主程序有数据到来,当主程序有数据要发送时,设置一个中断标志进入中断发送数据。

串口通信模块的程序流程图如图5.1示:

图5.1串口通信模块的程序流程图

对于发送中断,程序处于扥带状态,如果检测到有发送的标志,则从缓存区里取出数据发送:

对于接收中断,等待数据到来,如果有数据到来则设置标志来通知主程序。

下面为程序:

interrupt[UART1RX_VECTOR]voidUART1_RX_ISR(void)

{

UART1_RX_BUF[nRX1_Len_temp]=RXBUF1;接收来自的数据

nRX1_Len_temp+=1;

if(UART1_RX_BUF[nRX1_Len_temp-1]==13)

{

nRX1_Len=nRX1_Len_temp;

nRev_UART1=1;

nRX1_Len_temp=0;

}

}

处理来自串口1的发送中断

interrupt[UART1TX_VECTOR]voidUART1_TX_ISR(void)

{

if(nTX1_Len!

=0)

{

nTX1_Flag=0;表示缓冲区里的数据没有发送完

TXBUF1=UART1_TX_BUF[nSend_TX1];

nSend_TX1+=1;

if(nSend_TX1>=nTX1_Len)

{

nSend_TX1=0;

nTX1_Len=0;

nTX1_Flag=1;

}

}

}

上面收发程序都处于等待状态,一旦外面有数据到来,则触发接收,进入接收中断服务程序。

中断程序从“RXBUF1”寄存器读取数据,将得到的数据放到“UART1_RX_BUF[]”全局缓存区里,在接收到数据后设置一个标志”nRev_UART1”来通知主程序。

如果有数据需要发送的时候,主程序设置一个发送标志,并且触发发送中断,进入发送中断服务程序。

在发送中断程序里,从“UART11_TX_BUF[]”全局缓存区里取出数据发送给“TXBF1”寄存器进行发送,发送完数据后,发送中断程序等待下一次中断到来。

6LCD模块设计与实现

6.1LCD的结构设计

LCD显示实验流程图见图

图6.1液晶显示流程图

7软件设计

整个程序包括单片机的初始化,液晶模块操作。

7.1端口初始化程序

voidInit_port(void)

{

p5.0p5.1p5.2p5.2p5.3为输出放向

P5DIR│=BIT0;

P5DIR│=BIT1;

P5DIR│=BIT2;

P5DIR│=BIT3;

RETURN;

}

此程序是设置E1E2RWA0的控制管脚的输入输出方向。

控制管脚电平模拟程序

此程序主要是在E1E2RWA0管教上产生高电平或者低电平,下为程序:

voidE1_High(void)

{

P5.2管脚输出为高电平

P5OUT|=BIT2;

_NOP();

_NOP();

return;

}

voidE1_Low(void)

{

P5.2管脚输出为低电平

P5OUT&=~(BIT2);

_NOP();

_NOP();

return;

}

voidE2_High(void)

{

P5.3管脚输出为高电平

P5OUT|=BIT3;

_NOP();

_NOP();

return;

}

voidE2_Low(void)

{

P5.3管脚输出为低电平

P5OUT&=~(BIT3);

_NOP();

_NOP();

return;

}

voidA0_High(void)

{

P5.0管脚输出为高电平

P5OUT|=BIT0;

_NOP();

_NOP();

return;

}

voidA0_Low(void)

{

P5.0管脚输出为低电平

P5OUT&=~(BIT0);

_NOP();

_NOP();

return;

}

voidR_W_High(void)

{

P5.1管脚输出为高电平

P5OUT|=BIT1;

_NOP();

_NOP();

return;

}

voidR_W_Low(void)

{

P5.1管脚输出为低电平

P5OUT&=~(BIT1);

_NOP();

_NOP();

return;

}

等待空闲状态

7.2液晶模块操作程序

此程序主要包括发送命令,显示数据,显示初始化等几个部分。

下面给出具体的程序代码。

等待空闲状态

voidWaitIdle(intnZone)

{

charnTemp;

设置P4口为输入方向

P4DIR=0;

for(;;)

{

if(nZone==0)

{

E1区

E1_High();

E2_Low();

}

else

{

E2区

E2_High();

E1_Low();

}

R_W_High();

A0_Low();

取出D7

nTemp=(P4IN&BIT7);

nTemp>>=7;

空闲就跳出循环

if(nTemp==0)break;

}

return;

}

voidSendCommand(intnZone,charnVal)

{

等待闲

WaitId

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1