首页 基于视觉暂留原理的摇动显示装置.doc

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

举报
开通vip

基于视觉暂留原理的摇动显示装置.doc基于视觉暂留原理的摇动显示装置.doc 基于视觉暂留原理的摇动显示装置 刘庆宇 黑龙江八一农垦大学信息技术学院05电气 摇动显示装置”,俗称“摇摇棒”,是基于人的视觉暂留原理的,通过摘要:“ 分时刷新32个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。 关键字:单...

基于视觉暂留原理的摇动显示装置.doc
基于视觉暂留原理的摇动显示装置.doc 基于视觉暂留原理的摇动显示装置 刘庆宇 黑龙江八一农垦大学信息技术学院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:系统硬件原理图 二、系统软件 系统开始运行,内部进行初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关出触发外部中断,再经过一段时间延时后开始显示。显示完成返回主程序,等待下一个摇动周期的到来。 程序清单如下: #include #define uchar unsigned char #define uint unsigned int #define out P1 //数据输出端口 sbit led1=P3^2; //第1组LED sbit led2=P3^4; //第2组LED sbit led3=P3^5; //第3组LED led4=P3^7; //第4组LED sbit uchar code disp_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}; void delay(n); //延时子程序 void display(); //显示子程序 void main() { EX1=1; //开放外部中断1 IT1=0; //中断1为边沿触发方式 EA=1; while(1); } void display() {uchar i,n; n=0; //初始化数据表计数 for(i=0;i<48;i++) //共显示16*3=48列 { out=0xff; //清显示 led4=1; //关闭第4组LED led1=0; //开启第1组LED out=disp_tab[n++]; //输出数据到LED delay(20); //延时 out=0xff; //清显示 led1=1; //关闭第1组LED led2=0; //开启第2组LED out=disp_tab[n++]; //输出数据到LED delay(20); //延时 out=0xff; //清显示 led2=1; //关闭第2组LED led3=0; //开启第3组LED out=disp_tab[n++]; //输出数据到LED delay(20); //延时 out=0xff; //清显示 led3=1; //关闭第3组LED led4=0; //开启第4组LED out=disp_tab[n++]; //输出数据到LED delay(20); //延时 } } void delay(n) { uchar i; for(;n>0;n--) { for(i=0;i<7;i++); } } void int1() interrupt 2 //使用外部中断1 { uint i=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;i<48;i++)为 for(i=0;i<64;i++) 四、结论 本文以传感器和单片机的实际应用为背景,介绍了以单片机和传感器为核心系统摇动传感器和显示设计的基本结构和基本原理。 本文将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用32个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。 设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。
本文档为【基于视觉暂留原理的摇动显示装置&#46;doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_871676
暂无简介~
格式:doc
大小:63KB
软件:Word
页数:8
分类:生活休闲
上传时间:2017-09-02
浏览量:10