文档视界 最新最全的文档下载
当前位置:文档视界 › 基于MSP430单片机的环境参数监测仪的设计制作

基于MSP430单片机的环境参数监测仪的设计制作

基于MSP430单片机的环境参数监测仪的设计制作
基于MSP430单片机的环境参数监测仪的设计制作

毕业设计(论文)

题目:基于MSP430单片机的环境

参数监测仪的设计制作

指导者:

评阅者:

2014 年 4 月

毕业设计(论文)中文摘要

温湿度和光照度等参数是标定环境不可缺少的参数,对其进行准确的测量具有重要意义。本文以室内外居住环境为背景,设计出一种以MSP430F5438A超低功耗单片机为控制核心的环境参数监测仪。

论文对环境参数监测系统硬件和软件模块包括子系统模块进行了详细设计:通过相应的传感器芯片对包括温度、湿度、光强、红外辐射度和可燃气体浓度等环境参数进行检测和采集;通过微处理器MSP430F5438A将传感器芯片采集到的数据进行分析处理,并在液晶终端进行参数的实时显示和监控。

论文分别对温度传感器模块,单总线湿度传感器模块,光照度传感器模块,气敏传感器模块,红外热释电模块以及按键和液晶显示模块进行了单模块分别调试。在此基础上对这些子程序模块进行了整合调试及整机功能和功耗测试,最终完成整个监控系统及仪器的设计制作。

实验显示,本环境参数监测仪具有体积小、携带方便、功耗低、可靠性高、免维护、成本低等优点,在室内外环境参数监测领域,具有很好的应用前景。

关键词:MSP430单片机环境参数监测传感器液晶显示

毕业设计(论文)外文摘要

Title: The Design and Production of Environmental Parameter Monitor Based on MSP430

Abstract:

Parameters such as temperature, humidity and illuminance are indispensable to the calibration environment, which has important significance for accurate measurement. The aim of this thesis is to design an environmental parameter monitor, which controlled by an ultra-low power MSP430F5438A for indoor and outdoor living environment.

The detailed design of hardware and software module including subsystem module in the environmental parameter monitor is proposed in this thesis. The corresponding sensor chip is used to detect and collect the environmental parameter such as temperature, humidity, illuminance, the infrared radiation intensity and combustible gas concentration. The MSP430F5438A analyzes and processed the data which collected by sensor chips, and realized the real-time display and monitoring for parameters on LCD terminal.

The thesis proceeds debugging on single module likes temperature sensor module, single bus humidity sensor module, illuminance sensor module, gas sensor module, pyroelectric infrared module and buttons and LCD module, respectively. On the basis of that, after debugging and test on the function and power for the integrated subroutine modules, the design and production of the whole monitoring system and instrument is completed.

Test results given show that the environmental parameter monitor has several advantages, such as small volume, portable, low power

consumption, high reliability, maintenance-free, low cost and so on. It has a great application prospect in the field of indoor and outdoor environmental parameters monitoring.

Key words: MSP430, Environmental Parameter Monitor, Sensor, LCD Display

目录

1 绪论 (1)

1.1 课题背景 (1)

1.2 论文的主要内容 (2)

2 数据监测系统的总体设计方案 (3)

2.1 系统总体框图设计 (3)

2.2单片机选型 (3)

2.2.1 MSP430单片机概述 (3)

2.2.2 MSP430F5438A介绍 (4)

2.3 传感器的选型 (5)

3 系统硬件设计 (7)

3.1 主控芯片模块 (7)

3.1.1 单片机最小系统模块 (7)

3.1.2系统电源模块 (8)

3.2 子系统模块 (8)

3.2.1光强采集模块 (8)

3.2.2 温度采集模块 (10)

3.2.3 湿度采集模块 (11)

3.2.4 气敏传感器监测模块 (12)

3.2.5 红外采集模块 (13)

3.2.6液晶显示和键盘模块 (15)

3.3 硬件电路板的焊接与制作 (17)

3.3.1 系统硬件电路原理图 (17)

3.3.2 系统硬件电路PCB图 (18)

4 系统软件设计 (20)

4.1 软件开发环境及编程思想简介 (20)

4.2系统主程序设计 (20)

4.3 系统子程序设计 (21)

4.3.1 按键设置程序 (21)

4.3.2 数据监测程序 (22)

4.3.3 主控芯片MSP430F5438A时钟设定程序 (23)

4.3.4 DHT11单总线数据读取程序 (24)

4.3.5 片内ADC程序 (26)

4.3.6模拟I2C通信协议 (27)

5 监测系统调试分析 (32)

5.1人机操作界面测试分析 (32)

5.2 光强模块测试分析 (33)

5.3 温度模块测试分析 (34)

5.4 湿度模块测试分析 (34)

5.5 气敏传感器监测模块测试分析 (35)

5.6 红外监控模块测试分析 (36)

5.7整机装配与调试 (37)

5.7.1整机装配调试 (37)

5.7.2功耗测试 (38)

总结 (38)

致谢 (39)

参考文献 (39)

附录A 系统原理图 (41)

附录B 系统PCB图 (42)

附录C 控制程序源代码 (43)

1 绪论

1.1 课题背景

为了使人类拥有舒适、健康的生活,很多情况下要监测周围的环境参数。如城市的空气质量,温室大棚中的温湿度光照度等参数的控制,沿海城市海水浴场水质,污染物的排放等。通过环境检测,提供代表环境质量现状的数据,判断环境质量是否符合国家制定的环境质量标准,评价当前主要环境问题,环境参数与人们的生活息息相关,对于环境参数的监测十分必要。

对于环境监测的参数中,温湿度和光照度是极其重要的参数。舒适的环境会让人感觉心情舒畅,人体感觉舒服,当室内温度在18 ℃~20 ℃ ,湿度为40%~60%时,人的思维最敏捷,工作效率最高。但当室温超过28℃,湿度大于70%时,就会生闷热、出汗、烦燥、疲劳等反应,容易让人的情绪不稳定甚至无法正常工作。室内光照度测量也很必要,国家标准的自然光照度是150lux~300lux ,人眼在看书感到正好时的光照度是200lux,当光线过强或过暗都会对眼睛有所损伤,而且更容易引起视疲劳,影响学习和工作效率。所以要营造一个舒适适合人们生活与居住的环境就必须对温度、湿度、光照度参数进行监测。

环境监测离不开数据采集,数据采集系统是在测量工程中,无需人工记录测量数据能自动进行采集,信号处理,并记录显示,如今无论是生产还是实验室中的测量都是要求精度高,速度快,这些人工测量无法完成,只能用自动测量系统才能完成的。

环境参数的传统测量方法中,测量设备体积较大,实时性差,精度低,还需花费较大的人力,己不再适应现代经济的快速发展要求。随着单片机技术、传感器技术、通信技术、计算机等技术地快速发展,环境监测技术也日新月异。各种实时性好,精度高,且适应各种苛刻环境的测量系统己被开发出来,在社会各个领域得到了广泛应用。在对环境参数的采集方面由于高集成度低功耗低电压的集成芯片的大量问世,使得仪表的功耗越来越低,功能越来越强大。

1.2 论文的主要内容

本文设计并制作了一款基于MSP430单片机的环境参数采集监测仪。该监测仪具有环境温度、湿度、光照度、可燃气体浓度、红外辐射度等参数监测功能。其主要内容包含课题背景、环境数据采集监测系统的总体设计方案、系统硬件设计、系统软件设计、监测系统调试分析等。

首先,论文介绍了课题背景,阐述了环境监测及监测仪器的发展现状及发展趋势,由此提出了基于MSP430单片机的数据采集监测系统的总体设计方案,并针对需要监测的参数进行了器件选型及方案设计。

其次,论文进行了详细的系统硬件设计,并搭建了相关硬件模块电路,包含以下几个部分:单片机主控模块、数据采集模块、监控报警模块、键盘和液晶显示模块。主控模块采用MSP430F5438A作为控制核心,数据采集监控模块部分采用TPM275数字输出温度传感器检测环境温度,DHT11单总线湿度传感器检测环境湿度,BH1750FVI光照度传感器检测环境光照强度,MQ-2气敏传感器监测相关气体相对强度以及KP-500B红外热释电传感器监测红外辐射相对强度。整机系统通过按键和液晶显示模块实现人机交互及监测结果的显示输出。

再次,论文对系统软件设计进行了主要说明,包括系统主程序以及相应的测温、测湿、测光照度等测量子程序,以及外围键盘与LCD显示接口模块程序等。

最后,进行了系统整机调试分析,在软硬件连接的基础上分别对温度传感器TPM275模块,单总线湿度传感器DHT11模块,光照度传感器BH1750FV 模块,气敏传感器MQ-2模块,红外热释电KP-500B模块以及按键和液晶显示模块进行了单模块分别调试。在此基础上对这些子程序模块进行了整合调试及整机功耗测试,辅以外壳安装,最终完成整个监控系统及仪器的设计制作。

2 数据监测系统的总体设计方案

2.1 系统总体框图设计

基于16位单片机MSP430 5438A 的环境监测系统、光照度传感器等进行数据采集,以及液晶显示模块与用户进行交流,通过软件编程协调各部分工作,实现体积小、低功耗环境监测仪器的设计。系统总体框图如图2-2所示:

图2-2

系统设计总体框图

MSP430单片机还有一个特点就是支持C

语言编程,由于采用

C 语言开发可以大大的提高开发效率,缩短开发周期,并且采用C 语言开发程序具有非常好的可读性和移植性,因此本设计的软件采用高效的MSP430系列的C 语言编写,软件部分采用IAR 公司提供的开发环境:IAR Embedded Workbench 及调试器C-SPY 。利用该软件可直接将程序通过单片机本身带有的JTAG 接口下载到单片机的FLASH 存储器中,再由该软件通过JTAG 接口读取单片机内信息,实时监测单片机上运行的程序,实现在线仿真。

为了方便程序调度和提高可靠性,软件采用结构化、模块化设计方法,每个模块完成一个特定功能,在电路设计调试会对每一模块电路进行程序编写调试,之后完成整个系统程序的整合编写。整个系统主要由初始化程序、主程序、子程序等组成,通过软件编程实现系统的数据处理和显示。

2.2单片机选型

2.2.1 MSP430单片机概述

MSP430单片机是TI 公司推出的一款16位超低功耗的混合信号处理器。该系列单片机自1996年问世以来,以其卓越的性能成为众多单片机系列中一颗耀眼的新星。它有以下特点:(1)具备强大的处理能力,可编制出高效率的源程序。采用精简指令集(RISC )结构,具有丰富的寻址方式、简洁的27 MSP430F5438A 单片机 湿度检测

光强检测

红外检测

温度检测 液晶显示 可燃气体检测 键盘 电源

条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。(2)具备高效的运算速度和灵活的运算方法。MSP430系列单片机能在8MHz晶体的驱动下,实现125ns的指令周期;16位的数据宽度以及多功能的硬件乘法器相配合,能实现数字信号处理的某些算法;中断源较多,并且可以任意嵌套,使用时灵活方便,当系统处于省电的备用状态时,用中断请求将它唤醒只用6us。系统可以稳定可靠的工作。系统稳定上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,使晶体振荡器有足够的起振及稳定时间;然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率;如果晶体振荡器在用做CPU时钟时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。(4)丰富的片内外设为系统的单片解决方案提供了极大的方便。它们分别是看门狗、模拟比较器A、定时器A 、定时器B ,串口0、1 (USART0, 1)、硬件乘法器、液晶驱动器、10位/12位ADC, I2C总线、直接数据存取(DMA)、端口0 (P0)、端口1(P1)、基本定时器(Basic Timer)等一些外围模块的不同组合。(4)具备卓越的超低功耗特性。MSP430单片机在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。首先,其电源电压采用的是1.8V到3.6V电压,在1MHz的时钟条件下运行时,芯片的电流在1到400uA左右,时钟关断模式的最低功耗只有0.1uA;其次是独特的时钟系统设计,在MSP430系列中有两个不同的系统时钟系统:基本时钟系统(有的使用一个晶体振荡器,有的使用两个晶体振荡器)和锁频环时钟系统或DCO数字振荡器时钟系统。这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。

2.2.2 MSP430F5438A介绍

本设计采用的MSP430F5438A单片机

MSP430F5438A主要参数:

1.256K Flash,16K RAM;

2.P1,P2 16个中断IO口;

3.16位CRC 校验;

4.16通道AD采用,200ksps,12路外部采样,同时内置一个温度传感

器,可以采集芯片温度;

5.支持32位硬件乘法器;

6.RTC实时时钟;

7.4个USCI,UCAx支持串口,IrDA/SPI,UCBx支持SPI/IIC;

8.15个捕捉/比较定时器;

9.JTAG/SBW(4线/2线仿真下载);

10.UCS统一时钟管理;

11.系统看门狗Watchdogs;

12.支持多种低功耗模式LPM;

13.支持欠压或低压自动复位;

2.3 传感器的选型

光强传感器选用的是BH1750FVI,这是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据采集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。该传感器支持I2C通信,最小误差变动在±20%,受红外线影响很小。

温度传感器选用的是TMP275,是一个精度为0.5℃,两线制,串行输出温度传感器,采用SO-8的封装,检测温度-20℃至+100℃,能满足正常情况下的温度检测。

湿度传感器选用的是DHT11,可以对TMP275检测到的温度进行修正。

可燃气体传感器使用的是MQ-2,可燃气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡。当传感器所处环境中存在可燃可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。从而检测对应的可燃气体。

红外传感器使用的是BISS0001,这是是一款具有较高性能的传感信号处理集成电路。它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炙灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及

家庭的过道等敏感区域,或用于安全区域的自动灯光、照明和报警系统。优点是,内设延迟时间定时器和封锁时间定时器,结构新颖,稳定可靠,调解范围宽,内置参考电压,工作电压范围2V~6V。

3 系统硬件设计

3.1 主控芯片模块

3.1.1 单片机最小系统模块

本系统采用的主控芯片为MSP430F5438A单片机,有100个引脚,其芯片引脚如图3-1所示:

图3-1 MSP430F5438A芯片引脚电路

系统主时钟晶振如图3-2所示采用的是32768Hz的晶振,XIN接到单片机P7.0口,XOUT接到单片机P7.1口。

图3-2 MSP430F5438A晶振电路

系统复位电路如图3-3所示,单片机复位引脚P9.7上拉510K电阻接VCC,通过电容接地,电容两端并联一个独立按键,用以完成单片机的系统复位。

图3-3 MSP430F5438A复位电路

3.1.2系统电源模块

整个数据采集系统板的主控芯片模块和数据采集子模块(包括相关传感器)均采用3.3V系统电源供电。系统电源电路如图3-4所示,通过电容滤波、去耦后由TPS5430完成由12V到3.3V的转换。

图3-4 MSP430F5438A电源电路

3.2 子系统模块

3.2.1光强采集模块

1、BH1750FVI传感器介绍

光强采集模块选取的是BH1750FVI。是一种16位数字输出型环境光强度传感器集成电路,用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据采集的光线强度数据来调整液晶或者键盘背景灯的亮

度。利用它的高分辨率可以探测较大范围的光强度变化(1lx ~65535lx )。引脚说明如图3-5和表3-1所示:

图3-5 BH1750引脚图

表3-1 BH1750引脚功能表

2、光强采集模块电路设计

在本设计中采用3.3V 供电,ADDR 地址段接地,电源和地线之间通过瓷片电容滤波。数据线SDA 和时钟线SCL 接一个10K 的上拉电阻接VCC ,DVI 内部寄存器的异步重置端口上拉10K 电阻接VCC ,然后通过电容接地整体电路通过SDA 与SCL 线与单片机进行数据通讯。SDA 线接单片机P9.1口,SCL 线接单片机P9.2口。电路如图3-6 所示: 管脚

编号

端口名称 功能

1 VCC 电源端口

2 ADDR I2C 地址控制端,如果ADDR=“H”(ADDR≥0.7Vcc),那么High

Byte=“1011100”。如果ADDR=“L”

(ADDR≤0.3Vcc),那么Low Byte = "1001_0000"。

3

GND 接地端口 4

SDA I 2C 接口SDA 端口 5

DVI SDA,SCL 端口参考电压,DVI 端口为内部寄存器的异步重置端口 6 SCL I 2C 接口SCL 端口

MSP430单片机实验报告v3.0

MSP430单片机课程设计 一.设计要求 数字温度计 (1)用数码管(或LCD)显示温度和提示信息; (2)通过内部温度传感器芯片测量环境温度; (3)有手动测量(按测量键单次测量)和自动测量(实时测量)两种工作模式; (4)通过按键设置工作模式和自动测量的采样时间(1秒~1小时); (5)具备温度报警功能,温度过高或过低报警。 二.系统组成 系统由G2Launch Pad及其拓展板构成,单片机为MSP430G2553。 I2的通信方式对IO进行拓展,芯片为TCA6416A; 使用C 使用HT1621控制LCD; 三.系统流程 拓展的四个按键key1、key2、key3、key4分别对应单次测量、定时测量、定时时间的增、减。定时时间分别为1s,5s,15s,30s,60s。在自动测量模式下,当温度超过设定温度上限

即报警,报警时在LCD屏幕显示ERROR同时LED2闪烁,在5s后显示0℃。此时可重新开始手动或自动测量温度。 系统示意图: 四.演示 a)手动测量温度 b)自动测量温度 c)报警

显示ERROR同时LED闪烁d)设置时间界面 五.代码部分 #include "MSP430G2553.h" #include "TCA6416A.h" #include "LCD_128.h" #include "HT1621.h" #include "DAC8411.h" #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) static int t=0; long temp; long IntDeg; void ADC10_ISR(void); void ADC10_init(void); void LCD_Init(); void LCD_Display(); void GPIO_init(); void I2C_IODect(); void Error_Display(); void WDT_Ontime(void); void LCD_Init_AUTO(); void LCD1S_Display();

单片机课程设计完整版样本

课程设计( 论文) 课程名称单片机 题目名称简易密码锁的设计学院高等技术学院 专业班级高1 1 0 9 学号3869 学生姓名刘欢 指导教师胡立强 11月28 日 目录

一,任务目的 (3) 二,任务要求 (3) 三,电路与元器件 (4) 四,程序设计 (5) 五,程序运行测试 (6) 六,任务小结 (7) 七,心得体会 (8) 八,参考文献 (9) 1.任务目的

经过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作, 让读者理解C语言中数组的基本概念和应用技术, 并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。 2.任务要求 在一些智能门控管理系统, 需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分: 按键、数码显示和电控开锁驱动电路, 三者的对应关系如图表3.16所示。 表3.16 简易密码锁状态 简易密码锁的基本功能如下: 4个按键, 分别代表数字0,1,2,3: 密码在程序中事先设定, 为0-3之间的一个数字; 上电复位后, 密码锁初始状态为关闭, 密码管显示符号”—”; 当按下数字键后, 若与事先设定的密码相同, 则数码管显示字符”P”, 打开锁, 3秒后恢复锁定状态, 等待下一次密码的输入, 否则显示字符”E”持续3秒, 保持锁定状态并等待下次输入。 3.电路与元器件 根据任务要求, 用一位LED数码管作为显示器件, 显示密码锁的状态信息, 数码管采用静态连接方式; 4个按键连接到P0口的低四位

P0.0-P0.3引脚, 设P0.0连接数字”0”按键、P0.1连接数字”1”按键, 依次类推; 锁的开、关电路用P3.0控制的一个发光二极管代替, 发光二极管点亮表示锁打开, 熄灭表示锁定。根据以上分析, 采用如图3.21所示的连接电路。 图3.21 简易密码锁电路 简易密码锁电路所需元器件清单如表3.17所示。 元器件名称参数数量元器件名 称 参数数量 插座DIP40 1 电阻103 1 单片机AT89SC51 1 电解电容22UF 1

南理工 王宏波 MSP430F6638单片机实验报告

MSP430单片机应用技术 实验报告 学号:XXXXXXXX

实验1 一、实验题目:UCS实验 二、实验目的 设置DCO FLL reference =ACLK=LFXT1 = 32768Hz, MCLK = SMCLK = 8MHz,输出ACLK、SMCLK,用示波器观察并拍照。 UCS,MCLK、 SMCLK 8MHz 的 1 2 六、实验结果 实验2 一、实验题目:FLL+应用实验 二、实验目的

检测P1.4 输入,遇上升沿进端口中断,在中断服务程序内翻转P4.1 状态。 三、实验仪器和设备 计算机、开发板、示波器、信号源、电源、Code Comeposer Studio v5 四、实验步骤 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; WDT 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; 3、新建工作空间workspace; 4、新建工程project与源文件main.C; 5、编写程序; 6、编译、调试、下载程序到单片机;

7、观察、分析、保存运行结果。 五、实验程序 实验4 一、实验题目:WDT_A实验 二、实验目的 定时模式 1 2 六、实验结果 实验5一、实验题目:Timer_A实验

二、实验目的 比较模式-Timer_A0,两路PWM 输出,增减计数模式,时钟源SMCLK,输出模式7 TACLK = SMCLK = default DCOCLKDIV。PWM周期CCR0 = 512-1,P1.6 输出PWM占空比CCR1 = 37.5%,P1.7输出PWM占空比CCR1 =12.5%。 要求: (1)用示波器观察两路PWM 输出的波形并拍照,测量周期、正脉宽等参数,与理论值进行对比分析。 (2 (3 1 2 实验6 一、实验题目:ADC12实验 二、实验目的 ADC12 单次采样A0 端口,根据转换结果控制LED 状态。

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

MSP430单片机实验报告

MSP430单片机实验报告 专业: 姓名: 学号:

MSP430单片机实验报告 设计目标:使8位数码管显示“5201314.”,深入了解串行数据接口。 实现过程:主要分为主函数、驱动8位数码管函数、驱动1位数码管函数及延时函数。 延时函数:采用for循环。 驱动1位数码管子函数:设置74HC164的时钟传输和数传输,声明变量,使数据表中每一个要表示的字符的每一位都与shift做与运算从而进行传输,上升沿将传输数据传送出去。驱动1位数码管子函数的流程图如图1所示。 图1 驱动1位数码管子函数流程图 驱动8位数码管子函数:调用8次驱动1位数码管子函数。驱动8位数码管子函数流程图如图2所示。 图2 驱动8位数码管流程图

while 图3 主函数流程图 实验结果:供电后,数码管显示“5201314.”字样。 源程序: /************* 程序名称:5201314.*************/ /***程序功能:通过模拟同步串口控制8个共阳数码管***/ /*******P5.1 数据管脚,P5.3 同步时钟管脚*******/ #include // 头文件 void delay(void); // 声明延迟函数void seg7_1 (unsigned char seg7_data); // 声明驱动1 位数码管函数void seg7_8 ( unsigned char seg7_data7, unsigned char seg7_data6, unsigned char seg7_data5, unsigned char seg7_data4, unsigned char seg7_data3, unsigned char seg7_data2,

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目: 学院: 专业: 班级: 学号: 学生姓名: 指导教师: 年月日 目录

设计题目:PWM直流电机调速系统 本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。 关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机 1 设计要求及主要技术指标: 基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。 设计要求 (1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。 (2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。 (3)设计一个4个按键的键盘。 K1:“启动/停止”。 K2:“正转/反转”。 K3:“加速”。 K4:“减速”。 (4)手动控制。在键盘上设置两个按键----直流电动机加速和直流电动机减速键。在

手动状态下,每按一次键,电动机的转速按照约定的速率改变。 (5)*测量并在LED显示器上显示电动机转速(rpm). (6)实现数字PID调速功能。 主要技术指标 (1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。 (2)使用定时器产生可控PWM波,定时时间建议为250us。 (3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速; (4)参考Protuse仿真效果图:图(1) 图(1) 2 设计过程 本文设计的直流PWM调速系统采用的是调压调速。系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。由定时器来产生宽度可调的矩形波。通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。 本设计以控制驱动电路L298为核心,L298是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。 本设计以AT89C52单片机为核心,如下图(2),AT89C52是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 图(2) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

MSP430单片机AD转换实验

A/D转换实验 一、转换原理 MSP430F149的A/D转换器原理请参考相关书籍。 实验板上与AD相关的硬件电路: 编程工作实际就是对以下寄存器的操作: 寄存器类型寄存器缩写寄存器的含义 转换控制寄存器ADC12CTL0转换控制寄存器0 ADC12CTL1转换控制寄存器1 中断控制寄存器ADC12IFG中断标志寄存器ADC12IE中断使能寄存器ADC12IV中断向量寄存器 存储及其 控制寄存器ADC12MCTL0 ~ ADC12MCTL15存储控制寄存器0~15 ADC12MEM0 ~ ADC12MEM15 存储寄存器0~15

设计主程序和中断服务程序。 二、转换程序 1、程序1:转换结果发送到PC 主程序中进行A/D初始化,中断服务程序读A/D转换结果,主程序中通过串口发送结果。 “”主程序与中断程序: /********************************************************* 程序功能:将ADC对端口电压的转换结果按转换数据和对应的 模拟电压的形式通过串口发送到PC机屏幕上显示 ----------------------------------------------------------- 通信格式: 9600 ----------------------------------------------------------- 测试说明:打开串口调试精灵,正确设置通信格式,观察接收数据 **********************************************************/ #include <> #include "" #include "" #include "" #define Num_of_Results 32 uint results[Num_of_Results]; //保存ADC转换结果的数组 uint average; uchar tcnt = 0; /***********************主函数***********************/ void main( void ) {

430单片机点亮LED实验报告

430单片机点亮LED实验报告 一.安装实验软件IAR 二.编写点亮LED灯程序 1.使P1.0口LED灯会不停的闪烁着,程序 #include typedef unsigned int uint; typedef unsigned char uchar; /*延时函数*/ void Delay_Ms(uint x) { uint i; while(x--)for(i=0;i<250;i++); } /*主函数*/ int main( void ) { WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset P2DIR|=BIT0;//定义P1口为输出 while(1)//死循环 { P2OUT^=BIT0;//P1.0口输出取反

Delay_Ms(600);//稍作延时 } } 下载进去看到了P1.0口LED灯会不停的闪烁着。 2.实验目的让两盏灯交换闪烁程序 #include"msp430g2553.h" void main(void) { void Blink_LED(); WDTCTL=WDTPW+WDTHOLD; //关闭看门狗 P1DIR=BIT6; P2DIR=BIT0; while(1) { Blink_LED(); } } void Blink_LED() { _delay_cycles(1000000); //控制第二个LED P1OUT^=BIT6; _delay_cycles(1000000); //控制第一个LED P2OUT^=BIT0;

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

MSP430单片机GPIO实验教程

GPIO实验教程 2015/7/24 官网地址:http://www.fengke.club

目录 第一节GPIO硬件介绍 (2) 第二节GPIO寄存器介绍 (3) 第三节实验 (5) 第四节实验现象 (7)

第一节GPIO硬件介绍 MSP430F5438A单片机属于5系列单片机,该系列的单片机最多可以提供12路数字IO接口,P1~P11以及PJ。大部分接口都有8个管脚,但是有些接口会少于8 个管脚。可以参考说明文档中关于接口的章节。每个I/O 管脚都可以独立的设置为输入或者输出方向,并且每个I/O 接线都可以被独立的读取或者写入。所有接口的寄存器都可以被独立的置位或者清零,就像设置驱动能力一样。 P1和P2接口具中断功能。从P1和P2接口的各个I/O管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿出发中断。所有的P1接口的I/O管脚的中断都来源于同一个中断向量P1IV,并且P2接口的中断都来源于另外一个中断向量P2IV。在一些MSP430x5xx单片机中,附加的接口也具有中断功能。详细说明请查阅芯片的说明文档。 每个独立的接口可以作为字节长度端口访问或者结合起来作为字长度端口进行访问。端口配对P1/P2、P3/P4、P5/P6、P7/P8 等联合起来分别叫做PA、PB、PC、PD 等。当进行字操作写入PA 口时,所有的16 为都被写入这个端口。利用字节操作写入PA 口的低字节时,高字节保持不变。相似地,使用字节指令写入PA 口高字节时,低字节保持不变。其它端口也是一样的,当写入的数据长度小于端口最大长度时,那些没有用到的位保持不变。所有的端口寄存器都利用这个规则来命名,除了中断向量寄存器P1IV 和P2IV。它们只能进行字节操作,并且PAIV 这个寄存器根本不存在。 利用字操作读取端口PA可以使所有16位数据传递到目的地。利用字节操作读取端口PA(P1或者P2)的高字节或者低字节并且将它们存储到存储器时可以只把高字节或者低字节分别传递到目的地。利用字节操作读取PA口数据并写入通用寄存器时整个字节都被写入寄存器中最不重要的字节。寄存器中其它重要的字节会自动清零。端口PB、PC、PD 和PE 都可以进行相同的操作。当读入的数据长短小于端口最大长度时,那些没有用到的位被视零,PJ 口也是一样的。 数字I/O的主要特征有: 1、可以独立编程的独立I/O口; 2、可以任意的混合输入输出; 3、独立配置P1、P2口的中断; 4、独立的输入和输出数据寄存器; 5、独立配置上拉或下拉电阻。

单片机课程设计电阻测量(完整版)

课程设计报告课程名称:单片机课程设计 设计题目:电阻测量 院系:通信与控制工程系 专业:通信工程 班级: 学生姓名: 学号: 08409212 起止日期: 指导教师: 教研室主任:

摘要 本设计电阻测量是利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D 转换正常进行。A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。本系统以单片机AT89C52为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。具有读数据准确,测量方便的特点。 关键词:单片机(AT89C52);电压;A/D转换;ADC0809

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3方案对比与比较................................... 错误!未定义书签。 2、系统硬件电路的设计 (2) 2.1振荡电路模块 (2) 2.2A/D转换电路模块 (3) 2.2.1主要性能 (3) 2.2.2 ADC0809芯片的组成原理 (4) 2.2.3 ADC0809引脚功能 (4) 2.3主控芯片AT89C52模块 (5) 2.3.1主要功能特性 (6) 2.3.2 主要引脚功能 (6) 2.4显示控制电路的设计及原理 (8) 3、程序设计 (9) 3.1初始化程序 (9) 3.2主程序 (10) 3.3显示子程序 (10) 3.4A/D转换测量子程序 (11) 4、调试及性能分析 (11) 4.1调试与测试 (11) 4.2性能分析 (12) 5、元件清单 (13) 6、总结与思考及致谢............................... 错误!未定义书签。参考文献. (13)

MSP430单片机AD转换实验

AD转换实验 一、转换原理 MSP430F149勺A/D转换器原理请参考相关书籍。实验板上与AD相关的硬件电路: RV3 10K ------------ 3-3\ J6 P61 SI?2 Al)输入电路 RV4 III-10K f > 2 ; ||| 二、转换程序 1、程序1:转换结果发送到PC 主程序中进行A/D初始化,中断服务程序读A/D转换结果,主程序中通过串口发送结果。

“ main 、c ”主程序与中断程序: /********************************************************* 程序功能:将ADC 对P6、0端口电压的转换结果按转换数据与对应的 模拟电压的形式通过 串口发送到 PC 机屏幕上显示 通信格式 :N 、 8、 1, 9600 测试说明 :打开串口调试精灵 ,正确设置通信格式 ,观察接收数据 **********************************************************/ #include #include "allfunc 、 h" #include "UART0_Func 、 c" #include "ADC_Func 、 c" #define Num_of_Results 32 uint results[Num_of_Results]; // 保存 ADC 转换结果的数组 uint average; uchar tcnt = 0; /*********************** void main( void ) { uchar i; uchar buffer[5]; WDTCTL = WDTPW + WDTHOLD; // 关狗 /* 下面六行程序关闭所有的 IO 口 */ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; P6DIR |= BIT2;P6OUT |= BIT2; // P6DIR|=BIT6;P6OUT&=~BIT6; // InitUART(); Init_ADC(); _EINT(); buffer[4] = '\0'; 主函数 ********************* 关闭电平转换 关闭数码管显示

单片机课程设计修改版oc

摘要 随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。本文介绍了一种应用 AT89S52单片机设计的防盗自动报警电子密码锁系统。经实验验证该系统具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可作为产品进行开发,应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,所以电子密码锁凭着比较强的实用性、锁密匙量大,又要制造简单;既安全可靠,又成本低廉;既保密性强,又实用性广,在密码锁的巨大市场上占有一席之地。 本文讲述了基于AT89S52单片机的“电子密码锁”的设计与实现,首先在绪论中介绍了此系统的简介、研究本系统的目的和意义。此后,本文在第二、三、四章论述了系统整体结构框图,系统各模块功能,论述了系统工作原理并对所使用各种芯片的功能与特性进行了介绍、系统硬件设计;在第五章中重点剖析了软件设计开发的过程。而在最后一章简述了本次设计的总结,个人感受。此外,通过对系统软硬件的不断调试,进一步完善功能,同时也加深了对单片机、LCD液晶显示器、电路设计等方面知识。 关键词: 单片机;AT89S52;电子密码锁; LCD显示 1.密码锁 1.1密码锁的介绍

安全问题是现代社会各界普遍关注的焦点之一。在现实生活中,很多场合都用到了电子密码锁,比如说门禁系统,银行账户管理,保险箱等等地方都要用到电子密码锁,而且对其要求也很高。所以高安全性能密码锁的研究就成了一个必需的话题。近几年各种安全产品(如指纹识别、卡辨识、红外防盗等)已相继问世,但这类产品的特点是针对特定指纹或有效卡。只能适用于保密要求高或供个人使用的保险箱保险柜等,虽然这些产品安全性高,但其生产成本高,携带、安装及使用不方便,这在一定程度上限制了这类产品的普及和推广。 随着单片机的迅速发展,其应用领域越来越广,如消费电子、家用电器、办公设备、商业营销设备、工业控制和机电一体化控制系统、智能测量仪表以及汽车与航空航天电子系统中都广泛采用了单片机。51系列单片机由于具有可靠性好,以及扩展控制功能强等优点,成为国内目前应用最广泛的一种8为单片机之一。随着单片机的应用领域越来越广泛,可以看出其的优越性和可靠性,所以将其应用到保密和安全方面是必然的,也是相当可靠,相当有意义的,基于单片机的电子密码锁的研究在保护财产和人身安全方面可以给人们带来更多更好的选择。 本文介绍的是一种由单片机编程控制实现的多功能密码锁,这种电路设计具有密码输入有效提示、错误指示、控制开锁电平、控制报警电路、密码修改等功能。可在意外泄密的情况下及时修改密码,密码可以是1-16位,保密性强、灵活性高、特别适用于家庭、办公室学生宿舍及宾馆等场所,具有社会推广价值。 1.2电子密码锁发展趋势 从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使

单片机课程设计心得体会【可编辑版】

单片机课程设计心得体会 单片机课程设计心得体会 单片机课程设计心得体会,课程设计是大学课堂中常见的课堂模式,该模式更好的培养学生的综合能力,课程模式主要由选题到定稿,从理论到实践组成,以下由管理资料关于单片机课程设计的心得。 单片机课程设计心得体会 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 本次课程设计持续了一个多月的时间,它主要是培养我们通过把所学的理论知识应用于实践,并且这一次课程设计采用的万用板搭建电路,想要焊接出来的电路板看起来整洁美观,我们便需要从全局入手,要有全局统筹局部的思维,这样才能更快捷设计出整齐美观的电路板。 刚开始时,由于自己的专业基础不足,对课题设计有一些恐惧。刚开始只是对照电路图一个个元件进行焊接,没有对整个电路结构进行布局。有经验的同学提醒我,如果继续这样下去,最后有些电路根本无法焊接上去。有了这种意识之后,我立即决定停止焊接,在同学的帮助下开始对整个电路图进行合理的排列,根据不同的电路部分的

不同的特殊要求来安排位置,以达到最佳.最优的效果。在进行焊接的过程中慢慢的对此次课程越来越感兴趣。 然而在用程序对硬件进行调试的时候却出现了一些问题。整体焊接完毕后还是不能实现功能,通过一步一步的测量调试,检查出多处漏焊、虚焊的现象,修改后还是有很多的问题,用万用表不断的测试也找不到问题所在,而且用尽了各种方法检查了很久之后,任然没有有这样一个想法,但是没有做出来心里实在是很不甘心,因此我还是向基础扎实,经验丰富的同学请教,鼓励自己做下去。在他们的帮助下,发现有的电线上的绝缘胶皮由于焊接时,温度过热有部分破损,导致部分短路。一些残留的锡使得有些键盘与键盘之间连接了起来,却又很难被发现。经过多次修改和调整后,终于能基本实现功能。 问题得以圆满的解决,课题设计圆满结束,在此过程学到的细心,坚持不懈,不畏困难将使我受益终身。这其中除了自己的努力,更多的是感谢我们的课题设计老师段正华教授的帮助。由于对电路原理的不熟,对汇编语言的不精通我对课程设计很惧怕,但是段正华教授一方面在理论课上教育我们要对自己有信心,要争做一流的学者,并很详细很专业的为我们讲解了本次课程设计的理论知识,让我对此有了宏观上了解,并能够掌握这些理论知识,为以后的实际操作提供了坚实的基础。另一方面在实际操作时,也给我们很多技术上的指导,让我们能在此过程中,学到更多的操作技能。 所幸的是,我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。后来请教我们班的一个男生,每次

MSP430 按键程序范例(附原理图)

#i nclude void Init_Port(void) { //将P1口所有的管脚在初始化的时候设置为输入方式 P1DIR = 0; //将P1口所有的管脚设置为一般I/O口 P1SEL = 0; // 将P1.4 P1.5 P1.6 P1.7设置为输出方向 P1DIR |= BIT4; P1DIR |= BIT5; P1DIR |= BIT6; P1DIR |= BIT7; //先输出低电平 P1OUT = 0x00; // 将中断寄存器清零 P1IE = 0; P1IES = 0; P1IFG = 0; //打开管脚的中断功能 //对应的管脚由高到低电平跳变使相应的标志置位 P1IE |= BIT0; P1IES |= BIT0; P1IE |= BIT1; P1IES |= BIT1; P1IE |= BIT2; P1IES |= BIT2; P1IE |= BIT3; P1IES |= BIT3; _EINT();//打开中断 return; } void Delay(void) { int i; for(i = 100;i--;i > 0) ;//延时一点时间 } int KeyProcess(void) { int nP10,nP11,nP12,nP13; int nRes = 0;

//P1.4输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 13; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 14; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 15; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 16; //P1.5输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 9; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 10; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 11; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 12; //P1.6输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 5; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 6; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 7; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 8; //P1.7输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 1; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 2; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 3; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 4; P1OUT = 0x00;//恢复以前值。

相关文档
相关文档 最新文档