基于51单片机摇摇棒的设计.docx

上传人:b****1 文档编号:10883860 上传时间:2023-05-28 格式:DOCX 页数:22 大小:266.28KB
下载 相关 举报
基于51单片机摇摇棒的设计.docx_第1页
第1页 / 共22页
基于51单片机摇摇棒的设计.docx_第2页
第2页 / 共22页
基于51单片机摇摇棒的设计.docx_第3页
第3页 / 共22页
基于51单片机摇摇棒的设计.docx_第4页
第4页 / 共22页
基于51单片机摇摇棒的设计.docx_第5页
第5页 / 共22页
基于51单片机摇摇棒的设计.docx_第6页
第6页 / 共22页
基于51单片机摇摇棒的设计.docx_第7页
第7页 / 共22页
基于51单片机摇摇棒的设计.docx_第8页
第8页 / 共22页
基于51单片机摇摇棒的设计.docx_第9页
第9页 / 共22页
基于51单片机摇摇棒的设计.docx_第10页
第10页 / 共22页
基于51单片机摇摇棒的设计.docx_第11页
第11页 / 共22页
基于51单片机摇摇棒的设计.docx_第12页
第12页 / 共22页
基于51单片机摇摇棒的设计.docx_第13页
第13页 / 共22页
基于51单片机摇摇棒的设计.docx_第14页
第14页 / 共22页
基于51单片机摇摇棒的设计.docx_第15页
第15页 / 共22页
基于51单片机摇摇棒的设计.docx_第16页
第16页 / 共22页
基于51单片机摇摇棒的设计.docx_第17页
第17页 / 共22页
基于51单片机摇摇棒的设计.docx_第18页
第18页 / 共22页
基于51单片机摇摇棒的设计.docx_第19页
第19页 / 共22页
基于51单片机摇摇棒的设计.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机摇摇棒的设计.docx

《基于51单片机摇摇棒的设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机摇摇棒的设计.docx(22页珍藏版)》请在冰点文库上搜索。

基于51单片机摇摇棒的设计.docx

基于51单片机摇摇棒的设计

学校代码10126学号之相礼和热创作

本科学年论文

题目基于51单片机摇摇棒的计划

院系

专业称号

年级

门生姓名

引导教师

2014年06月20日

学年论文引导教师评阅意见

学生

姓名

专业

班级

(论文)标题

基于51单片机摇摇棒的计划

引导教师

教师职称

学年

评语

评定成绩:

引导教师署名:

年月日

择要

随着人们物质生存程度的进步,人们对精神生存的追求也愈加猛烈,对信息的渴求已成为了人们必不成少的必要,愈加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受.而当代工具务求简捷化、便携化,因而,摇动表现安装的到来,势必会给人们带来一种新的方便的文明传递方式.“摇动表现安装”,俗称“摇摇棒”,是基于人的视觉暂留原理的,经过分时革新16个发光二极管来表现输入文字或图案等信息的表现安装.输入信号频率的操纵经过单片机来完成,用摇动传感器检测当前摇动形态.当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域发生一个视觉立体,在视觉立体内的二极管经过分歧频率的革新,会在摇动区域内发生图像,从而达到在该视觉立体上传达信息的作用.本文以传感器和单片机的实践运用为布景,引见了以单片机和传感器为核心零碎

摇动传感器和表现计划的基本结构和基来源根基理.

关键字:

单片机,发光二极管,传感器

Abstract

Aspeoplematerialstandardoflivingrise,peoplepursuittoculturallifealsobecomesstrong,thedesireofinformationhavebecomethepeopleoftheessentialneeds,moreforthrightandnoveltheinformationtransfermodewillundoubtedlybringpeopletofindeverythingnewandfreshfeeling.Andmoderntoolstothesimple,portable,therefore,shakingthedisplaydevice,thearrivalofwillgivepeoplebringsakindofnewconvenientculturaltransfermode."Shakedisplaydevice,"called"toshakethegreat",itistobebasedonvisualtemporarilyleavetheprinciple,throughthetimesharerefresh16ledstodisplaytextordesignoutputinformationdisplaydevice.Theoutputsignalfrequencycontrolthroughthesingle-chipmicrocomputertorealize,withshakingsensortestcurrentmovedstate.Whenshaken,asthemen'svisionforaprinciple,willbeinthelightemittingdiodeshakingareaproduceavisualplane,theplanewithinthevisionofdifferentfrequencyrefreshdiodethrough,willproduceanimageinshakingarea,soastoachievethevisionintheplaneofconveyinginformationfunction.BasedonthesensorandMCUapplicationforbackground,introducesthesingle-chipmicrocomputerandsensorasthecoresystemmovedsensoranddisplaydesignthebasicstructureandthebasicprinciple.

Keywords:

microcontroller,leds,sensor

绪论

单片机是随着大规模集成电路的出现极其进展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,构成了芯片级的计算机,因而单片机晚期的含义称为单片微型计算机.它拥有优秀的性价比、集成度高、体积小、可靠性高、操纵功能强、低电压、低功耗的分明优点.次要运用于智能仪器仪表、工业检测操纵、机电一体化等方面,而且获得了分明的成果.单片机运用零碎可以分为:

(1)最小运用零碎是指能维持单片机运转的最简单设置的零碎.这种零碎成本低廉,结构简单,常构成一些简单的操纵零碎,如开关形态的输入/输入操纵等.片内有ROM/EPROM的单片机,其最小运用零碎即为配有晶振,复位电路,电源的单个单片机.片内无ROM/EPROM的单片机,其最小运用零碎除了外部设置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.

(2)最小功耗运用零碎是指为了包管正常运转,零碎的功耗最小.(3)典型运用零碎是指单片机要完成工业测控功能所必须的硬件结构零碎.

本文将运用单片机对摇动表现进行实例化,计划一个LED摇动表现器来表现文字、图像等信息.掌握利用8051型单片机对发光二极管阵列进行摇动操纵的方法.输入信号频率的操纵经过单片机来完成,用摇动传感器检测当前摇动形态,用16个发光二极管进行分歧频率的亮灭革新,经过手动摇动可表现输入文字及图案等信息.当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域发生一个视觉立体,在视觉立体内的二极管经过分歧频率的革新,会在摇动区域内发生图像,从而达到在该视觉立体上传达信息的作用.LED表现棒,又称摇摇棒,是一种利用视觉暂留效应制造的“高科技”玩具.可以用“静如处子,动如脱兔”来描述它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照肯定的频率往摇晃它,它就会随着地位的变更而变更(亮或灭),最终表现一幅图片或字符串.

1.零碎计划方案

本次计划制造的是一个表现棒,基本要求就是要玲珑、笨重,以是要将单片机的零碎板简化计划.经过本次计划,加强门生对MCS-51单片机的深入理解,进步门生的计划才能和动手才能.

计划一个16只高亮度LED发光二极管构成的摇摇棒,经过单片机编程配合手的左右摇晃就可呈现一幅完好的画面,可以表现字符、图片.

本零碎要求计划一个LED表现棒且必要有按键进行内容切换,它次要是由地方操纵部分,LED驱动部分,LED表现部分以及电源部分组成,如图1.1所示.

单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码经过I/O口输入,使LED灯点亮,利用视觉暂留原理最终使图案完好的表现在摆动的表现屏中.

LED灯的选择:

传统LED发光二极管.颜色多样,在可以异样表现图案的前提下运用它更为经济.

外部停止信号发生方式:

经过外部停止可以操纵数据开始传输的时分.选择好外部停止来源是本次制造的难点及重点.运用惯性开关.经过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触发生的电平变更来触发停止,结合软件操纵表现,制造简单,运用方便.

抗重影方案的选择:

运用外部停止操纵数据传输时分.外部停止信号由惯性开关发生,触发方式为下降沿触发.惯性开关左右两边的触点分别与单片机两个外部停止接口相连,默以为高电平,摇动的摆杆接地.惯性开关处于分歧地位进入分歧的停止,从而决定何时送数据.该方案简单易行,可以包管数据是单程传输的,防止了重影.不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果.

2.零碎硬件计划

2.1基来源根基理图为:

基来源根基理与硬件电路计划:

16只LED发光管作为画面每一列的表现,左右摇晃起到了扫描的作用,人眼的视觉暂留征象看到的是一幅完好的画面.与LED点阵的表现有几分相仿.

其硬件电路如上图中所示:

零碎电源VCC为5V,下载程序和调试时肯定要包管5V电压,MCS-51单片机作为操纵器,在它的P1,P2口接有16只以共阳的方式连接的高亮度LED,由单片机输入低电平点亮.P1口,P2口的上拉电阻不克不及少.串在LED公共端的二极管D1会发生肯定的压降,用来呵护LED,经实验测试LED点亮时两端电压为3V左右,在LED的安全承受范围之内.

2.2各部分功能

按键模块

运用一个按键对表现的全部内容进行切换,经过按钮按下的次数确定表现的内容.

S1:

水银开关 功能为棒在摇动时,只能在野某一方向摇动时表现,否则会出现镜像字或镜像画面,以是经过接一支水银开关来操纵,使摇摇棒从左向右摇动时将内容表现出来.

S2:

画面切换开关 功能为用于切换表现分歧内容.

S3:

手动复位开关 功能为可以操纵零碎的启停

LED表现模块

首先,我们根据LED点阵屏的表现原理:

点阵屏的表现分为行扫描与列扫描两种,列扫描是将我们的字模数组经过点阵屏的行驱动进行输入,然后经过列对每一行进行扫描,当列为低(高)电平、举动高(低)电平常则暗示该点为图案的一部分,将其读出、表现.它的顺序可以总结为:

行不竭的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取……顺次循环下往,一幅完好的图案就表现在了表现屏上.

而本次计划的LED表现棒数据传输原理与LED点阵屏类似.可以把LED表现棒看成是LED点阵屏中的一列.为了使表现的图案明晰,我们运用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行×1列.数据传输时我们异样运用行送数据、列扫描.在摆动过程中,运用视觉暂留原理,我们点亮的列不会很快的消散,而是随着摆动的方向继续向前挪动,只需挪动的速率高于视觉暂留的最短工夫表现内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了.

单片机操纵(STC89C051)本安装采取了STC12C2051单片机,它支持直接经过串口线下载程序,对于本计划而言,表现文字需经常改变,STC12C2051方便许多,因而选择STC12C2051作为本计划所用的单片机.

表现功能.(D1~D16)

信息传递次要由表现来完成,本计划表现功能由16个发光二极管来完成.16个发光二极管分为4组,以共阳的方式连接,共用P1口和P2口作为输入口.

2.4传感器零碎

硬件传感器次要为摇动传感器,本计划的摇动传感器由滚珠开关构成.可选摇动开关有水银摇动开关和滚珠开关两种.水银摇动开关波动性较高,但容易发生决裂,水银外泄,安全性较差.滚珠开关波动性稍差,但不容易损坏,安全度很高.考虑到实践运用环境,故选用滚珠开关作为零碎的摇动传感器.由滚珠开关带来的不波动性可以经过软件进行补偿.

经过分析论证,我们决定了零碎各模块的最终方案,流程图如下:

整套零碎以STC12C2051单片机为核心操纵零碎,运用16只LED灯作为表现屏,其中16只直接与单片机I/O口相连.当惯性开关触发停止T1时,单片机向16只LED传送数据,根据人体的视觉暂留原理,随着表现棒的摆动行进,输入数据的列也不会立刻消散而是随着摆动逐步表现在了构成的扇形区域.

零碎的元器件明细表2.1:

1

单片机STC12C2051

1片

2

发光二极管

16只

3

12M晶振

1个

4

电阻、电容

多少

5

USB接口

1个

6

按钮及开关

多少

3.零碎软件计划

3.1软件计划思绪

在摇动LED棒的时分单片机必须单程传送数据否则表现的图形会发生重影,影响视觉效果.因而当零碎开始工作后经过惯性开关的地位来使单片机完成单程传送数据给LED.假如惯性开关位于左边,则进入外部停止1并将一变量置1,.在变量为1时期让单片机以肯定的频率将数据传送给LED.假如惯性开关位于左边,则进入外部停止0并将变量置0,.在这时期单片机不会传送数据给LED.在送数据时,数据送完后应延时一段工夫来使摇动时表现的每个字不会太拥堵.之后再立刻熄灭LED并开始重新判别惯性开关的地位.

3.2主程序流程图

经过软件计划思绪分析,得到该零碎的主程序流程图3.1如下:

零碎开始运转,外部进行初始化后,等待外部停止.当摇动到指定地位时,由滚珠开关出触发外部停止,再经过一段工夫延时后开始表现.表现完成前往主程序,等待下一个摇动周期的到来.

经过文字取模后,零碎的源程序编制如下:

#include

#defineucharunsignedchar

#defineuintunsignedint//宏定义

#defineKEYP3_0//定义画面切换按键

ucharKY;//KY作用在后面阐明

uchardisp;//表现汉字指针

ucharpic=0,num=0;//pic为按键次数;num为停止次数

ucharcodelove[]={

/*--文字:

李--*/

/*--楷体_GB231212;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x80,0x48,0x28,0x98,0x88,0x7F,0x4C,0xD4,0x24,0x24,0x40,0x40,0x40,0x00,

0x00,0x04,0x04,0x04,0x04,0x04,0x24,0x46,0x3B,0x02,0x02,0x02,0x02,0x02,0x00,0

/*--文字:

好--*/

/*--楷体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x80,0x80,0x80,0x7E,0x40,0xE0,0x40,0x88,0x88,0xA4,0xD4,0x4C,0x44,0x40,0x40,0x00,

0x00,0x10,0x08,0x05,0x02,0x05,0x08,0x00,0x00,0x10,0x3F,0x00,0x00,0x00,0x00,0x00,x00,}

ucharcodeloveyou[]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,

0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,

0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形图案*/

};

ucharcodehehe[]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,

0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,

0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,

0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,

0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,

0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*呵呵o(∩_∩)o图案*/

};

unsignedcharcodehanzi[]={

//--欢--

0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,

0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,

0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,

0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,

//--迎--

0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,

0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41,

0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,

0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,

//--使--

0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,

0x04,0x80,0xF4,0x43,0x14,0x45,0x14,0x29,

0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21,

0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,

//--用--

0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02,

0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F,

0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,

0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,

//--神--

0x08,0x01,0x88,0x00,0x49,0x00,0xEE,0xFF,

0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F,

0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08,

0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00,

//--奇--

0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E,

0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12,

0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F,

0x44,0x00,0x60,0x00,0x40,0x00,0x00,0x00,

//--魔--

0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80,

0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A,

0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA,

0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00,

//--幻--

0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24,

0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60,

0x04,0x00,0x04,0x20,0x04,0x40,0x04,0x80,

0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00,

//--摇--

0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F,

0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44,

0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44,

0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,

//--摇--

0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F,

0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44,

0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44,

0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,

//--棒--

0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF,

0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15,

0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15,

0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00,

//--!

--

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B,

0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

};

/*****函数声明*****/

voiddisplay1(void);

voiddisplay2(void);

voiddisplay3(void);

voiddisplay4(void);

/*****n(us)延时子程序*****/

voidDelayUs(uintN)

{

uintx;

for(x=0;x<=N;x++);

}

/*****停止服

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2