一、课设选题

基于MSP430单片机的门禁

二、选题介绍

门禁系统通过6位密码的键入,然后与设定密码比较,若相同,门开启(电动机转动),同时人数计数器加一。若不同,按AC键清零,重新键入密码。

三、课设设备

MSP430F6638实验箱 1

电脑 1

四、前期准备

4.1、硬件设备

DY-FFTB6638 V3.0硬件实验系统

本次实验主要用到的硬件模块有:

a、KeyBoard模块和

b、LED Segment模块

c、TM1638驱动芯片

d、DC motor模块和DRV8833驱动芯片

4.1.1Keyboard模块

简单介绍:矩阵键盘(key board)的读取

矩阵按键的识别利用行列扫描交叉点,如果按下,该交叉点的值由01

键盘扫描程序一般应包括以下内容:

1)判别有无键按下。

2)键盘扫描取得闭合键的行、列值。

3)用查表法得到键值。

4)判断闭合键是否释放,如没释放则继续等待。

5)将闭合键键号保存,同时转去执行该闭合键的功能。

4.1.2LED Segment模块

4.1.3TM1638驱动芯片

简单介绍TM1638是带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU数字接口、数据锁存器、LED高压驱动、键盘扫描等电路。

TM1638管脚功能说明:

符号

管脚名称

说明

DIO

数据输入/输出

在时钟上升沿输入/输出串行数据,从低位开始;

STB

片选

在上升沿或者下降沿初始化串行接口,随后等待接受指令,STB为低后的第一个字节作为指令,当处理指令时,当前其他处理被终止。当STB为高时,CLK被忽略;

CLK

时钟输入

上升沿输入/输出串行数据;

K1~K3

键盘数据输入

输入该教的数据在显示周期结束后被锁存;

SEG1~SEG8

输出(段)

段输出(也用按键扫描),P管开通漏输出;

SEG9~SEG10

输出(段)

段输出,P管开通漏输出;

GRID1~GRID8

输出(位)

位输出,N管开漏输出;

VDD

逻辑电源

5V+10%

GND

逻辑地

接系统地;

4.1.4DC motor模块和DRV8833驱动芯片

电机驱动芯片DRV8833简单介绍

A、双通道H桥电流控制电机驱动器,能够驱动两个直流(DC)电机或一个双极性步进电机、低MOSFET导通电阻、HS+L360mΩ

B、PWM绕组电流调节/限制

C、电源电压范围 2.7V~10.8V

4.2、软件设备

4.2.1、MSP430两种主要集成开发环境 (IDEs):

Code Composer Studio version 5 (CCSv5)

IAR Embedded Workbench (EWB) IDE

其中,CCSv5是TI官方提供的IDE,IAR是第三方软件。这两种软件均支持用汇编语言和C语言开发。并且本次软件也配置CSSv5。

4.2.2、CCSv5 安装

1、CCS的安装过程主要包括接受协议和选择安装目录、安装模式、安装组件、处理器等。

2、安装完成后,第一次打开CCSv5需要设置工作目录

4.3CCSv5工程开发

4.3.1、工作区(workspace)目录

建立一个工作区:目录包含所有元素(工程,工程的链接,可行性源代码) 用于开发:

默认: C:\Users\<user>, C:\Documents and Settings\<user>

为你所有的工程使用单一目录:检查 使用该目录为默认。

可维持多个workspace(工作区),每个工作区又可以维持多个工程,但是只能有一个工程活跃

4.3.2、新建工程

首先打开CCS并确定工作区间,然后选择Project ->New CCS Project创建工程,注意选择工程名、输出类型、工程位置、芯片型号等。

a、输出类型:

可执行( Executable): 构建一个完整的可执行程序;

静态库(Static Library):其他工程所使用的功能集合;

b、选择芯片类型:

选择家族: MSP430

选择系列:MSP430x6xx Family

选择型号: MSP430F6638

cProject Templates and examples

可选工程模板,包括标准C和汇编的工程或空工程等;

4.3.3、新建.h.c文件

a、导入现有的.h.c文件

将现有的源文件添加到工程,选择Project --> Add Files....

Copy(副本)Link(创建一个快捷方式)文件;

b导入现有文件夹

将现有的源文件添加到工程,选择Import-> General ->File System

建议:文件导入最好采用copy的方式,文件夹导入采用link的方式

4.3.4、导入已有工程:

首先打开CCS并确定工作区,选择Project ->Import Existing CCS/CCE Eclipse Project弹出导入工程对话框。

4.3.5、激活工程:

工程浏览视图中显示了所有打开的工程,但是一个工作区不能被多个运行的CCS实例共享,即在同一时刻,只能有一个CCS实例是处于active状态的。

4.3.6、启动调试器

创建一个工程之后的下一步就是是运行程序的调试器,下面有三种调试工具:

TI官方MSP430专业仿真器:FET430UIF

Launchpad板载仿真器外接(推荐);

自制板载仿真器;

Build(编译)基本调试

Debug(调试) 程序复位到main

全速运行 芯片复位

设置断点 退出运行

4.3.7、通过USB连接目标板至PC

五、遇到的问题以及解决方法

问题1、设置密码时,无法得到预期的效果

原因:设置六位密码是,由于数字过大,发生整数转换,造成截断。

尝试解决办法:换成了四位密码,避免了上述警告,但是也无法得到期望的结果。

最终解决方法:设置两个数组。其中一个为passwd_set数组,设定密码,另外一个保存键入的密码,然后通过for循环,比较是否两个数组完全相等,相等则电机转。

问题2、最初只能键入一次且只能键入六位密码。

原因:在循环中运用break语句错误,没有正确的跳出它所在的loop。

解决方法:将AC按钮作为清零键,且同时产生一个标签,该标签作为break语句执行的条件语句。

问题3、电机无法自主停止

原因:若电机执行,它并不会转动一段时间而停止

尝试解决办法:调用延时函数,可是只是暂时的解决了这个问题,一定时间后,电机还是会启动。

最终解决方法:电机启动过后,调用一定的延时,然后执行电机不使能语句。

问题4、键入密码错误,之前密码痕迹并没有抹除

尝试解决办法:将数码管自动写入0值,但是也无法解决这个问题。

最终解决办法:将数码管设置0值(不是写入值),然后清楚所有显示。

问题5、输入密码正确时,按AC电机会继续开启,人数计数器加一

原因:比较之后,寄存器没有清零

最终解决办法:将每个数码管自动写入0,表示清零。

六、程序

见附录

1、直流电机(DC motor)的头文件及源程序

2、电机驱动DRV8833头文件及源程序

3、TM1638驱动芯片、KeyBoard和LED Segment的头文件及源程序

4、主程序

基于MSP430单片机的简单门禁系统相关推荐

  1. 基于STM32单片机的RFID门禁显示系统

    基于STM32单片机的RFID门禁显示系统 本设计由STM32F103C8T6单片机最小系统+RFID-RC522模块+继电器模块+蜂鸣器电路+LCD1602液晶显示电路+按键电路+电源电路组成 1. ...

  2. 一种基于嵌入式的多重识别门禁系统设计方案

    一种基于嵌入式的多重识别门禁系统设计方案 1. 前言 门禁系统已广泛的应用在各行各业,随着社会经济的发展,人们对门禁系统的要求越来越高,设计更加安全.更加方便的门禁系统势在必行.由于不同企业对于门禁系 ...

  3. 基于STM32的多功能门禁系统(AS608指纹识别、密码解锁、刷卡解锁)

    目录 一.项目功能 二.视频 三.原理图 4.材料选择 5.部分程序 资料下载地址:基于STM32的多功能门禁系统 一.项目功能 1.AS608指纹解锁:可以录入.删除.验证指纹: 2.密码解锁:可以 ...

  4. 基于ARM的指纹识别门禁系统设计方案

    现代社会高速发展,很多场合需要身份确认,传统的身份识别技术已经不能满足社会要求.人的身体特征具有不可复制性,因此人们开始研究生物识别技术,而指纹具有唯一性.终生不变性.难于伪造等特点,安全性高,因而得 ...

  5. 基于android的门禁系统代码,基于ESP8266 base on esp8266门禁系统 安卓源码

    基于ESP8266门禁系统安卓源码 视频中的小伙伴是我的搭档,负责硬件电路搭建,为了搭电路没少熬夜,挺感谢他的. 这是本人的毕业设计(专科)历时一个月完成.在做毕业设计之前一直在准备转本考试,考完试, ...

  6. 人脸识别门禁系统:基于Android的人脸识别门禁系统 毕业设计完整代码详细教程

    完整代码:https://download.csdn.net/download/qq_38735017/87382371 一.研究目的 传统的门禁系统以钥匙作为验证手段,便捷程度低,丢失钥匙之后会导致 ...

  7. 基于OpenCV的人脸识别门禁系统

    ======================================================================== 注:以下只是个玩具.比较成熟的2D人脸识别可以参考 & ...

  8. 基于STM32F103单片机智能安全门禁人体感应报警方案设计

    硬件电路的设计 系统总体结构 本系统具体框图如下图所示: STM32单片机核心电路设计 STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位.支持实时仿真和跟踪的微控制器.选择 ...

  9. 51单片机的RFID门禁系统

    一.硬件方案 本RFID系统设计可分为硬件部分和软件部分.硬件部分以MFRC522射频识别模块为核心,结合主控模块STC89C52设计系统的外围硬件电路,实现对射频卡的控制与MCU之间的互通.软件部分 ...

最新文章

  1. 田志刚:智慧的员工,个人知识管理
  2. 【Excel】VBA批量修改文件名
  3. 《Learning.Python》pdf
  4. PHP中用于精确计算的bcmath扩展
  5. c语言标准图形库,C语言图形库函数.docx
  6. 如何使用SAT trace一个正在运行的程序
  7. 前端学习(2312):react之路由基础
  8. 想知道你未来宝宝长什么样吗?
  9. 两个网段怎么设置网关
  10. 10个前端经常遇到的问题解决方案
  11. 树莓派输出PWM波驱动舵机
  12. c语言如何检测磁盘坏扇区,解决方案:如何检测和修复机械硬盘驱动器上的坏扇区?阅读本文后,您将知道...
  13. 像电影里的黑客高手一样敲代码攻击入侵网站!装逼神器 !
  14. 程序员学习时间的由来
  15. 记录--Spyder打开时出现“An error occurred while starting the kernel“
  16. 高考2021北京录取成绩查询,2021北京地区高考成绩排名查询,北京高考各高中成绩喜报榜单...
  17. 编写代码的软件用什么编写的_编写出色的代码
  18. 字符串切片反转字符串_如何反转字符串
  19. 小程序之统计网页访问人数
  20. 拆车、炸机、毁魔方,这个疯狂的算法竞赛少年目的是这样的…

热门文章

  1. C/C++递归算法,计算二叉树中叶子结点的数目
  2. No core dump will be written. Minidumps are not enabled by default on client versions of Windows错误
  3. 18个顶级的腾讯qq技巧
  4. 5.8日, 服务器青龙面板拉ksjsb脚本教程~
  5. Android SpringAnimation 弹簧动画
  6. Elasticsearch 分布式架构原理
  7. 统计素数并求和,C语言
  8. 将多个txt文本文件合并成一个txt文件
  9. 电力行业服务器加固系统,系统加固
  10. Microsoft Visual Studio 2010