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

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

基于单片机的摇摇棒设计摘要随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,摇摇棒也随之成为一个热点产品。
“摇摇棒”是基于人眼视觉暂留原理而产生的, 当进行摇动时,由于人的视觉暂留会在发光二极管摇动区域产生一个视觉平面,从而达到在该视觉平面上传达信息的作用。
本文介绍了以STC11F02E单片机控制为主控芯片、配合高亮度LED二极管以及水银开关构成简易摇摇棒的设计过程,通过分时刷新32个发光二极管来显示输出文字或图案等信息。
关键词:单片机,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 STC11F02E 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:shaking his stick, SCM, LED, the mercury switch1摘要 (1)ABSTRACT (1)第1章绪论 (3)1.1概述 (3)1.2设计目的 (4)1.3设计要求 (4)1.4设计思路 (4)1.5摇摇棒的基本原理 (4)第2章基于单片机的摇摇棒方案设计 (6)2.1硬件设计与实现 (6)2.2LED灯的选择 (6)2.2外部中断信号产生方式 (6)2.3抗重影方案的选择 (7)2.5主程序流程图 (7)2.6STC11F02E单片机简介 (8)第3章关于一些元器件的介绍 (11)3.1LED发光二极管的原理 (12)3.2LED显示控制模块原理及实现方法 (12)3.3LED显示模块 (13)3.4图像点阵原理及实现方法 (13)3.5滚珠开关 (14)滚珠开关的应用领域: (15)第4章硬件电路的设计 (16)4.1单元电路设计 (16)4.2LED电路图设计 (17)第5章软件设计 (17)5.1程序流程图 (17)25.2程序代码 (18)第6章缺陷及其解决方案 (26)6.1缺陷 (26)6.2解决方案 (26)6.3硬件电路调试 (26)6.4软件程序调试 (27)6.5调试现象与分析 (27)参考文献 (28)附录1 (28)附录2 (31)附录3 (32)附录4 (33)附录5 (34)第1章绪论1.1概述随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。
基于单片机的摇摇棒设计

基于单片机的摇摇棒设计摇摇棒是一种可以发出声音和光线的玩具,通过挥动摇摇棒,可以产生不同的声音和光线效果。
本文将介绍一个基于单片机的摇摇棒设计。
设计的摇摇棒主要由以下几个部分组成:单片机、声音发生器、光敏电阻、LED灯和蜂鸣器。
首先,我们选择了一块适用于这个项目的单片机。
在本设计中,我们选择了AT89S52单片机,因为它拥有较高的性能和丰富的接口。
其次,我们需要一个声音发生器来产生不同的声音效果。
我们选择了一个简单的脉冲宽度调制(PWM)声音发生器模块,通过改变PWM的占空比来改变声音的高低音。
然后,为了在摇动棒时产生声音和光线效果,我们使用了一个光敏电阻。
当摇动棒快速晃动时,光敏电阻会感知到光线变化,并通过单片机的模拟输入引脚将信号传递给单片机。
单片机根据接收到的信号来改变声音和光线的效果。
此外,我们还添加了一颗LED灯和一个蜂鸣器来增加摇动棒的趣味性。
当摇动棒晃动时,LED灯会闪烁并发出不同的颜色,蜂鸣器也会发出声音。
我们通过单片机的输出引脚将信号发送给LED灯和蜂鸣器,以控制它们的工作状态。
最后,我们使用编程语言来编写单片机的程序。
程序的功能是根据摇动棒的晃动情况来产生不同的声音和光线效果。
例如,在摇动棒缓慢晃动时,声音发生器会产生低音并使LED灯缓慢闪烁。
而在摇动棒快速晃动时,声音发生器会产生高音并使LED灯快速闪烁。
通过以上的设计,我们可以制作一个基于单片机的摇摇棒。
用户可以通过摇动棒来产生不同的声音和光线效果,增加了玩具的趣味性和可玩性。
综上所述,本文介绍了一个基于单片机的摇摇棒设计。
通过选择合适的单片机和相关组件,并编写相应的程序,我们可以制作出一个具有声音和光线效果的摇摇棒。
这个设计不仅可以增加玩具的趣味性,还可以培养孩子们对电子技术的兴趣和学习能力。
摇摇棒课程设计报告

电子工艺工程设计报告书
ห้องสมุดไป่ตู้
课程名称:基于单片机的摇摇棒
学院(系): 电子与信息工程学院
年级专业:2012 级电子信息工程(自动化)
学 号: 201207014338
学生姓名: 王 平 山
指导教师: 谢
辉
教师职称: 教
授
成 绩:
制作日期 2015 年 6 月` 8 日
电子工艺课程设计
目录
一、作品摘要…………………………………………………2 二、作品说明…………………………………………………2 三、工艺流程…………………………………………………3 四、系统总体设计……………………………………………5 五、硬件设计…………………………………………………7 六、软件设计…………………………………………………8 七、系统调试与分析…………………………………………9 八、课程作品制作体会………………………………………11 九、附录………………………………………………………12
拍摄照片:
-9-
电子工艺课程设计 - 10 -
电子工艺课程设计
八、课程作品制作体会
通过两周时间的摸索我们完成了摇摇棒的设计与原理图的绘制,本次设计以传感器 和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计 的基本结构和基本原理。本次将使用单片机对摇动显示进行实例化,设计一个 LED 摇动显 示器来显示文字、图像等信息。掌握利用 8051 型单片机对发光二极管阵列进行摇动控制 的方法。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用 16 个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。 当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在 视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉 平面上传达信息的作用。
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摇摇棒姓名:宋璐迪学号:08060113209专业班级:电气132班指导教师:李振凯完成时间:2016年6月13日目录目录 (1)一、绪论 (2)二、设计方案 (3)三、预备知识 (3)3.1元件简介 (3)3.1.1、STC89C52 (3)3.1.2、晶振 (3)3.1.3、水银开关 (4)3.2其他 (4)四、硬件原理介绍 (5)4.1原理总述 (5)4.2硬件详解 (5)4.2.1 电源电路: (5)4.2.2 时钟电路: (6)4.2.3 复位电路: (6)4.2.4 水银开关与按键切换电路: (7)4.2.5 LED显示电路: (7)五、程序功能解析 (8)5.1程序流程图 (8)5.2程序解析 (8)5.2.1主函数 (9)5.2.2中断函数 (9)5.2.3显示子程序 (9)5.2.4延时子程序 (10)六、原料清单 (11)七、设计心得体会 (12)八、参考文献 (13)九、附录 (14)一、绪论本次设计主体是LED摇摇棒。
LED摇摇棒是利用人眼的视觉暂留特性,通过摇晃过程中LED的有规律变换,给人呈现出不同画面。
这是其理论要求。
而为了实现这样的要去,在LED的控制上我们采用单片机的程序控制,辅助以水银开关的抖动触发,以实现摇摇棒在摇晃中的有规律显示。
在拓展功能上以按键次数的累积对画面进行切换。
之所以选择这样一个课题,源于以下几点:一、富有趣味性的工作原理。
二、软硬件的高度结合有利于对学业成果的检测,且在实际操作中能显著提升我们对电子设备的认知。
三、该物件的经验积累足够丰富,对初学者而言有更多的借鉴资源。
二、设计方案在本次设计中,以单片机I/O口的高低电平的输出实现对LED的控制;以外部中断的形式触发图形显示程序的运行,因该外部中断的要求并不是很高,所以选用水银开关实现该功能;第三部分也就是如何实现图形的切换,我们以对某一I/O口的输入计数方式已选择不同程序段的运行实现图形的切换。
基于SST51单片机的梦幻摇摇棒汇总

基于SST51单片机的梦幻摇摇棒一、任务设计并制作一个梦幻时钟摇摇棒,系统逻辑控制框图大致如下所示:二、要求设计并进行理论分析,绘制相应的实验原理图、电路图等,并确定其实验验证方法(通过人手臂的挥动显示还是通过电动机带动旋转,或者通过相应的按键等进行相应的选择等其他方法)。
实验的最终结果必须包含设计作品和相关文档资料。
1、简单题:制作简单手摇式摇摇棒(50分)1)显示HUST.STI(20分)2)显示一个简单动画(20分)3)其他创意(10分)2、提高题:将摇摇棒固定到旋转电机(可以使用电风扇的电机)上,制作钟式摇摇棒(100分)1)显示HUST.STI(20分)2)显示一个稳定的石英钟画面,包括数字1-12、刻度及分针、秒针(30分)3)让分针、秒针走起来(30分)4)其他创意,如对钟的遥控、数字钟、显示动画等(20分)3、其他创意除了将摇摇棒固定到电机上以外,若有其他炫的创意,也一并鼓励。
就摇摇棒制作来说,好看、好玩、有新意,就是我们的宗旨。
三、评分标准.四、附加说明1、如果采用中断技术,应注意中断的优先级;2、如果采用可以调节的显示方式应该注意显示的图像的复杂程度和人眼的滞留效应的影响;3、采用不同的摇动方式的时候,要注意不同的控制方式和频率的变化速度;4、绘制电路应采用相关工具软件,并进行相应的仿真,验证可行性和正确性;5、对于数字、汉字等进行编码的时候可以采用“字模提取”等相应的软件。
题目分析1 原理及制作基本手摇式摇摇棒的制作是相对简单的,无非是单片机加一排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万字。
基于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)人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。
基于单片机的摇摇棒设计

五、任务完成的阶段内容和时间安排:
第一阶段: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摇摇棒,就会在棒子划过的轨迹上留下清析的文字或图案。目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。
基于单片机的显示摇摇棒的设计

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

三,撰写报告报告格式:(1)封面:格式见附表(2)正文:题目:基于单片机POV的魔幻棒的设计(三号黑体)西安科技大学高新学院机电信息学院姓名(5号宋体)摘要:(摘要内容小四宋体)(正文包括引言、界面设计、程序设计、调试和结论部分,也可根据需要自己安排内容,不一定按照给出的格式写,但是字体字号需按照要求写,正文采用小四宋体,1.5倍行间距,段前断后各0.5行)1 引言LED 显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
可以用“静如处子,动如脱兔”来形容它,即当静止,它只有几个LED灯在发光,而如果按照一定的频率去摇晃它,就会随着位置变化而变化,最终显示预想的文字或者图片。
本设计要求制作LED显示棒。
通过摇晃时形成的亮灯区域能分辨出:“蓝色”两个字。
2 硬件设计3软件设计#include <reg52.h>#define uchar unsigned char#define uint unsigned int //宏定义//显示汉字指针unsigned char code hanzi[] ={0x00, 0x00, //●●●●●●●●●●●●●●●● 0x04, 0x40, //●●○●●●●●●●●●●●○● 0x24, 0x40, //●●○●●○●●●●●●●●○● 0x24, 0x40, //●●○●●○●●●●●●●●○● 0xa4, 0x7d, //●●○●●○●○○●○○○○○● 0x64, 0x44, //●●○●●○○●●●○●●●○● 0x2f, 0x44, //○○○○●○●●●●○●●●○● 0x74, 0x7c, //●●○●○○○●●●○○○○○● 0x84, 0x45, //●●○●●●●○○●○●●●○● 0x04, 0x7c, //●●○●●●●●●●○○○○○● 0xf4, 0x47, //●●○●○○○○○○○●●●○● 0x0f, 0x44, //○○○○●●●●●●○●●●○● 0x04, 0x7c, //●●○●●●●●●●○○○○○● 0xe4, 0x41, //●●○●●○○○○●●●●●○● 0x04, 0x40, //●●○●●●●●●●●●●●○● 0x04, 0x40 //●●○●●●●●●●●●●●○●0x00, 0x00, //●●●●●●●●●●●●●●●● 0x00, 0x00, //●●●●●●●●●●●●●●●● 0x00, 0x78, //●●●●●●●●●●●○○○○● 0x00, 0x40, //●●●●●●●●●●●●●●○● 0xe4, 0x43, //●●○●●○○○○○●●●●○● 0x2c, 0x42, //●●○○●○●●●○●●●●○● 0x34, 0x42, //●●○●○○●●●○●●●●○●0x24, 0x42, //●●○●●○●●●○●●●●○● 0xe4, 0x43, //●●○●●○○○○○●●●●○● 0x24, 0x42, //●●○●●○●●●○●●●●○● 0x26, 0x42, //●○○●●○●●●○●●●●○● 0x28, 0x42, //●●●○●○●●●○●●●●○● 0xf0, 0x3f, //●●●●○○○○○○○○○○●● 0x20, 0x00, //●●●●●○●●●●●●●●●● 0x40, 0x00, //●●●●●●○●●●●●●●●● 0x00, 0x00 //●●●●●●●●●●●●●●●●};/*****n(us)延时子程序*****/void DelayUs(uint N){uint x;for(x=0; x<=N;x++);}void init(){EA=1;EX0=1;IT0=0;}/*****主函数*****/void main(void){int i = 0;init();int disp = 0;while(1){for(i=0;i<64;i++)//12 个汉字分为 3 次显示完(每次显示 4 个),每中断 10 次切换{P0=~hanzi[disp*128+i*2];P2=~hanzi[disp*128+i*2+1];DelayUs(100);}4 调试单片机应用系统的硬件调试和软件调试是分不可的,许多硬件故障是在调试软件时才发现的。
基于单片机的神奇摇摇棒毕业设计

毕业设计基于单片机的神奇摇摇棒毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
摇摇棒课程设计(基于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点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。
单片机--摇摇棒

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就可以,因此我们在横向扫描时触动水银开关,程序开始执行,因此就可以显示一幅完整的画面。简单吧。
基于单片机的摇摇棒课程设计

基于单片机的摇摇棒课程设计郑州科技学院《单片机原理及应用》课程设计1 课程设计的目的 .................................................... 1 2 课程设计的任务与要求 (2)2.1 设计目的 ........................................................ 2 2.2 设计要求 .. (2)3 设计方案与论证....................................................33.1 LED灯的选择 (3)3.2 外部中断信号产生方式 ................................ 3 3.3 抗重影方案的选择 ........................................ 3 3.4 单元电路设计 ................................................ 5 3.5 主程序流程图 (6)4 硬件电路设计 (8)4.1 根本原理图 ....................................................8 4.2 各局部功能 ....................................................9 4.3 系统硬件 .......................................................10 4.4 传感器系统 ...................................................105 系统软件设计 (11)5.1 软件设计思路 (11)5.2 主程序流程 (12)5.3 软件实现功能的完善 (13)6 试验与仿真 (13)6.1 硬件调试方法 (13)6.2 软件调试方法 ............................................... 14 7 结论 .................................................................. .. (16)参考文献 .................................................................. ... 18 附录1:总体电路原理图 .........................................19 附录2:源程序 (20)1 课程设计的目的单片机是随着大规模集成电路的出现极其开展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:〔1〕最小应用系统是指能维持单片机运行的最简单配置的系统。
摇摇棒课程设计02汇总

第1章绪论1.1单片机定义单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
STC89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
自动化、数字化和智能化是现代科技发展的潮流,而凡是需要自动化、数字化和智能化的产品和设备等都离不开单片机。
1.2单片机介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
随着现代电子技术的发展,人们正处在一个信息时代。
每天都要通过电视,广播,通信,互联网等多种媒体获取大量的信息。
而现代信息的储存,处理和传输越来越趋于数字化。
在人们的日常生活中,常用的那个计算机,电视机,音响系统,视频记录设备,长途电信等电子设备或电子系统,无一不采用数字电路或数字系统。
因此,数字电子技术的应用越来越广泛。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课设LED摇摇棒LED摇摇棒制作摘要:“摇摇棒”是基于人的视觉暂留原理的,通过分时刷新16个发光二极管来显示输出文字或图案等信息的显示装置。
输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。
当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。
关键字:单片机;摇摇棒;发光二极管;摇动自动化071 鲍旭创程波杨辉一、引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。
可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED),而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。
本设计要求制作完成一个LED的显示棒。
通过考虑我们小组决定制作一个摇摇棒显示“应科院”三个字。
二、系统设计方案1.设计思路本系统要求设计一个LED显示棒,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示:图1:LED显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。
2.模块方案的论证与比较2.1 LED灯的选择方案一:传统LED发光二极管。
颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。
方案二:高亮LED发光二极管。
正如其名,它的亮度比传统二极管要亮,而单片机课设LED摇摇棒且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。
在本次课程设计中我们选用的为红色高亮LED发光二极管。
2.2 外部中断信号产生方式使用水银开关。
通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。
三、系统硬件设计1.总体设计经过分析论证,我们决定了系统各模块的最终方案,流程图如下:图2:LED显示棒系统原理框图2.单元电路设计首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。
它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取……依次循环下去,一幅完整的图案就显示在了显示屏上。
而本次设计的LED显示棒数据传输原理与LED点阵屏相似。
可以把LED 显示棒看成是LED点阵屏中的一列。
为了使显示的图案清晰,我们使用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行×1列。
数据传输时我们同样使用行送数据、列扫描。
在摆动过程中,应用视觉暂留原理,我们点自动化071 鲍旭创程波杨辉亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。
由于本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。
它的最小系统包括晶体振荡电路、复位开关和电源部分。
图3为AT89C52单片机的最小系统。
图3 AT89C52单片机最小系统3.原理图的设计根据分析和综合考虑我们采用单片机的P1口和P2口输出,P3.2作为水银开关的控制口。
因此我们设计出整个原理图。
(见附表二)四、系统软件设计1.软件设计思路在摇动LED 棒的时候单片机必须单程送数据否则显示的图形会产生重影,影响视觉效果。
因此当系统开始工作后通过惯性开关的位置来使单片机实现单程送数据给LED。
如果水银开关位于右边,则进入外部中断T1并将一变量置1。
在变量为1期间让单片机以一定的频率将数据送给LED。
如果惯性开关位于左边,则进入外部中断T0并将变量置0,在这期间单片机不会送数据给LED。
在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。
之后再立刻熄灭LED并开始重新判断水银开关的位置单片机课设LED摇摇棒2.系统流程图图4.系统流程图3.软件实现功能的完善本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。
第二个难点是当显示如“Welcome”这类较长字符时不能完整的显示在一次摇摆的扇形区域内。
通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有间断的问题。
综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。
4.程序的编写自动化071 鲍旭创程波杨辉本次程序的编写我们采用C语言编写。
因为考虑到文字矩阵的难度,我们引入一款文字软件,直接将文字转换成C语言点阵格式。
程序详细内容见附表三。
五、硬件和软件的调试1.硬件部分调试首先检查焊接板的焊接情况,是否焊接无误、是否有虚焊漏焊、跳线是否有接错……接着利用万用表检查高亮LED发光二极管是否完好。
确认无误后通过写入检测程序:我们做的摇摇棒利用的是单片机的P1口和P2口,因此我们将P1口和P2口写为低电平看16个高亮LED发光二极管是否正常亮。
在确认正常亮后,改写检测程序,设置为闪亮状态。
确认正常后检测水银开关时候能正常工作。
继续写入检测程序(P3.2口低电平工作)。
在水银开关检测结束后确定硬件无问题。
2.软件部分调试程序编写调试采用循序渐进的方法,一步步编写一步步调试。
我们引入插针直接用插线给摇摇棒提供五伏电源,这样能很方便的写入程序并且调试。
就这样一步步调试到最后成功。
单片机课设LED摇摇棒总结:在李振凯老师和李明辉老师的帮组和指导下,我们顺利完成了本次课程设计。
虽然在途中我们也遇到了很多问题,但都一一解决。
在本次课程设计中我们也学到了很多。
比如材料的适当选取,硬件的制作,电路板的排版和焊接,C语言程序的编写以及软硬件的调试……正是通过这样的锻炼,我们才将我们所学到的东西得以很好的实践,真正做到理论和实践的结合,学以致用。
我们希望在将来的学习中还能有这样的机会,锻炼自己。
让自己学到更多。
自动化071 鲍旭创程波杨辉参考文献:[1]《电子技术基础数字部分》康华光编高等教育出版社[2]《单片机C51程序设计教程与实验》祁伟杨亭编北京航空航天大学出版社[3]《LED及其工程应用》杨清德康娅编人民邮电出版社[4]《C程序设计》谭浩强编清华大学出版社[5]《全国大学生电子设计竞赛试题精解选》陈永真编电子工业出版社单片机课设LED摇摇棒附录:附录1:元器件明细表:1、单片机89C52RC 1片2、红色发光二极管16只3、11.0592M晶振1个4、10K电阻2个5、水银开关1个6、10uf电容1个7、30pf电容2个8、3V电池2个9、开关1个自动化071 鲍旭创程波杨辉附录二:原理图单片机课设LED摇摇棒附录三:系统程序#include <reg52.h>char KY; //乒乓开关unsigned char code GB_16[] = //显示字的字模{////// 应(0) 科(1) 院(2)//0x00,0x02,0x00,0x1C,0x3F,0xE0,0x22,0x04,0x21,0x04,0x20,0xF4,0x28,0x24 ,0xA4,0x04,//0x63,0xC4,0x21,0x0C,0x20,0x34,0x20,0xC4,0x27,0x04,0x22,0x04,0x00,0x04 ,0x00,0x00,//应0//0x08,0x20,0x48,0x40,0x49,0x80,0x4E,0x00,0x7F,0xFF,0x8A,0x00,0x89,0x20 ,0x00,0x20,//0x44,0x20,0x33,0x40,0x00,0x40,0x00,0x40,0xFF,0xFF,0x00,0x80,0x00,0x80 ,0x00,0x00,//科1//0x7F,0xFF,0x40,0x00,0x4C,0x40,0x52,0x20,0x61,0xC1,0x30,0x82,0x24,0x8C ,0x24,0xF0,//0xA4,0x80,0x64,0x80,0x24,0xFE,0x24,0x81,0x24,0x81,0x30,0x81,0x20,0x8F ,0x00,0x00//院2////};///*延时函数*/void DelayUs(unsigned int N)自动化071 鲍旭创程波杨辉{unsigned int x;for(x=0; x<=N;x++);}/*中断显示函数*/void intersvr0(void) interrupt 0 using 1 {int i;KY=~KY;if(KY==0){DelayUs(5000);for(i=0;i<48;i++){P2=~GB_16[i*2];P1=~GB_16[i*2+1];DelayUs(58);P2=0xff;P1=0xff;}}}/*演示主程序*/void main(void){IT0=1;EX0=1;EA=1;KY=0;单片机课设LED摇摇棒P2=0xff;P1=0xff;while(1){}}。