单片机——摇摇棒数据源

合集下载

基于单片机的摇摇棒设计本科毕业设计

基于单片机的摇摇棒设计本科毕业设计

本科毕业设计(论文)题目基于单片机的摇摇棒设计河南科技大学毕业设计(论文)任务书题目基于单片机的摇摇棒设计主要内容、基本要求、主要参考资料等:主要内容: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概述随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。

基于单片机STC89C52的摇摇棒-推荐下载

基于单片机STC89C52的摇摇棒-推荐下载

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,/*心形图 案*/ };
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线0产中不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资22负料,荷试而下卷且高总可中体保资配障料置23试时23卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看2度并55工且22作尽2下可护1都能关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编5试技写、卷术重电保交要气护底设设装。备备4置管高调、动线中试电作敷资高气,设料中课并3技试资件且、术卷料拒管中试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

单片机创意摇摇棒制作word资料5页

单片机创意摇摇棒制作word资料5页

# 创新设计16个LED灯的摇摇棒,可显示英文、图形及汉字# 仅需5种元器件(单片机、LED、导线、电池和塑料壳),让DIY简单、快速# 往返双程扫描,慢速摇动也可清晰显示# 敲击字幕切换功能,无需按键操作# 在软件上有很大的升级空间(包括双色显示、LED测光等)-----------------------------------------------------------------------[注意事项]-----------------------------------------------------------------------# HEX文件烧写时需选择“内部RC时钟”# 本制作采用STC12C5A60S2单片机,不可以用其他型号单片机替代# 惯性开关在制作时注意静止时开关柄到左右触点间的距离应尽量相等# 本制作无开关,不用时需取下电池或在电池间塞入绝缘纸片单片机采用STC12C5A60S2(1pcs)- 0805型贴片式LED灯(16pcs)- CR2032钮扣电池(2pcs)- 具有一定弹性的导线和废弃的元器件引脚- 用来包装DIP40脚单片机的塑料壳(1pcs)- 确保单片机可以放入并有较大余地- 用钳子将P0、P2接口所在一侧的引脚全部向外弯折- 目的是保证将单片机放入塑料壳时不会左右乱窜- 弯折时尽量不断放入塑料壳中比对- 擦拭弯折后的引脚表面确保无污物可以顺利上锡- 用摄子取出贴片LED灯并焊接在单片机引脚上- 从P2.0引脚开始焊接左边焊LED负极(P2.0负极、P2.1正极)- 依次焊接16个LED灯到P0.2引脚为止- 将一支废弃元器件引脚对折并焊接在弹性导线上- 弹性导线的另一端焊接在单片机的第20脚上(GND)注意掌握导线长度- 将P1.3引脚弯折至芯片底部再用废弃元器件引脚向上延长P1.2引脚- 使之形成惯性开关的两个触点再把P1.4引脚略向内弯曲形成侧撞触点- 把一支废弃的元器件引脚焊接在单片机的第40脚上(VCC)- 再取一段导线将一端焊接在单片机的第20脚上(GND)- 导线另一端的接头处挂大量的锡- 用胶带固定导线使之在摇动时不易乱窜- 此时在单片机一侧形成了电源的正、负极接口将钮扣电池重叠后放入正、负极接口处- 最后将单片机连同电池一并塞进塑料壳中- 用透明胶带把开口处包好 - 因摇动时的离心力向上所以单片机及电池不会向下滑落无需设计下方固定希望以上资料对你有所帮助,附励志名言3条:1、常自认为是福薄的人,任何不好的事情发生都合情合理,有这样平常心态,将会战胜很多困难。

基于单片机实现的显示摇摇棒的系统设计毕业设计(论文)word格式

基于单片机实现的显示摇摇棒的系统设计毕业设计(论文)word格式

基于单片机的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只以上;单片机使用的晶振频率较大,软件不易实现对计数的控制。

魔幻摇摇棒原理(基于AT89S52单片机)

魔幻摇摇棒原理(基于AT89S52单片机)

魔幻摇摇棒设计原理原理:“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。

输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。

当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。

一、引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。

可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。

本设计要求制作完成一个LED的显示棒。

要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“你最棒”、“0K”、爱心之类的汉字或图案且可以使用按键对显示内容进行切换。

二、系统设计方案1.设计思路本系统要求设计一个LED显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示:图1:LED显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。

本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。

以下将对各模块的方案进行论证与比较:2.模块方案的论证与比较2.1 LED灯的选择方案一:传统LED发光二极管。

颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。

方案二:高亮LED发光二极管。

正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。

为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用红色的LED使得显示画面更为明显、突出,使用两片CR2032纽扣电池为其供电,提供足够的电流。

基于单片机的摇摇棒设计

基于单片机的摇摇棒设计

基于单片机的摇摇棒设计摇摇棒是一种可以发出声音和光线的玩具,通过挥动摇摇棒,可以产生不同的声音和光线效果。

本文将介绍一个基于单片机的摇摇棒设计。

设计的摇摇棒主要由以下几个部分组成:单片机、声音发生器、光敏电阻、LED灯和蜂鸣器。

首先,我们选择了一块适用于这个项目的单片机。

在本设计中,我们选择了AT89S52单片机,因为它拥有较高的性能和丰富的接口。

其次,我们需要一个声音发生器来产生不同的声音效果。

我们选择了一个简单的脉冲宽度调制(PWM)声音发生器模块,通过改变PWM的占空比来改变声音的高低音。

然后,为了在摇动棒时产生声音和光线效果,我们使用了一个光敏电阻。

当摇动棒快速晃动时,光敏电阻会感知到光线变化,并通过单片机的模拟输入引脚将信号传递给单片机。

单片机根据接收到的信号来改变声音和光线的效果。

此外,我们还添加了一颗LED灯和一个蜂鸣器来增加摇动棒的趣味性。

当摇动棒晃动时,LED灯会闪烁并发出不同的颜色,蜂鸣器也会发出声音。

我们通过单片机的输出引脚将信号发送给LED灯和蜂鸣器,以控制它们的工作状态。

最后,我们使用编程语言来编写单片机的程序。

程序的功能是根据摇动棒的晃动情况来产生不同的声音和光线效果。

例如,在摇动棒缓慢晃动时,声音发生器会产生低音并使LED灯缓慢闪烁。

而在摇动棒快速晃动时,声音发生器会产生高音并使LED灯快速闪烁。

通过以上的设计,我们可以制作一个基于单片机的摇摇棒。

用户可以通过摇动棒来产生不同的声音和光线效果,增加了玩具的趣味性和可玩性。

综上所述,本文介绍了一个基于单片机的摇摇棒设计。

通过选择合适的单片机和相关组件,并编写相应的程序,我们可以制作出一个具有声音和光线效果的摇摇棒。

这个设计不仅可以增加玩具的趣味性,还可以培养孩子们对电子技术的兴趣和学习能力。

51单片机摇摇棒程序

51单片机摇摇棒程序

51单片机摇摇棒程序//#include#include //51系列单片机定义文件#include#include#define uchar unsigned char#define uint unsigned int //宏定义sbit KEY= P3^7 ; //定义画面切换按键uchar KY; //KY作用在后面说明uchar disp; //显示汉字指针uchar pic=0,num=0; //pic为按键次数;num为中断次数uchar code love[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x 20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x 00,0x00,0x00,0xF8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x 10,0xF8,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x 20,0x00,0x20,0x00,0x10,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,/*LOVE*/};uchar code loveyou[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x 0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x0 3,0xFE,0x01,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,/*心形图案*/};uchar code hehe[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0 x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x 3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x 00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x 3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x 00,0x04,0x20,0x08,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x 01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,/*呵呵o(∩_∩)o图案*/};unsigned char code hanzi[] = {0x08,0x04,0x08,0x03,0xC8,0x00,0xFF,0xFF,0x48,0x00,0x88,0x01,0x0A,0x08,0x42,0x24,0x62,0x13,0xD2,0x08,0x4A,0x06,0xC6,0x41,0x42,0x80,0xC0,0x7F,0x00,0x00,0x00,0x00, /*"杨",0*/0x00,0x01,0x82,0x00,0xF2,0x3F,0x4E,0x08,0x42,0x08,0xC2,0x9F,0x00,0x80,0xF2,0x4F,0x12,0x20,0x1A,0x18,0xD6,0x07,0x12,0x08,0x12,0x10,0xF2,0x67,0x02,0xC0,0x00,0x00,/*"硕",0*/0x00,0x80,0x00,0x80,0x00,0xA0,0x40,0x9C,0xA0,0x82,0x90,0xE2,0x88,0x9A,0x90,0xA7,0xF0,0xA2,0x9C,0xBA,0x92,0x86,0x50,0x80,0x80,0xCE,0xC0,0xC1,0x30,0xB8,0x00,0x87,/*"制",0*/0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xE1,0x80,0x98,0x40,0x87,0xE0,0x80,0x98,0x80,0x44,0x80,0x22,0xF0,0x10,0x8E,0xC8,0x89,0x34,0x89,0x12,0x89,0x10,0x89,0x90,0x80,/*"作",1*/ };/*****函数声明*****/void display1_ltor(void);void display2_ltor(void);void display2_rtol(void);void display3(void);void display4(void);/*****n(us)延时子程序*****/void DelayUs(uint N){uint x;for(x=0; x<=N;x++);}/*****中断服务程序*****/void intersvr0(void) interrupt 0{;KY=~KY; //每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示)if(KY==0){num++; //计算中断次数switch(pic) //选择画面{case 0:{display1_ltor();}break;case 1:{display2_ltor();}break;case 2:{display3();}break;case 3:{display4();}break;default:{display1_ltor();}}}}/*****显示子程序1(汉字)*****/void display1_ltor(void){uchar i;if(num>10){disp++;num=0;} //每中断10次切换if(disp>2)disp=0; //disp=2,说明它有三组数,0,1,2,分别是:谢谢大家,非常感谢,杨硕制作(举例说明)DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显示内容居中即可for(i=0;i<64;i++) //每个字有32个字符,但是显示每个字只有16次,因为有P0和P2口,所以显示四个字就是64次{P0=~hanzi[disp*128+i*2]; //当显示完前四个字,这四个字共占128个字符,第一次显示谢谢大家,下一次再显示第128个字符之后的字符,所以后面就是128*2P2=~hanzi[disp*128+i*2+1]; //显示分为P0口和P2口,上下两组DelayUs(100);}}/*****显示子程序2(LOVE)*****/void display2_ltor(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~love[i*2];P2=~love[i*2+1];DelayUs(140);}}/*****显示子程序3(心形图案)*****/void display3(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~loveyou[i*2];P2=~loveyou[i*2+1];DelayUs(120);}}/*****显示子程序4(呵呵o(∩_∩)o图案)*****/ void display4(void){uchar i;DelayUs(4000);for(i=0;i<64;i++){P0=~hehe[i*2];P2=~hehe[i*2+1];DelayUs(120);}}/*****主函数*****/void main(void){IT0=1;EX0=1;EA=1; //开中断,下降沿中断KY=0;while(1) //主程序中只检测按键{if(KEY==0) //画面切换键按下{DelayUs(10000); //按键去抖if(KEY==0);pic++;}if(pic>3)pic=0;}}/*****END*****/。

基于单片机控制LED摇摇棒的解决方案

基于单片机控制LED摇摇棒的解决方案

基于单片机控制LED摇摇棒的解决方案
摇摇棒本为开发套件,全部采用直插的器件。

显示的LED采用了
5mm超高亮30度聚光发光二极管,共32只。

控制芯片采用宏晶单片机STC11F03E,其内部有3K的程序存储空间,256字节的数据存储空间,另外其内部还有2K的EEPROM空间。

设计可以通过串口,把下载的画面数据到内部的EEPROM,掉电后,也不会丢失。

本文通过研究利用事先编好程序来控制16个LED发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置(简称为摇摇棒),设计并制作一个依靠摇动能显示字符、图形的LED 显示棒。

此装置利用AT89C51单片机对发光二极管阵列进行控制。

用滚珠开关检测当前摇动状态,单片机控制16个发光二极管进行不同频率的亮灭刷新,则只要摇动就可以可显示输出文字及图案等信息,从而达到在该视觉平面上传达信息的作用。

1 硬件系统的组成
本设计的简单有趣的LED摇摇棒,它是基于单片机控制的电子装置。

具有按键进行画面切换和消除重影等功能,能使画面清晰显示出来。

它主要由单片机控制部分,LED驱动部分,LED显示部分组成,其硬件组成框图如。

单片机课程设计--趣味摇摇棒

单片机课程设计--趣味摇摇棒

任务书Ⅰ设计题目中文:趣味摇摇棒的设计英文: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)引言摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。

基于51单片机的摇摇棒 简版(少图)

基于51单片机的摇摇棒 简版(少图)

基于STC89C52单片机的摇摇棒系统沈阳工业大学信息科学与工程学院电子信息工程0802班闫博謇080402056摘要随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,摇摇棒也随之成为一个热点产品。

“摇摇棒”是基于人眼视觉暂留原理而产生的, 当进行摇动时,由于人的视觉暂留会在发光二极管摇动区域产生一个视觉平面,从而达到在该视觉平面上传达信息的作用。

本文介绍了以STC89C52单片机控制为主控芯片、配合高亮度LED二极管以及水银开关构成简易摇摇棒的设计过程,通过分时刷新20个发光二极管来显示输出文字或图案等信息。

并在此基础上,利用DS1302时钟芯片显示当前时间,可通过按键对时间进行设置。

关键词:视觉暂留;单片机;LED;DS1302AbstractWith the continuous development of the science and technology and the society, a lot of tools , providing the entertainment and leisure for people, have been more and more .So the shaking stick has been a kind of hot produces gradually. It is based on the principle of the human visual and temporary leave to product .when shaken it , the men's visual and temporary leave can produce a visual plane in the LED’s shaking region, in order to achieve the function conveying information in the plane of vision. This paper introduces the process of designing the simple shaking stick with the controlling chip (It is controlled mainly by the STC89c52 MCU ) , a high brightness LED and the mercury switch .It is completed through refreshing 20 LED in the time—sharing to display some information like the text--- output or the design. And on this basis, the use of the chip of the DS1302 would show current time .It would be set time through the button.Keywords: Visual staying phenomenon,MCU,LED,DS1302目录摘要…………………………………………………………第一章基本原理……………………………………………1.1 视觉暂留现象…………………………………………1.2 STC单片机简介………………………………………1.3 水银开关………………………………………………1.4 时钟芯片………………………………………………1.5 按键……………………………………………………1.6 LED ……………………………………………………第二章原理图………………………………………………第三章实物说明图…………………………………………第四章使用说明……………………………………………步骤一………………………………………………………步骤二………………………………………………………步骤三………………………………………………………步骤四………………………………………………………步骤五………………………………………………………第五章软件设计………………………………………………5.1 设计思路………………………………………………5.2 系统工作流程…………………………………………5.3 主程序流程图…………………………………………第六章部分效果图……………………………………………参考文献………………………………………………………附件……………………………………………………………第一章基本原理1.1视觉暂留现象(Visual staying phenomenon,duration of vision)人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。

STC11F04单片机制作的32灯摇摇棒

STC11F04单片机制作的32灯摇摇棒

STC11F04单片机制作的32灯摇摇棒说到摇摇棒,大家应该不陌生,但这款摇摇棒,用了一片20脚的STC11F04单片机,控制32只发光二极管,能显示13组左右的字或者图片,能显示高32宽64的图像和字体任意,开机后自动切换每一组字,按了一下背部的开关后变成手动切换!能根据自己的喜好用字模软件编写各种各样的字体和图片,方法很简单!只要有单片机的一点基础就可以随意的玩耍,送给朋友和喜欢的人是件不错的礼物哦!此摇摇棒其实是没限制的,可以显示高32宽很长的字和图片,只不过麻烦的是要手晃得大一点而已!所以通常都限制在合适的范围!资料来源于网络,作者:张国荣。

#include ;/*********外部接口定义**********/ #define uchar unsigned char#define uint unsigned int//宏定义#define out P1 //数据输出端口sbit led1=P3^0; //第1组LEDsbit led2=P3^1; //第2组LEDsbit led3=P3^3; //第3组LEDsbit led4=P3^4; //第4组LEDsbit key1=P3^5; //按键输入sbit p3_2=P3^2;uchar KY;//KY作用在后面说明uchar BUFF;//缓存/*********全局变量定义**********/unsigned long int TimeCount=0;unsigned int DelayN=80, //延时临时计数DelayTime=80; //每次延时的周期个数unsigned char key;/**********************************************/ void delay(unsigned char n);void DelayMs(void);/*******************************************/ unsigned char code text1[] = {0xEF,0x7F,0xEF,0xBC,0x0F,0xDD,0xE0,0xEB,0xEF,0xF3 ,0x0F,0x8C,0x7F,0xDF,0x7D,0xFF,0x7D,0xBF,0x7D,0x7 F,0x0D,0x80,0x75,0xFF,0x79,0xFF,0x7D,0xFF,0x7F,0xFF,0xFF,0xFF,/*&quot;好&quot;,0*/0xEF,0x7F,0xEF,0xBC,0x0F,0xDD,0xE0,0xEB,0xEF,0xF3 ,0x0F,0x8C,0x7F,0xDF,0x7D,0xFF,0x7D,0xBF,0x7D,0x7 F,0x0D,0x80,0x75,0xFF,0x79,0xFF,0x7D,0xFF,0x7F,0x FF,0xFF,0xFF,/*&quot;好&quot;,1*/0xBF,0xFF,0xCF,0xFD,0xEF,0xFD,0xED,0xFD,0xA3,0xFD ,0xAB,0xFD,0xAF,0xBD,0xAE,0x7D,0xA1,0x80,0x2B,0xF D,0xAF,0xFD,0xE7,0xFD,0xA8,0xFD,0xCD,0xFD,0xEF,0x FD,0xFF,0xFF,/*&quot;学&quot;,2*/0xFF,0xFF,0xFF,0xFF,0xFD,0xFB,0xFD,0xF3,0xF5,0xFB ,0xED,0xFD,0xDD,0xFD,0x9D,0xFE,0xFD,0xFE,0x7D,0xF F,0x7D,0xDF,0xBD,0xBF,0xFD,0x7F,0x01,0x80,0xFF,0x FF,0xFF,0xFF,/*&quot;习&quot;,3*/0xFF,0xFF,0xBF,0x7F,0xBD,0xBF,0xBD,0xDF,0xBD,0xEF ,0xBD,0xF7,0xBD,0xF9,0x01,0xFE,0xBD,0xFD,0xBD,0xF B,0xBD,0xF7,0xBD,0xEF,0xBD,0xCF,0xBD,0x9F,0xBF,0x DF,0xFF,0xFF,/*&quot;天&quot;,4*/0xFF,0xFF,0xBF,0x7F,0xBD,0xBF,0xBD,0xDF,0xBD,0xEF ,0xBD,0xF7,0xBD,0xF9,0x01,0xFE,0xBD,0xFD,0xBD,0xF B,0xBD,0xF7,0xBD,0xEF,0xBD,0xCF,0xBD,0x9F,0xBF,0x DF,0xFF,0xFF,/*&quot;天&quot;,5*/0xFF,0xFF,0xFF,0xFF,0x03,0x80,0xFB,0xFF,0xFB,0xFF,0x19,0xF0,0xDA,0xFB,0xDB,0xFB,0xDB,0xFB,0xDB,0xF B,0x1B,0xF0,0xFB,0xDF,0xFB,0xBF,0x03,0xC0,0xFF,0x FF,0xFF,0xFF,/*&quot;向&quot;,6*/0xFF,0xFF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF ,0xFF,0xBF,0xFF,0xBF,0x01,0x80,0xBF,0xBF,0xBF,0xB F,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xFF,0x9F,0xFF,0x BF,0xFF,0xFF,/*&quot;上&quot;,7*/};unsigned char code text2[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xB7,0xBB ,0xB7,0xBB,0xB3,0xBB,0xB4,0xBB,0xB5,0xBB,0xB7,0xB B,0xB7,0xBB,0xB7,0xBB,0x07,0x00,0xFF,0xFF,0xFF,0x FF,0xFF,0xFF,/*&quot;自&quot;,0*/0xBF,0xBF,0xBE,0xDF,0x39,0xE0,0xFF,0xDF,0xEF,0xBF ,0xEF,0xBF,0x6D,0xB0,0x6D,0xB7,0x6D,0xB7,0x01,0xB 7,0x6E,0xB7,0x6E,0xB7,0x6E,0xB0,0xEF,0xBF,0xEF,0x BF,0xFF,0xFF,/*&quot;适&quot;,1*/0xFF,0xBF,0xFF,0xC7,0x03,0xF8,0xBB,0xDF,0x7B,0xDF ,0xFB,0xD0,0xEB,0xDB,0xDA,0xDF,0x39,0xDC,0x7B,0xC F,0xFB,0xD3,0xFB,0xDC,0x1B,0xDF,0xBB,0xDF,0xFF,0x DF,0xFF,0xFF,/*&quot;应&quot;,2*/0xBF,0xBF,0xBD,0xDF,0x33,0xE0,0xFF,0xDF,0xFB,0xB7,0x1B,0xB6,0xDB,0xBA,0xDB,0xBC,0x00,0x80,0xDB,0xB E,0xDB,0xBC,0xDB,0xBA,0x1B,0xB2,0xFB,0xBF,0xFF,0x BF,0xFF,0xFF,/*&quot;速&quot;,3*/0xFF,0x7F,0xFF,0x9F,0x03,0xE0,0xFB,0x7F,0xDB,0x7F ,0xDB,0xBD,0x03,0xB9,0x5A,0xD5,0x59,0xED,0x5B,0xE D,0x03,0xD5,0xDB,0xD9,0xDB,0xBD,0xDB,0x3F,0xFB,0x BF,0xFF,0xFF,/*&quot;度&quot;,4*/0xEF,0xFB,0xEF,0xBB,0xEF,0x7D,0x00,0x80,0x6F,0xFF ,0xAF,0xFD,0x75,0x05,0x8D,0xBD,0xB9,0xBD,0xA5,0xB D,0x3D,0x80,0x9E,0xBD,0xAE,0xBD,0xB6,0xBD,0xFF,0x 05,0xFF,0xFF,/*&quot;摇&quot;,5*/0xEF,0xFB,0xEF,0xBB,0xEF,0x7D,0x00,0x80,0x6F,0xFF ,0xAF,0xFD,0x75,0x05,0x8D,0xBD,0xB9,0xBD,0xA5,0xB D,0x3D,0x80,0x9E,0xBD,0xAE,0xBD,0xB6,0xBD,0xFF,0x 05,0xFF,0xFF,/*&quot;摇&quot;,6*/0xEF,0xFC,0x2F,0xFF,0x00,0x00,0xAF,0xFF,0x6F,0xFD ,0xBB,0xF5,0xAB,0xF6,0x2B,0xF5,0x8B,0xF5,0xA0,0x0 0,0x2B,0xF5,0xAB,0xF4,0xAB,0xF6,0xBB,0xF5,0xBF,0x FD,0xFF,0xFF,/*&quot;棒&quot;,7*/};unsigned char code text3[]={0xFF,0xFF,0xBF,0x7F,0xBD,0xBF,0xBD,0xDF,0xBD,0xEF,0xBD,0xF7,0xBD,0xF9,0x01,0xFE,0xBD,0xFD,0xBD,0xF B,0xBD,0xF7,0xBD,0xEF,0xBD,0xCF,0xBD,0x9F,0xBF,0x DF,0xFF,0xFF,/*&quot;天&quot;,0*/0xBF,0xBF,0xBD,0xDF,0x33,0xE0,0xFF,0xDF,0xFB,0xBF ,0xFB,0xBF,0x1A,0xA0,0x49,0xB5,0x53,0xB5,0x5B,0xB 5,0x59,0xB5,0x1A,0xA0,0xFB,0xBF,0xFB,0xBF,0xFF,0x BF,0xFF,0xFF,/*&quot;道&quot;,1*/0x0E,0x80,0xEE,0xDA,0x00,0xDB,0xEE,0xDB,0x00,0xDB ,0x6E,0xDB,0x0E,0x80,0xDE,0xDF,0x01,0xE0,0xDF,0xF F,0xBF,0xFF,0x01,0x80,0xDF,0xFF,0xBF,0xFF,0x00,0x 80,0xFF,0xFF,/*&quot;酬&quot;,2*/0xFB,0xFF,0xFB,0x7F,0x3B,0x6A,0xA0,0x6A,0xAB,0x6A ,0x0B,0x80,0xAB,0xAA,0xA0,0xAA,0x3B,0x6A,0xEB,0x9 F,0xEF,0xE3,0x00,0xFC,0xEF,0xDF,0xEF,0x9F,0x0F,0x C0,0xFF,0xFF,/*&quot;勤&quot;,3*/0xFF,0xBF,0xFF,0xCF,0x00,0xF0,0xFE,0xFF,0x82,0xF6 ,0xAA,0xF6,0xAA,0xB6,0xAA,0x76,0xAA,0x82,0xAA,0xF 2,0xAA,0xF4,0xAA,0xF4,0x82,0xF6,0xFE,0xF7,0xFF,0x FF,0xFF,0xFF,/*&quot;厚&quot;,4*/0xEF,0xFD,0xF7,0xFE,0x7B,0xFF,0x1C,0x00,0xE5,0xFF ,0xFF,0xFD,0xA0,0xFD,0xAA,0xC5,0xAA,0xFD,0xAA,0xB D,0xAA,0x7D,0x2A,0x80,0xA0,0xFD,0xBF,0xFD,0xBF,0xFD,0xFF,0xFF,/*&quot;得&quot;,5*/0xEF,0xFF,0xAF,0xED,0xAB,0xEC,0x2B,0xED,0x8B,0xED ,0xA0,0x00,0xAB,0xF5,0xAB,0xB5,0xEF,0xDF,0x00,0xE F,0xEF,0xF0,0xED,0xE3,0xEB,0xDC,0x2F,0xBF,0xEF,0x CF,0xFF,0xFF,/*&quot;载&quot;,6*/0xBF,0xFB,0xC3,0xFB,0xEF,0xFD,0x00,0x80,0xEF,0xFE ,0x2F,0xBB,0xDF,0xDD,0xE7,0xEE,0x30,0xF7,0xC7,0xF B,0xF7,0xBC,0x07,0x7F,0xF7,0xBF,0x07,0xC0,0xFF,0x FF,0xFF,0xFF,/*&quot;物&quot;,7*/};unsigned char code text4[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF ,0xFF,0xFF,0xFB,0xFF,0xFF,0xF7,0xFB,0xFF,0xFF,0xF 7,0xFB,0xFF,0xFF,0xF7,0x03,0x00,0x00,0xF0,0xFB,0x FF,0xFF,0xF7,0xFB,0xFF,0xFF,0xF7,0xFB,0xFF,0xFF,0xF7,0xFB,0xFF ,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x FF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF ,0xFF,0xFF,0x1F,0x80,0xFF,0xFF,0x07,0x00,0xFE,0xF F,0x07,0x00,0xFC,0xFF,0x03,0x00,0xF8,0xFF,0x03,0x00,0xF0,0xFF,0x03,0x00,0xC0,0xFF,0x03,0x00,0xC0,0xFF,0x03,0x00 ,0x80,0xFF,0x07,0x00,0x00,0xFF,0x1F,0x00,0x00,0xF E,0x3F,0x00,0x00,0xFC,0x3F,0x00,0x00,0xF8,0x3F,0x 00,0x00,0xF0,0x3F,0x00,0x00,0xF0,0x3F,0x00,0x00,0xF8,0x1F,0x00 ,0x00,0xFC,0x0F,0x00,0x00,0xFE,0x07,0x00,0x00,0xF E,0x03,0x00,0x00,0xFF,0x03,0x00,0x80,0xFF,0x03,0x 00,0xE0,0xFF,0x07,0x00,0xF0,0xFF,0x07,0x00,0xF8,0xFF,0x07,0x00 ,0xFC,0xFF,0x0F,0x00,0xFF,0xFF,0x1F,0x80,0xFF,0xF F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x FF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF0,0x03,0x00 ,0x00,0xE0,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0xE F,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xCF,0xFF,0x FF,0xFF,0xCF,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF ,0xFF,0xE3,0x07,0x00,0x00,0xF0,0x07,0x00,0x00,0xF C,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x FF,0xFF,0xFF,/*&quot;未命名文件&quot;,0*/};unsigned char code text5[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0x9F,0xBF,0xFF,0xF9 ,0x9F,0xBF,0xFF,0xF9,0xCF,0x3F,0xFF,0xF9,0xCF,0x3 F,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x80,0xFF,0x F9,0xF3,0xFF,0xFF,0xF9,0xF9,0xFF,0xFF,0xF9,0xFC,0xFF,0xFF,0xFB ,0xBF,0xFF,0xFF,0xFF,0x93,0xFF,0x9F,0xFF,0x99,0x8 0,0x9F,0xFC,0x98,0x9F,0x9F,0x71,0x9C,0x3F,0x9F,0x 27,0x9E,0x3F,0x9F,0x1F,0x9E,0x3F,0x9F,0x7F,0x9E,0x3F,0xDF,0x7F ,0x9E,0x3F,0xDF,0x7C,0x9E,0x3F,0xDF,0x60,0x00,0x0 0,0xDF,0x67,0x9E,0x3F,0xCF,0x7F,0x9E,0x3F,0xCF,0x 7F,0x9E,0x3F,0xCF,0x7F,0x9E,0x3F,0xEF,0x67,0x9E,0x3F,0xE7,0x61 ,0x9E,0x3F,0x67,0x78,0x9E,0x81,0x27,0xFE,0x9E,0xC 1,0xFF,0xFF,0x9F,0xFF,0xFF,0xFF,0x9F,0xFF,0xFF,0x FF,0xFF,0xFF,/*&quot;摇&quot;,0*/0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0x0F ,0xF8,0x3F,0x7F,0x80,0xFF,0x9F,0xFF,0xFF,0xFF,0xC 7,0xFF,0xFF,0xFF,0xE1,0x07,0x00,0x00,0xF8,0x07,0x 00,0x00,0xFF,0xFF,0x1F,0x7F,0xFE,0xFF,0xC3,0xFF,0xF8,0x7F,0xF0,0xFF,0xE1,0x3F,0xFE,0xFF,0xC7,0xFF,0xFF,0xFF,0xD F,0x9F,0xFF,0xFF,0xFF,0x9F,0xFF,0xFF,0xFF,0x9F,0x FF,0xFF,0xFF,0x9F,0xFF,0xFF,0xDF,0x9F,0xFF,0xFF,0xDF,0x9F,0xFF ,0xFF,0x9F,0x9F,0xFF,0xFF,0x9F,0x9F,0xFF,0xFF,0xB F,0x9F,0xFF,0xFF,0xBF,0x9F,0xFF,0xFF,0xBF,0x9F,0x FF,0xFF,0xBF,0x1F,0x00,0x00,0x80,0x1F,0x00,0x00,0xC0,0x9F,0xFF ,0xFF,0xFF,0x9F,0xFF,0xFF,0xFF,0x9F,0xFF,0xFF,0xF F,0x9F,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0x FF,0xFF,0xFF,/*&quot;灯&quot;,1*/};/***********n(us)延时子程序***************/ void DelayUs(uint N){uint x;for(x=0; x;j)BUFF=(*(text+i*4+3));elseBUFF=(*(text+128+i*2+1));led4=0;P1=~BUFF>;>;1;P3M0=0x10;//0001 0000 //P3.4推挽输出 P3 .0 P3.3 P3.1输入高阻P3M1=0x0B;//0000 1011delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;//0001 1011led4=1;P1=BUFF;//01010101 1357P3M0=0x10;//0001 0000 //P3.4推挽输出 P3 .0 P3.3 P3.1输入高阻P3M1=0x0B;//0000 1011delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;//0001 1011if(key>;j)BUFF=(*(text+i*4+2));elseBUFF=(*(text+128+i*2));led3=0;P1=~BUFF>;>;1;P3M0=0x08;//0000 1000 //P3.3推挽输出 P3 .0 P3.1 P3.4输入高阻P3M1=0x13;//0001 0011delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;//0001 1011led3=1;P1=BUFF;//01010101 1357P3M0=0x08;//0000 1000 //P3.3推挽输出 P3 .0 P3.1 P3.4输入高阻P3M1=0x13;//0001 0011delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;if(key>;j)BUFF=(*(text+i*4+1));elseBUFF=(*(text+i*2+1));led2=0;P1=~BUFF>;>;1;P3M0=0x02;//0000 0010 //P3.1推挽输出 P3 .0 P3.3 P3.4输入高阻P3M1=0x19;//0001 1001delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;//0001 1011led2=1;P1=BUFF;//01010101 1357P3M0=0x02;//0000 0010 //P3.1推挽输出 P3 .0 P3.3 P3.4输入高阻P3M1=0x19;//0001 1001delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;//0001if(key>;j)BUFF=(*(text+i*4));elseBUFF=(*(text+i*2));led1=0;P1=~BUFF>;>;1;P3M0=0x01;//0000 0001 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1A;//0001 1010delay(1);P3M0=0x00;//0000 0000 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1B;//0001 1011led1=1;P1=BUFF;//01010101 1357P3M0=0x01;//0000 0001 //P3.0推挽输出 P3 .1 P3.3 P3.4输入高阻P3M1=0x1A;//0001 1010delay(1);} }/*********显示内容选择子程序**********/ void display(unsigned char t){switch (t){ //通过按键选择显示内容case 0: {display_word(text1);}break;case 1: {display_word(text2);}break;case 2: {display_word(text3);}break;case 3: {display_word(text4);}break;case 4: {display_word(text5);}break;//default:{display_word(text1);} }}/***************************************/ /*********延时子程序**********/void delay(unsigned char n){for(;n>;0;n--){DelayN=DelayTime;while (DelayN);}}/*********中断子程序**********/void int0() interrupt 0 //使用外部中断0{KY=~KY;if(KY==0){DelayTime=TimeCount/1580;TimeCount=0; //延时周期计数清零display(key); //根据按键选择循环显示文字}}void timer0() interrupt 1 //定时器0中断子程序{TimeCount++;if (DelayN!=0)DelayN--;}。

基于单片机的摇摇棒设计

基于单片机的摇摇棒设计
(3)使用角度传感器,通过角度的控制来克服时间上的误差。
五、任务完成的阶段内容和时间安排:
第一阶段:2011.11.3—2011.11.5,查阅文献资料,收集相关设计的材料,写开题报告;
第二阶段:2011.11.6—2011.11.25,分析气体烟雾报警器的工作原理,与指导老师讨论,并拟定论文初稿;
关键词:单片机,LED,水银开关
Basedon single-chip shaking his stick design
ABSTRACT
As we all know, the human eye visual persistence phenomenon, because the eye isunresponsive, it enriched the human visual perception.
KEY WORDS:haking his stick, SCM, LED, the mercury switch
第1章
1
随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。让你的心声闪烁在夜空——LED摇摇棒横空出世!LED摇摇棒又叫摇摇棒、魔棒、闪光棒、闪字棒、闪图棒、星光棒 。LED摇摇棒的诞生是闪光系列产品中的一大革命,它最大的神奇之处,是在手中左右摇晃LED摇摇棒,就会在棒子划过的轨迹上留下清析的文字或图案。目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。

摇摇棒课程设计(基于AT89C51单片机)

摇摇棒课程设计(基于AT89C51单片机)

目录摘要 (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点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。

本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。

项目八:数码摇摇棒的制作

项目八:数码摇摇棒的制作

LED正极
LED负极
集成块插座
电池盒
完成了
安装注意事项
(1) 按照原理图正确安装并焊接元器件。 (2) 在刚刚焊接完成时,先不要在IC 座上插上IC 芯片,用 万用表测试两块IC 芯片的供电脚电压,以确保电路不会 烧坏芯片。 (3) 完成以上步骤,正确安装两片IC 芯片 (注意缺口方向)和电池,打开拨动开关,如果安装正确, 此时应该显示32 路花样流水灯。 (4) 按动按钮开关可以切换显示的内容,当出现比较杂乱 的闪灯时,用手紧握摇摇棒底部,以一定的频率左右摇晃 电路,即可看见显示的文字内容了。 (5)完成制作后,如长期不使用需卸下电池。
电原理图
方框图
驱动
存储容 量2Kbit
显示电路
ULN2803驱动芯片介绍
显示原理
根据LED 点阵屏的显示原理: 点阵屏的显示分为行扫描与列扫描两种, 列扫描是将我们的字模数组通过点阵屏的 行驱动进行输入,然后通过列对每一行进 行扫描,当列为低(高)电平、行为高 (低)电平时则表示该点为图案的一部分, 将其读出、显示。
数码摇摇棒的制作
长兴职教中心邵老师
著名影星周迅
数码摇摇棒原理分析
本电路采用STC11F02 单片机为核心控制系统,使 用32 只LED 灯作为显示屏,它们分为4组,由 Q1~Q4 来选通其中的一组,4 组LED 共用8 个数 据位,直接由单片机的通用I/O 口来控制,采用 UN2803 驱动LED。
滚珠开关结构
它由真空玻璃管、水银柱、以及导电极 组成。通过使用单片机的P3.3 引脚连接滚 珠开关检测周期,使摇动时间自适应,图 像始终保持在中间。使用这种方法就可以 让数据单程传输,解决了双程均传输时产 生的重影,使得 电池盒

单片机--摇摇棒

单片机--摇摇棒
LED为IN4007稳压二极管
K1为普通开关
K2为水银开关
LED(1~16)为3MM发光二极管
用到的电阻都是10K,排阻由于买元件时没有考虑到,故自己焊接了电阻在对应的引脚
元件买回来后开始是想按照网上的做成一个长条形状,因此很轻易的将一块万用板损坏,建议没有必要的工具千万不要乱裁剪万用板,得不偿失。
焊元件是很简单的事,只要按照原理图细心就是,下面是我焊的板子,比较丑陋的,不过毕竟是第一次啊,嘿嘿
正面,将P1口的排阻焊在IC插槽内,比较美观
背面就很差劲,特别是有线交叉的时候一定要测试好,避免短路
我的一点点焊接方面的经验,在清除原理图的情况下,模块与模块之间要分开焊接,比如焊接起振模块时就不要去焊接其他模块,那样就不会漏掉要焊接的细节,比如接地和接电源。最好是焊好一个模块后用万用表检查一遍,尽量减少错误的产生,当然最后一次检查是有必要的。焊接时细心细心还是细心。
调试流水灯程序:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
char num,a=0,b=3,c;
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
这是关于摇摇棒原理的解释:我们知道屏幕上显示连续的画面是通过扫描实现的,电影就是如此,一秒钟播放二十四张画面,这样在眼睛的暂留时间内就会显示下一张画面,看起来就是动起来的连续的动画,摇摇棒的原理也是如此,在纵向有16个发光二极管,我们可以通过横向移动来进行扫描,把程序中流水灯变化的时间间隔设置在眼睛暂留时间内一般小于0.04S就可以,因此我们在横向扫描时触动水银开关,程序开始执行,因此就可以显示一幅完整的画面。简单吧。

基于STM32F038单片机控制LED摇摇棒的解决方案

基于STM32F038单片机控制LED摇摇棒的解决方案

基于STM32F038单片机控制LED摇摇棒的解决方案本文通过研究利用事先编好程序来控制16个LED发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置,设计并制作一个依靠摇动能显示字符、图形的LED显示棒。

此装置利用STM32F038单片机对发光二极管阵列进行控制。

用滚珠开关检测当前摇动状态,单片机控制16个发光二极管进行不同频率的亮灭刷新,则只要摇动就可以可显示输出文字及图案等信息,从而达到在该视觉平面上传达信息的作用。

致芯科技最具实力的芯片解密、IC解密、单片机解密等解密服务机构,致芯科技拥有多年的解密服务经验和超高水平的解密技术,一直从客户利益出发,为每位客户提供最科学最合理最低成本的解密方案与解密服务,深受客户的信赖与喜爱。

本设计的简单有趣的LED摇摇棒,它是基于单片机控制的电子装置。

具有按键进行画面切换和消除重影等功能,能使画面清晰显示出来。

它主要由单片机控制部分,LED驱动部分。

本设计中通过一个画面切换开关对显示的内容进行切换。

在设计中通过滚珠开关来控制摇摇棒只能向一边摇动时显示信息,否则会出现镜像字或镜像画面,也就是重影的现象。

可选的摇动控制开关有水银开关和滚珠开关两种。

水银开关稳定性较高,但安全性较差。

滚珠开关虽然稳定性稍差,但不容易被打破,安全度很高。

考虑到实际应用环境,故选用滚珠开关作为系统的摇动控制,由滚珠开关带来的不稳定性可以通过软件进行弥补。

手动复位开关的功能是控制系统的启停。

此设计中根据LED点阵的显示原理来设计显示部分。

点阵的显示分为行扫描与列扫描两种,列扫描是将字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低电平、行为高电平时则表示该点为图案的一部分,将其读出、显示。

而本次设计的LED显示棒传输原理与LED点阵屏相似。

可以把LED显示棒看成是LED点阵屏中的一列。

为了使显示的图案清晰,在设计中使用了16个高亮度LED管将它们排成一列,整个屏在静止时也就相当于16行×1列。

单片机--摇摇棒

单片机--摇摇棒

摇摇棒制作这是关于摇摇棒原理的解释:我们知道屏幕上显示连续的画面是通过扫描实现的,电影就是如此,一秒钟播放二十四张画面,这样在眼睛的暂留时间内就会显示下一张画面,看起来就是动起来的连续的动画,摇摇棒的原理也是如此,在纵向有16个发光二极管,我们可以通过横向移动来进行扫描,把程序中流水灯变化的时间间隔设置在眼睛暂留时间内一般小于0.04S就可以,因此我们在横向扫描时触动水银开关,程序开始执行,因此就可以显示一幅完整的画面。

关于硬件的制作:首先当然是电路方面的设计,由于本热是第一次做单片机方面的东西,很多需要注意的事还得通过学习才能掌握,因此这次使用的原理图与网上找到的煤油什么分别,自己现将我的PCB展现如下,很丑陋的,经验不足元件参考:晶振:12MHZC1:20uF的电解电容,C2,C3:30pF的独石电容LED为IN4007稳压二极管K1为普通开关K2为水银开关LED(1~16)为3MM发光二极管用到的电阻都是10K,排阻由于买元件时没有考虑到,故自己焊接了电阻在对应的引脚元件买回来后开始是想按照网上的做成一个长条形状,因此很轻易的将一块万用板损坏,建议没有必要的工具千万不要乱裁剪万用板,得不偿失。

焊元件是很简单的事,只要按照原理图细心就是,下面是我焊的板子,比较丑陋的,不过毕竟是第一次啊,嘿嘿正面,将P1口的排阻焊在IC插槽内,比较美观背面就很差劲,特别是有线交叉的时候一定要测试好,避免短路我的一点点焊接方面的经验,在清除原理图的情况下,模块与模块之间要分开焊接,比如焊接起振模块时就不要去焊接其他模块,那样就不会漏掉要焊接的细节,比如接地和接电源。

最好是焊好一个模块后用万用表检查一遍,尽量减少错误的产生,当然最后一次检查是有必要的。

焊接时细心细心还是细心。

硬件具备好后就可以设计软件来调试了,通过原理图很清楚的知道,利用到单片机的资源很少,可以说只用到一些基本的IO借口,和一个外部中断,因此这也是我选择摇摇棒做我的第一个设计的原因,从简单的学起嘛。

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

基于51单片机的“摇摇棒”设计
本文中详细的描述了手工焊接时需要的一些注意事项,例如手工焊接过程当中该如何处理被焊接元件与PCB板的焊接方式;同时本文着重而且详细的介绍了AT89S51单片机的内部构造以及对应管脚的功能。通过本文的介绍可以对AT89S51单片机进行初步了解;在本文中还介绍了如何对AT89S51单片机进行程序烧录的具体步骤。
评定成绩:
指导教师签名:
年月日
基于51单片机的“摇摇棒”设计
摘要
随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,“摇摇棒”也随之成为一个热点产品。
本文介绍了以AT89S51单片机控制为主控芯片,再配合高亮度LED灯以及震动开关构成简易摇摇棒的设计过程,通过分时刷新16只发光二极管并配合手的左右摇晃来显示输出文字及图案等信息。最后显示出预先设计制作的效果。
第一章 设计任务及要求
1 摇摇棒(1)总体要求:设计个由AT89S51单片机控制的“摇摇棒”,对整体设计的电路有如下要求:控制电路的总开关、切换样式的按键式开关、显示电源的指示灯、供电方式为两节1.5V的干电池。
(2)操作要求:本次设计需要用到手工焊接电子产品的相关知识,要求焊接时无误且焊接的电子元器件没有发生短路或开路的不良状况。
The“shack-shack stick”ismade base on the sense of physical named”persistence of vision”.When you are shaking the stick, the eyesight will still on the surface, which made by the LED’s shiny.Then you could see a picture or some characters.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档