为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于视觉暂留原理的 摇动 显示 装置

2017-09-01 7页 doc 20KB 18阅读

用户头像

is_682974

暂无简介

举报
基于视觉暂留原理的 摇动 显示 装置基于视觉暂留原理的 摇动 显示 装置 基于视觉暂留原理的摇动显示装置 刘庆宇 黑龙江八一农垦大学信息技术学院05电气 摘要:"摇动显示装置",俗称"摇摇棒",是基于人的视觉暂留原理的,通过分时刷新32个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。 关键字:单片机;摇摇棒;发...
基于视觉暂留原理的 摇动 显示 装置
基于视觉暂留原理的 摇动 显示 装置 基于视觉暂留原理的摇动显示装置 刘庆宇 黑龙江八一农垦大学信息技术学院05电气 摘要:"摇动显示装置",俗称"摇摇棒",是基于人的视觉暂留原理的,通过分时刷新32个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。 关键字:单片机;摇摇棒;发光二极管;摇动 前言:随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。 一、系统硬件 系统功能主要体现在3个部分: (1)单片机控制(STC12C2052) 本装置采用了STC12C2052单片机,它支持直接通过串口线下载程序,对于本设计而言,显示文字需经常改变,STC12C2052方便许多,因此选择STC12C2052作为本设计所用的单片机。 (2)显示功能。(D1~D32) 信息传递主要由显示来完成,本设计显示功能由32个发光二极管来完成。32个发光二极管分为4组,以共阳的方式连接,共用P1口作为数据输出口。另外4条I/O口作为段选,通过三极管选通相应段。 (3)传感器系统。(S2) 硬件传感器主要为摇动传感器,本设计的摇动传感器由滚珠开关构成。 可选摇动开关有水银摇动开关和滚珠开关两种。水银摇动开关稳定性较高,但容易发生破裂,水银外泄,安全性较差。滚珠开关稳定性稍差,但不容易损坏,安全度很高。考虑到实际应用环境,故选用滚珠开关作为系统的摇动传感器。由滚珠开关带来的不稳定性可以通过软件进行弥补。 图1:滚珠开关内部结构图 另外D_B1和D_B2为装饰用的蓝色发光二极管,J1为串口,供下载程序用。J2和J3为电池盒插座。 图2:系统硬件原理图 二、系统软件 系统开始运行,内部进行初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开始显示。显示完成返回主程序,等待下一个摇动周期的到来。 程序清单如下: #includereg52.h #defineucharunsignedchar #defineuintunsignedint #defineoutP1//数据输出端口 sbitled1=P3^2;//第1组LEDsbitled2=P3^4;//第2组 LEDsbitled3=P3^5;//第3组LEDsbitled4=P3^7;//第4组 LEDucharcodedisp_tab= {0xFF,0xFF,0x0F,0xFF, 0xFF,0x9F,0xFF,0xFF, 0xFF,0xCF,0x00,0x80, 0xFF,0xE7,0x00,0x80, 0xFF,0xF3,0xEF,0xFF, 0xFF,0xF8,0xDF,0xFF, 0x00,0xFC,0x8F,0x9F, 0x00,0xFE,0x81,0x9C, 0x7F,0xFC,0xE1,0x9C, 0xFF,0xF9,0xE7,0x9C, 0xFF,0xF3,0x00,0x80, 0xFF,0xE7,0x00,0x80, 0xFF,0xCF,0xE7,0x9C, 0xFF,0x9F,0xE7,0x9C, 0xFF,0xDF,0xE7,0x9F, 0xFF,0xFF,0xFF,0xFF, 0xFF,0xDF,0xFF,0xF7, 0xCF,0xCF,0xE7,0xE7, 0xCF,0xE7,0xE7,0xF3, 0xCF,0xF7,0xE7,0xF9, 0xCF,0xE3,0x67,0xF0, 0xCF,0xC9,0x27,0xF2, 0xCE,0xDC,0x07,0xF3, 0x48,0x9E,0x00,0x80, 0x09,0x9F,0x00,0x80, 0x8F,0x9F,0x27,0xF3, 0x8F,0x9F,0x67,0xF2, 0xCF,0x9F,0xE7,0xF0, 0xCF,0x9F,0xE7,0xF9, 0xCF,0x9F,0xE7,0xF3, 0xFF,0x9F,0xE7,0xF7, 0xFF,0xFF,0xFF,0xFF, 0xFF,0xFD,0xFF,0xFF, 0xE7,0xFC,0xFF,0xFD, 0x64,0xFE,0xBB,0x85, 0x20,0x80,0x2A,0x85, 0x01,0x80,0x28,0xD4, 0x47,0xFC,0xA9,0xD4, 0x3F,0x99,0xAB,0xD5, 0xB3,0xCF,0x03,0xD4, 0xF3,0xE3,0x03,0xD4, 0x03,0xF0,0xA9,0xD5, 0x03,0x9C,0xA8,0xD4, 0xF3,0x9F,0x2A,0x84, 0xF3,0x8F,0x2B,0x85, 0x03,0xC0,0xBB,0xFD, 0x03,0xE0,0xFF,0xFD, 0xFF,0xFF,0xFF,0xFF}; voiddelay(n);//延时子程序 voiddisplay();//显示子程序 voidmain() { EX1=1;//开放外部中断1IT1=0;//中断1为边沿触发方式 EA=1; while(1); } voiddisplay() {uchari,n; 初始化数据表计数 n=0;// for(i=0;i48;i++)//共显示16*3=48列 { out=0xff;//清显示 led4=1;//关闭第4组LEDled1=0;//开启第1组LEDout=disp_tab[n++];//输出数据到LEDdelay(20);//延时 out=0xff;//清显示 led1=1;//关闭第1组LEDled2=0;//开启第2组LEDout=disp_tab[n++];//输出数据到LEDdelay(20);//延时 out=0xff;//清显示 led2=1;//关闭第2组LEDled3=0;//开启第3组LEDout=disp_tab[n++];//输出数据到LEDdelay(20);//延时 out=0xff;//清显示 led3=1;//关闭第3组LEDled4=0;//开启第4组LEDout=disp_tab[n++];//输出数据到LEDdelay(20);//延时 } } voiddelay(n) { uchari; for(;n0;n--) { for(i=0;i7;i++); } } voidint1()interrupt2//使用外部中断1 { uinti=5000;//延时一段时间开始显示 out=0xff; while(i--); display();//显示 } 三、"pctolcd2002"软件使用方法 程序中"字符点阵数据表"中的数据是由"pctolcd2002"软件生成的,下面介 绍使用pctolcd2002生成3个×2行的汉字点阵数据的方法: 1、启动pctolcd2002软件,"模式"设为"字符模式"。字宽和字高设为 16*16。"选项"中的"自定义格式"选择"C51"格式。其它默认即可。 2、输入第一行的三个(或四个)汉字,生成字模。 例如: {0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11} {0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22} {0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33} 3、将字模保存好,输入第二行的三个(或四个)汉字,生成字模。 例如: {0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44} {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55} {0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66} 4、由于摇摇棒是逐列扫描,需要将同一列上下两行16位的数据组成一列 32位数据。 按上面的数据,组合后为: {0x11,0x11,0x44,0x44, 0x11,0x11,0x44,0x44, 0x11,0x11,0x44,0x44, 0x11,0x11,0x44,0x44, 0x22,0x22,0x55,0x55, 0x22,0x22,0x55,0x55, 0x22,0x22,0x55,0x55, 0x22,0x22,0x55,0x55, 0x33,0x33,0x66,0x66, 0x33,0x33,0x66,0x66, 0x33,0x33,0x66,0x66, 0x33,0x33,0x66,0x66}; 5、将数据替换,如每行显示4个汉字则修改程序for(i=0;i48;i++)为for(i=0;i64;i++) 四、结论 本文以传感器和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计的基本结构和基本原理。 本文将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用32个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。 设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。
/
本文档为【基于视觉暂留原理的 摇动 显示 装置】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索