摇摇棒课程设计(基于AT89C51单片机)
- 格式:doc
- 大小:224.50 KB
- 文档页数:14
本科毕业设计(论文)题目基于单片机的摇摇棒设计河南科技大学毕业设计(论文)任务书题目基于单片机的摇摇棒设计主要内容、基本要求、主要参考资料等:主要内容:1.根据设计要求确定系统的总体框图。
2.了解掌握单片机的基本结构和应用特点。
3.熟悉水银开关和集成电路的要求。
4.根据系统的要求绘制系统硬件电路图,进行部分软件功能的设计。
基本要求:1.设计摇摇棒的总体方案与硬件设计。
2.绘出总体程序流程图和模块化设计,并作相关程序编译。
3.对设计进行调试,模拟电路的工作过程。
主要资料:现代化单片机技术与系统、单片机汇编语言常用模块与综合系统设计、单片机原理及其应用。
完成期限:指导教师签名:评审小组负责人签名:2011年 10 月 30 日河南科技大学毕业设计(论文)开题报告表基于单片机的摇摇棒设计摘要随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,摇摇棒也随之成为一个热点产品。
“摇摇棒”是基于人眼视觉暂留原理而产生的, 当进行摇动时,由于人的视觉暂留会在发光二极管摇动区域产生一个视觉平面,从而达到在该视觉平面上传达信息的作用。
本文介绍了以52单片机控制为主控芯片、配合高亮度LED二极管以及水银开关构成简易摇摇棒的设计过程,通过分时刷新16个发光二极管来显示输出文字或图案等信息。
关键词:单片机,LED,水银开关Based on single-chip shaking his stick designABSTRACTAs we all know, the human eye visual persistence phenomenon, because the eye is unresponsive, it enriched the human visual perception.With the continuous development of science and technology, social progress, offer people entertainment tool more and more, shaking his stick also becomes a hot product. " Swing" is based on the human visual persistence principle which, when moved, due to the persistence of vision in the light emitting diode shake the region produces a visual plane, in order to achieve the vision plane to convey information about the role of. This paper introduces the 52 single chip microcomputer as main control chip, with high brightness LED diode and a mercury switch . A simple rocking rod design process, through time-sharing refresh 16 light-emitting diodes to display the output of text or graphics information.KEY WORDS:haking his stick, SCM, LED, the mercury switch目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1概述 (1)1.2设计目的 (1)1.3设计要求 (1)1.4设计思路 (1)1.5摇摇棒的基本原理 (2)第2章基于单片机的摇摇棒方案设计 (3)2.1硬件设计与实现 (3)2.2LED灯的选择 (3)2.2外部中断信号产生方式 (3)2.3抗重影方案的选择 (4)2.4单元电路设计 (5)2.5主程序流程图 (5)2.6AT89S52单片机简介 (6)第3章关于一些元器件的介绍 (10)3.1LED发光二极管的原理 (10)3.2LED显示控制模块原理及实现方法 (10)3.3LED显示模块 (11)3.4图像点阵原理及实现方法 (11)第4章缺陷及其解决方案 (13)4.1缺陷 (13)4.2解决方案 (13)4.3硬件电路调试 (13)4.4软件程序调试 (14)4.5调试现象与分析 (14)结论 (15)参考文献 (16)致谢 (17)附录1 (18)附录2 (19)附录3 (21)附录4 (22)附录5 (25)第1章绪论1.1概述随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。
河南机电高等专科学校专业技能实训报告设计题目:基于单片机的摇摇棒设计系部:电子通信工程系班级:。
姓名:。
学号:。
2012年11月30日专业技能实训任务书摘要本设计以AT89S52单片机为中央控制器,摇摇棒摇动时显现的字符或图形由LED灯显示。
LED灯成线状排列,将需要显示的字符或图形分成64列,每个瞬间线阵只能显示字编码后的文字或图形的一列,利用人眼的视觉暂留原理,可以完整地呈现出整个图形或字符。
一般人手左右摆动的频率为儿赫兹到十几赫兹,因此,通过单片机控制LED线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图;左右摆动一次即摆动的方向改变一次,通过水银开关产生中断,调用相应的显示中断子程序。
字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。
整套摇摇棒系统由中央控制模块、LED显示模块、供电模块等部分构成。
关键词:摇摇棒,LED,PCB目录设计任务书 (1)摘要 (2)绪论 (4)第1章总体方案设计 (6)1.1整体方案设计 (6)1.2主要元器件的原理 (6)第2章系统的设计和制作 (10)2.1 硬件设计 (10)2.2软件设计 (11)结论 (14)致谢 (15)参考文献 (15)附录A电路原理图........................................................ . (16)附录B PCB图........................................................ .. (17)附录C源程序........................................................ (18).绪论随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,在娱乐方面也多元化,其中电子产品占了其中相当大的一部分。
一件好的电子产品总能给人们带来耳日一新的感受。
摇摇棒课程设计一、课程目标知识目标:1. 学生能理解摇摇棒的物理原理,掌握其与简单机械的关系。
2. 学生能够描述摇摇棒在生活中的应用,并列举至少三种实例。
3. 学生能够解释摇摇棒的颜色变化原理,并关联到光的传播知识。
技能目标:1. 学生通过小组合作,能设计并制作一个具有创意的摇摇棒。
2. 学生能够运用所学的简单机械原理,优化摇摇棒的设计,增强其使用效果。
3. 学生能够准确运用科学术语,汇报自己的设计思路和制作过程。
情感态度价值观目标:1. 学生培养对物理现象的好奇心,激发学习简单机械和光学知识的兴趣。
2. 通过小组合作,学生学会相互尊重、倾听他人意见,发展团队合作精神。
3. 学生通过探索摇摇棒的科学原理,培养科学探究的积极态度,增强解决问题的自信心。
分析课程性质、学生特点和教学要求:本课程为四年级的科学实践活动,结合物理学科知识,注重实践操作与思考。
四年级学生具有强烈的好奇心,动手能力强,但需要引导他们将理论知识与实践相结合。
教学要求注重培养学生的探究能力、动手操作能力和团队合作能力,通过摇摇棒的制作,使学生将抽象的物理知识具体化、形象化,达到学以致用的目的。
课程目标的设定旨在使学生通过具体的学习成果,体验科学学习的乐趣和成就感。
二、教学内容根据课程目标,本节教学内容主要包括以下部分:1. 简单机械原理:讲解摇摇棒与杠杆原理的关系,介绍摇摇棒如何通过简单机械原理实现摇动效果。
- 教材章节:第四章《简单机械》第二节《杠杆》- 内容列举:杠杆的定义、分类、原理和应用实例。
2. 光的传播与颜色变化:探讨摇摇棒颜色变化与光的传播原理的关系。
- 教材章节:第三章《光与颜色》第一节《光的传播》- 内容列举:光的直线传播、光的反射、物体颜色的形成。
3. 摇摇棒制作实践:引导学生动手制作摇摇棒,运用所学知识优化设计。
- 教材章节:第五章《科学制作》第三节《创意制作》- 内容列举:制作工具的使用、材料的选择、设计思路和制作步骤。
摇摇棒项目报告制作人:江湖哥目录设计主要内容和完成功能: (2)系统设计 (4)设计思路 (4)芯片介绍 (5)硬件电路: (8)摇摇棒制作完毕后的效果图 (10)总结 (10)内容要求:项目任务摇棒是如今流行的一种玩具,在各种聚会、节日中均见得到它的身影。
本设计也追随着摇摇棒的原理,利用人眼的视觉暂留特性,通过AT89S52单片机对16只高亮度LED发光二极管进行控制,配合手的左右摇晃就可呈现一幅完整的画面。
设计主要内容和完成功能:LED摇摇棒很好地利用了人眼的视觉暂留特性。
基于51单片机控制、16只高亮度LED发光二极管构成的摇摇棒,配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。
16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。
与LED 点阵的显示有几分相仿。
本设计以AT89S52单片机为中央控制器,显示棒摇动时显现的字符或图形由LED 灯显示,LED 灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成64 列(,一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED 线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。
整套系统由中央控制模块、LED显示模块、供电模块等部分构成系统设计本系统包括单片机控制模块,开关及电源模块和输出显示模块三个部分。
单片机控制模块由Keil C进行编写,实现起来简单,开关及电源模块采用3V干电池配合晃动开关使用。
输出显示模块采用16个LED灯,在版上一字排开。
设计思路芯片介绍AT89S52主要性能与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz~33MHz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
基于单片机的LED摇摇棒设计原理/邮件群发概述:0 引言随着现代科技的发展,高科技产品以其简洁化、便携等,给人们带来了很大的方便。
而“摇摇棒”以其更加简捷与新颖的信息传递方式给人们带来耳目一新的感受,也必将会给人们带来一种新的方便的文化传递方式,常用在晚会及大型的娱乐节目场合。
本文通过研究和设计一个利用事先编好程序来控制16 个LED 发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置(简称为“摇摇棒”),来传递有趣的信息。
此装置利用AT89C51 单片机对发光二极管阵列进行控制。
用滚珠开关检测当前摇动状态,单片机控制16 个发光二极管进行不同频率的亮灭刷新,则只要摇动就可以可显示输出文字及图案等信息,从而达到在该视觉平面上传达信息的作用。
1 硬件系统的组成本设计的简单有趣的LED 摇摇棒,它是基于单片机控制的电子装置。
具有按键进行画面切换和消除重影等功能,能使画面清晰显示出来。
它主要由单片机控制部分,LED 驱动部分,LED 显示部分组成,其硬件组成框图如图1 所示。
1.1 按键模块本设计中通过一个画面切换开关对显示的内容进行切换。
在设计中通过滚珠开关来控制摇摇棒只能向一边摇动时显示信息,否则会出现镜像字或镜像画面,也就是重影的现象。
可选的摇动控制开关有水银开关和滚珠开关两种。
水银开关稳定性较高,但安全性较差。
滚珠开关虽然稳定性稍差,但不容易被打破,安全度很高。
考虑到实际应用环境,故选用滚珠开关作为系统的摇动控制,由滚珠开关带来的不稳定性可以通过软件进行弥补。
手动复位开关的功能是控制系统的启停。
1.2 控制部分单片机最小系统作为整个系统的控制核心,它主要负责控制二极管的亮灭及显示状态。
通过单片机的软件编程及外部中断,来控制摇摇棒的显示效果。
(详细内容请阅读PDF文档)硬件连接图.jpg [ 58.9 KB ] [ 原理图 ] [ 下载次数:25 ] 主程序流程图.jpg [ 26.6KB ] [ 框图 ] [ 下载次数:23 ] 基于单片机的LED摇摇棒设计原理.pdf [ 391.2 KB ] [ 使用说明 ] [ 下载次数:39 ]如无法正常下载,请点击这里报告问题,我们将在下一工作日内为您解决。
基于单片机的LED显示摇摇棒的设计1 引言1.1系统设计要求设计并制作一个依靠摇动能显示字符、图形的LED显示棒。
系统设计的基本要求:设计一个基于LED的显示棒,其中LED灯必须呈线状排列,并至少使用16只,系统采用电池供电,摇动显示棒时形成的亮灯扇形区域能让人分辨出字符“A”、文字“电”以及国际奥委会五环图形,并用按键实现显示的切换。
系统设计的发挥部分:摇动显示棒时形成的亮灯扇形区域能够让人分辨出英文单词“Welcome”、汉字词组“美亚”和北京奥运会会徽图形,并适当增加设计特色与创新。
1.2 系统设计思路及特点该LED显示棒摇动时显现的字符或图形由LED灯显示,LED灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成N列(N≥16),一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。
2 系统理论设计2.1 系统总体方案比较及说明方案一:选用单片机AT89C51作为扫描显示控制核心,由其直接控制LED 线阵的显示,并外加扫描控制开关控制字符或图形的扫描显示,原理框图如图-1所示。
图-1 方案一原理框图该方案线路简单,扫描控制开关可选择机械开关或编码开关或水银开关,在基于单片机的LED显示摇摇棒的设计显示棒摇摆时接通线路控制单片机扫描输出字符或图形的列编码信号;单片机外另接有中断控制按钮用以切换不同字符或图形的显示,LED线阵采用普通三极管驱动,电路采用4节充电电池供电。
此方案的优点是:单片机C51的端口较多,可实现显示数据并行传输,速度较快,且外围电路简单,调试较方便。
缺点是:为了增大显示清晰度,除去可能由背景LED灯占用的端口外,单片机剩余端口无法使线阵中LED灯数量扩展至24只以上;单片机使用的晶振频率较大,软件不易实现对计数的控制。
基于单片机的摇摇棒设计摇摇棒是一种可以发出声音和光线的玩具,通过挥动摇摇棒,可以产生不同的声音和光线效果。
本文将介绍一个基于单片机的摇摇棒设计。
设计的摇摇棒主要由以下几个部分组成:单片机、声音发生器、光敏电阻、LED灯和蜂鸣器。
首先,我们选择了一块适用于这个项目的单片机。
在本设计中,我们选择了AT89S52单片机,因为它拥有较高的性能和丰富的接口。
其次,我们需要一个声音发生器来产生不同的声音效果。
我们选择了一个简单的脉冲宽度调制(PWM)声音发生器模块,通过改变PWM的占空比来改变声音的高低音。
然后,为了在摇动棒时产生声音和光线效果,我们使用了一个光敏电阻。
当摇动棒快速晃动时,光敏电阻会感知到光线变化,并通过单片机的模拟输入引脚将信号传递给单片机。
单片机根据接收到的信号来改变声音和光线的效果。
此外,我们还添加了一颗LED灯和一个蜂鸣器来增加摇动棒的趣味性。
当摇动棒晃动时,LED灯会闪烁并发出不同的颜色,蜂鸣器也会发出声音。
我们通过单片机的输出引脚将信号发送给LED灯和蜂鸣器,以控制它们的工作状态。
最后,我们使用编程语言来编写单片机的程序。
程序的功能是根据摇动棒的晃动情况来产生不同的声音和光线效果。
例如,在摇动棒缓慢晃动时,声音发生器会产生低音并使LED灯缓慢闪烁。
而在摇动棒快速晃动时,声音发生器会产生高音并使LED灯快速闪烁。
通过以上的设计,我们可以制作一个基于单片机的摇摇棒。
用户可以通过摇动棒来产生不同的声音和光线效果,增加了玩具的趣味性和可玩性。
综上所述,本文介绍了一个基于单片机的摇摇棒设计。
通过选择合适的单片机和相关组件,并编写相应的程序,我们可以制作出一个具有声音和光线效果的摇摇棒。
这个设计不仅可以增加玩具的趣味性,还可以培养孩子们对电子技术的兴趣和学习能力。
基于单片机的摇摇棒模型毕业设计目录摘要------------------------------------------------------------------------------------------ 1 Abstract ------------------------------------------------------------------------------------ 2绪论------------------------------------------------------------------------------------------ 3 1总体设计方案 --------------------------------------------------------------------------- 51.1摇摇棒原理及介绍---------------------------------------------------------------- 61.2硬件设计-------------------------------------------------------------------------- 61.3软件设计-------------------------------------------------------------------------- 7 2硬件电路实现 --------------------------------------------------------------------------- 72.1STC89c52单片机介绍及基本电路---------------------------------------------- 72.1.1STC89C52芯片----------------------------------------------------------- 72.1.2复位电路 ------------------------------------------------------------------102.1.3时钟电路 ------------------------------------------------------------------112.2LED基本介绍及原理 -----------------------------------------------------------122.2.1LED内部结构及原理-----------------------------------------------------122.2.2LED硬件电路 ------------------------------------------------------------132.3开关电路-------------------------------------------------------------------------142.4ISP下载电路 --------------------------------------------------------------------15 3软件设计及实现------------------------------------------------------------------------163.1开发环境-------------------------------------------------------------------------163.2汉字图形取模软件---------------------------------------------------------------173.3N-S流程图 ----------------------------------------------------------------------183.4LED控制软件实现--------------------------------------------------------------193.5字模数据处理--------------------------------------------------------------------20 4测试及结果-----------------------------------------------------------------------------21结束语 --------------------------------------------------------------------------------------23致谢-----------------------------------------------------------------------------------------24参考文献------------------------------------------------------------------------------------25附录1 程序源代码-------------------------------------------------------------------------26附录2 电路原理图-------------------------------------------------------------------------35附录3 摇摇棒实物图 ----------------------------------------------------------------------36摘要本文详细介绍了一种基于8051单片机的16LED摇摇棒。
任务书Ⅰ设计题目中文:趣味摇摇棒的设计英文:Design of Interesting Magic Waving StickⅡ设计功能要求1、静态的时候发光二极管能够正常闪烁;2、摇动的时候可以正确显示文字或图形;3、显示“安徽工程大学”字样;4、显示“电子信息工程!”字样;5、显示“中国行!”字样;6、显示微笑图样;7、显示动画心跳图样;8、自动转换图形,轮流显示并循环;9、其他创新思想,如位置检测装置的巧妙设计等。
Ⅲ设计任务内容1、学习与研究相关的《单片机原理及应用》理论知识,查阅资料,拿出可行的设计方案;2、根据设计方案进行电路设计,完成电路参数计算、元器件选型、绘制电路原理图;3、进行电路软件仿真(如:Protues7.5),或制作实物进行调试实验,获得实验数据,验证设计有效性。
4、撰写课程设计报告。
签名趣味摇摇棒的设计摘要为了提高运用8051单片机基本知识进行理论设计、实践创新的能力,培养独立工作、团队合作的意识,学会阅读相关科技文献,查找器件手册与相关参数,整理总结设计报告,并学习计算机辅助设计EDA软件Proteus7.5和单片机程序设计软件Keil的使用,通过设计一个摇摇棒,学会合理的利用电子器件完成基于单片机电路的课程设计与制作。
本次设计的趣味摇摇棒是如今流行的一种玩具,在各种聚会、节日中均见得到它的身影。
本设计也追随着摇摇棒的原理,即利用人眼视觉暂留,使闪烁的LED在扰动的过程中实现快速扫描,并在此基础上进行开发。
通过单片机对其进行控制,进而产生不同的图像。
电路设计完成后,将各单元电路整合后送入Proteus7.5中仿真,得出结果和理论分析完全吻合,最终验证设计方案有效。
关键词:摇摇棒;8051单片机;数字显示;Proteus仿真,Keil软件目录引言 (1)第1章总体方案设计 (2)1.1整体方案设计 (2)1.2 主要元件原理及参数计算 (2)1.2.1 单片机最小系统 (2)1.2.2 复位电路 (3)1.2.3 惯性开关模块 (3)1.2.4 LED显示模块 (4)第2章系统设计与仿真 (5)2.1 硬件设计 (5)2.2 软件设计 (6)2.3 系统仿真 (7)结论 (9)致谢 (10)参考文献 (11)附录A 电路总图 (12)附录B 程序源代码 (13)附录C 实物图 (21)引言摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
毕业设计基于单片机的神奇摇摇棒毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
目录摘要 (1)一、引言 (2)二、系统设计方案 (2)1.设计思路 (2)2.模块方案的论证与比较 (2)三、系统硬件设计 (3)1.总体设计 (3)2.单元电路设计 (4)四、系统软件设计 (5)1.软件设计思路 (5)2.系统流程图 (6)3.软件实现功能的完善 (6)五、结论 (7)参考文献 (8)附录 (8)附录一元器件明细表 (8)附录二系统程序 (9)附录三电路图 (12)魔幻摇摇棒摘要:“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。
当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。
关键字:单片机;摇摇棒;发光二极管;摇动一、引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。
本设计要求制作完成一个LED的显示棒。
要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“电”、“A”、五环之类的汉字或图案且可以使用按键对显示内容进行切换。
二、系统设计方案1.设计思路本系统要求设计一个LED显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示:图1:LED显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。
以下将对各模块的方案进行论证与比较:2.模块方案的论证与比较2.1 LED灯的选择方案一:传统LED发光二极管。
颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。
方案二:高亮LED发光二极管。
正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。
为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用蓝色的LED使得显示画面更为明显、突出,使用3节1.5V电池为其供电,提供足够的电流。
2.2 外部中断信号产生方式通过外部中断可以控制数据开始传输的时刻。
选择好外部中断来源是本次制作的难点及重点。
方案一:使用惯性开关。
通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。
方案二:使用光遮断器。
在棒上装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摆动一次这个杆就会通过一次光遮断器,发生电平变化。
同样通过这种电平变化,结合软件控制显示。
本次设计中产生的中断是为了实现数据的单程传输。
如果使用光遮断器,其触发单片机的时刻处于正中间,不能解决画面因为返回与原来图片重叠的现象。
而使用惯性开关,因为在左右都有触点,所以很容易的在往返途中产生两次中断,方便指令控制,所以选择使用方案一。
2.3 抗重影方案的选择方案一:使用外部中断控制数据传输时刻。
外部中断信号由惯性开关产生,触发方式为下降沿触发。
惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。
惯性开关处于不同位置进入不同的中断,从而决定何时送数据。
该方案简单易行,可以保证数据是单程传输的,避免了重影。
不摇动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。
方案二:使用定时器与外部中断。
当我们在摆动手臂的时候,短时间内摆动位置和左右幅度不会有太大变化,利用我们手臂的这个运动规律,只要能得到棒从一侧摆动到另一侧的时间,然后把这个时间分成N份,在每一份的时间里显示不同的花样就能实现图形的显示。
设计中摇动的摆子与左右两个触点接触各一次的时间可以通过外部中断和定时器计算出来,然后用单片机的另一个定时器T1,其定时时间是T0 的N 分之一,每次中断依次显示一列,就可以得到预期显示的图案了。
该方法可以控制摇动频率低的时候不显示图形。
但程序的稳定性不高,图形之间的间隔不易确定,只要电源开关开着LED始终是点亮的。
本次设计要求显示的字符长度较短,使用方案一中的外部中断方法只要控制好延时就可以达到完整显示图案的目的,而且方案一中只使用了外部中断,它所占用的内存比方案二中既使用外部中断又使用两个定时器所占用的单片机资源要少,所以选择使用方案一。
三、系统硬件设计1.总体设计经过分析论证,我们决定了系统各模块的最终方案,流程图如下:图2:LED显示棒系统原理框图整套系统以AT89S52单片机为核心控制系统,使用32只LED灯作为显示屏,其中前24只直接与单片机I/O口相连,后8只由一个74HC595控制。
当惯性开关触发中断T1时,单片机向32只LED传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会立刻消失而是随着摆动逐渐显示在了形成的扇形区域。
(整体电路图见附录图1)2.单元电路设计2.1 按键模块使用一个按键对显示的所有内容进行切换,通过按钮按下的次数确定显示的内容。
2.2 LED显示模块首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。
它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取……依次循环下去,一幅完整的图案就显示在了显示屏上。
而本次设计的LED显示棒数据传输原理与LED点阵屏相似。
可以把LED 显示棒看成是LED点阵屏中的一列。
为了使显示的图案清晰,我们使用了32个LED管将它们排成一列,整个屏在静止时也就相当于32行×1列。
数据传输时我们同样使用行送数据、列扫描。
在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。
2.3 单片机最小系统的设计由于本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。
它的最小系统包括晶体振荡电路、复位开关和电源部分。
图3为AT89S52单片机的最小系统。
图3 AT89S52单片机最小系统四、系统软件设计1.软件设计思路在摇动LED 棒的时候单片机必须单程送数据否则显示的图形会产生重影,影响视觉效果。
因此当系统开始工作后通过惯性开关的位置来使单片机实现单程送数据给LED。
如果惯性开关位于右边,则进入外部中断T1并将一变量置1。
在变量为1期间让单片机以一定的频率将数据送给LED。
如果惯性开关位于左边,则进入外部中断T0并将变量置0,在这期间单片机不会送数据给LED。
在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。
之后再立刻熄灭LED并开始重新判断惯性开关的位置(整体流程图见图4)。
2.系统流程图图4.系统流程图3.软件实现功能的完善本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。
第二个难点是当显示如“Welcome”这类较长字符时不能完整的显示在一次摇摆的扇形区域内。
通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有间断的问题。
综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。
五、结论在孙秀云老师的指导下,通过一周的时间完成了摇摇棒的设计,本次设计以传感器和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计的基本结构和基本原理。
本次将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。
掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。
输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用32个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。
当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。
设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利,通过这次课程设计,使我学会了编写程序,焊接电路板,增强了我的动手能力,为以后打下了坚实的基础!参考文献:[1]《电子技术基础数字部分》康华光编高等教育出版社[2]《单片机C51程序设计教程与实验》祁伟杨亭编北京航空航天大学出版社[3]《LED及其工程应用》杨清德康娅编人民邮电出版社[4]《C程序设计》谭浩强编清华大学出版社[5]《全国大学生电子设计竞赛试题精解选》陈永真编电子工业出版社附录:附录1:元器件明细表:1、单片机AT89S52 1片;2、驱动芯片74HC595 1片;3、发光二极管16只;4、12M晶振1个5、电阻、电容若干附录二:系统程序#include "reg52.h" // 包含头文件#define uint unsigned int#define uchar unsigned char#define ushort unsigned shortsbit P1_0=P1^0; // 定义位变量sbit P1_1=P1^1;sbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;sbit P1_3=P1^3;sbit P1_2=P1^2;sbit P3_3=P3^3;#define LED1_ON() (P1_0=1) // 定义"LED1_ON()"为MCU的P3.4脚输出低电#define LED2_ON() (P1_1=1) // 平使LED1点亮#define LED3_ON() (P1_2=1)#define LED4_ON() (P1_3=0)#define LED5_ON() (P1_4=1)#define LED6_ON() (P1_5=1)#define LED7_ON() (P1_6=1)#define LED8_ON() (P1_7=1)char k;void delay(void){//uchar i;ushort count=350;while(--count != 0){;//for(i = 0; i < 125; i++); // ";" 表示空语句,CPU空转。