资源描述:
《摇摇棒使用说明书及下载说明》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、摇摇棒使用说明书版本:WT_SSSV2.0本摇摇棒为开发套件,全部采用直插的器件。显示的LED采用了5mm超高亮30度聚光发光二极管,共32只。控制芯片上采用了宏晶单片机STC11F03E,其内部有3K的程序存储空间,256字节的数据存储空间,另外其内部还有2K的EEPROM空间。设计可以通过串口,把下载的画面数据到内部的EEPROM,掉电后,也不会丢失。本遥遥棒设计采用4节5号电池,可是普通电池(供电电压每节1.5V),也可以是可充电电池(供电电压每节1.2V)。设计中有一个电源开关。两个按键,两个LED指示灯(可以用单片机控制)。设计原理:32只LED,采
2、用74HC595串联控制,数据是串进并出的。由单片机控制是只有三个数据线,DAT,CLK,RCK。DAT为串行数据输入引脚,CLK为串行数据的时钟,上升沿把数据存入74HC595芯片。RCK为二级锁存信号,上升沿把并行的数据输出到74HC595,来控制32个LED。设计原理图如下。在控制电路上,检测摇摇棒左右方向上,设计采用了一个水银开关,安装在摇摇棒的顶部,在摇摇棒左右摆到的时候,到底左边时,里面的水银把这个开关的触短路,通过上拉电阻,短路时,输出低电平。输出的低电平,接到单片机的中断引脚。12单片机的工作电路,就是复位电路,晶振电路。按键电路,按下低电平。
3、LED指示灯电路,低电平亮。程序控制:控制32个LED的程序:voiddisplay(){unsignedlongadd=0;//数据地址入口unsignedcharnum;//串行数据临时存放unsignedinti;add=n+prictur256;//计算切换图片地址入口num=tab2[add];//取出单行数据for(i=0;i<8;i++){CLK=0;//串行数据时钟,置低电平DAT=!(0x80&num);//把1位数据输出,经过取反与提取数据格式有关CLK=1;//串行数据时钟,置高电平,与上面低电平,产生上升沿num<<=1;//数据左移}
4、num=tab2[add+W_U];for(i=0;i<8;i++){CLK=0;DAT=!(0x80&num);CLK=1;num<<=1;}num=tab2[add+2W_U];for(i=0;i<8;i++){12CLK=0;DAT=!(0x80&num);CLK=1;num<<=1;}num=tab2[add+3W_U];for(i=0;i<8;i++){CLK=0;DAT=!(0x80&num);CLK=1;num<<=1;}RCK=0;//二级锁存,低电平RCK=1;//二级锁存,高电平,产生上升沿,并行控制LED}程序要控制,当检测到传感器有低电
5、平的时候,产生中断,先加一个延时,消除传感器抖动。然后把数据分时送到32只LED,利用人眼视觉残留。就会显示一幅画面。详细程序见附件。使用说明本套件为可二次开发的套件,设计中引出了单片机的下载引脚。为套件中的4个排针。引脚的顺序为VCC,TX,RX,GND。控制按键及指示灯的引脚列表:编号功能单片机引脚号引脚名字备注S4KEY18P3.4按下低电平S2KEY29P3.5按下低电平D34LED219P1.7低电平亮D33LED118P1.6低电平亮12附件1:12附件2://chenyongde//20090702//eepromtestprogram#incl
6、ude#include#include"eeprom.h"#include"ad.h"#defineW_U64#defineW_D64sbitDAT=P1^0;sbitCLK=P1^1;sbitRCK=P1^2;sbitLED_R=P1^6;sbitLED_L=P1^7;sbitKEY1=P3^4;sbitKEY2=P3^5;sbitDSEN=P3^2;intn=0;unsignedlongcnt=0;unsignedlongcnt1;unsignedlongcnt2;unsignedintflag_dis
7、=0;unsignedintflag_dis2=0;unsignedcharcodetab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0xff,0xf0,0x0f,0x55};unsignedcharcodetab2[]={0x00,0x01,0x01,0x01,0x0F,0x1F,0x1F,0x1F,0x0F,0x01,0x01,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x07
8、,0x0F,0x0F,0x0F,0x0