首页 摇摇棒程序与电路设计

摇摇棒程序与电路设计

举报
开通vip

摇摇棒程序与电路设计摇摇棒程序与电路设计 16只LED发发发发发发发发发发发发发发发发发发发光管作画面一列的示,左右晃起到了描的作每用,人眼的留象使得看到的是一幅完整的画面。与发发发发发发发发发发发发发发发发发发发发发LED点的示有几分相仿。发发发发发发发发发发硬件路如下,点可放大,。系源发发发发发发发发发发发发发发发发发VCC发5V,下程序和一定要保发发发发发发发发发发发发5V发发发发发发发发,使用用3发发发发发干池串4.5V即可。AT89S52发发发发发发发发发片机作控制器,在它的P0、P2口接有16只以共阳的方式接的高亮度发发...

摇摇棒程序与电路设计
摇摇棒程序与电路设计 16只LED发发发发发发发发发发发发发发发发发发发光管作画面一列的示,左右晃起到了描的作每用,人眼的留象使得看到的是一幅完整的画面。与发发发发发发发发发发发发发发发发发发发发发LED点的示有几分相仿。发发发发发发发发发发硬件路如下,点可放大,。系源发发发发发发发发发发发发发发发发发VCC发5V,下程序和一定要保发发发发发发发发发发发发5V发发发发发发发发,使用用3发发发发发干池串4.5V即可。AT89S52发发发发发发发发发片机作控制器,在它的P0、P2口接有16只以共阳的方式接的高亮度发发发发发发LED,由片机出低平点亮。发发发发发发发发发发发P0口的上拉阻发发RA1不能少。串在LED公共端的二极管D1会生一定的降,用来保发发发发发发发发发发发发LED,发发发LED点亮两端发发发发发发3V左右,在LED的安全承受范内。发发发K1是画面切,用于切发发发发发发发发发示不同内容,S1发发发发发水。 水的作用:棒在,只能在朝某一方向示,发发发发发发发发发发发发发发发发发发发发发发发发发发发 否会出像字或像画面,所以通接一只水来控发发发发发发发发发发发发发发发发发发发发发发发发发发 制,使棒从左向右将内容示出来。发发发发发发发发发发发发发发发发发发 硬件制作: 使用的是直径5mm的色高亮发发发发LED,感太大了些,看效果很好但发发发发发发发发发发发发发近看字不。建使用直径发发发发发发发发发发发发发发3mm的高亮LED,色可根据个人喜好。发发发发发发发发发发发发 水里的水珠很活,致在接通容易生抖,所以发发发发发发发发发发发发发发发发发发发发发发发发发发发 将水斜向上放置,尖尖朝斜上方发发发发发发发发发发发发发发发45?角,,靠水珠自身重力的作用减少抖:发发发发发发发发发发发发发发 IC座里面藏元件,既美又能保元件:发发发发发发发发发发发发发发发 软软软软件: /********************************************************** 程序名称:LED发发发发棒示64*16像素 发发发发发发发发发发要明:外部中断方式INT0发发发发发发发发发发示,取模方式:向取模、字倒序 发 写:JiangX.net 最后更新:08/11/15发 **********************************************************/ #include #define uchar unsigned char #define uint unsigned int //宏定发 #define KEY P3_0 //定画面切按发发发发发发发 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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*LOVE*/ }; uchar code loveyou[] = { 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,/*心形发 案*/ }; uchar code hehe[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*呵呵 o(?_?)o发案*/ }; unsigned char code hanzi[] = { //-- rong -- 0x84,0x10,0x64,0x10,0x24,0x08,0x24,0x05, 0xAF,0xFC,0x24,0x46,0x24,0x45,0xB4,0x44, 0x24,0x45,0x24,0x46,0xAF,0xFC,0x24,0x05, 0x24,0x08,0xA6,0x18,0x64,0x08,0x00,0x00, 0x84,0x10,0x64,0x10,0x24,0x08,0x24,0x05, 0xAF,0xFC,0x24,0x46,0x24,0x45,0xB4,0x44, 0x24,0x45,0x24,0x46,0xAF,0xFC,0x24,0x05, 0x24,0x08,0xA6,0x18,0x64,0x08,0x00,0x00, //"xin", 0x00,0x40,0x00,0x30,0xFC,0x0F,0x44,0x00, 0x44,0x00,0xC2,0x7F,0x43,0x80,0x42,0x40, 0x20,0x30,0x1F,0x0C,0xD0,0x03,0x10,0x0C, 0x10,0x30,0x50,0xC0,0x30,0x40,0x00,0x00, 0x00,0x40,0x00,0x30,0xFC,0x0F,0x44,0x00, 0x44,0x00,0xC2,0x7F,0x43,0x80,0x42,0x40, 0x20,0x30,0x1F,0x0C,0xD0,0x03,0x10,0x0C,0x10,0x30,0x50,0xC0,0x30,0x40,0x00,0x00,//"幸", 0x20,0x00,0x20,0x08,0x24,0x09,0x24,0x09,0x64,0x09,0xA4,0x09,0x24,0x09,0x3F,0xFF,0x24,0x09,0xA4,0x09,0x64,0x09,0xA6,0x09,0x24,0x0D,0x30,0x08,0x20,0x00,0x00,0x00, //"福", 0x10,0x02,0x10,0x01,0x91,0x00,0xD6,0xFF,0xB0,0x00,0x02,0xFF,0x7A,0x49,0x4A,0x49,0x4A,0x49,0x4A,0x7F,0x4A,0x49,0x4A,0x49,0x7B,0x49,0x82,0xFF,0x00,0x01,0x00,0x00, //-- 快 -- 0x80,0x00,0x70,0x00,0x00,0x00,0xFF,0xFF,0x10,0x82,0x20,0x42,0x10,0x22,0x10,0x1A,0xFF,0x07,0x10,0x0A,0x10,0x12,0x10,0x22,0xF8,0x43,0x10,0xC2,0x00,0x42,0x00,0x00, //-- 发 -- 0x00,0x00,0x80,0x40,0xC0,0x20,0xBC,0x10,0x84,0x0C,0x84,0x40,0x84,0x80,0xF4,0x7F,0x82,0x00,0x82,0x00,0x83,0x04,0x82,0x08,0x80,0x30,0xC0,0x60,0x80,0x00,0x00,0x00, //-- 每 -- 0x00,0x01,0x10,0x01,0x08,0x1D,0xF7,0x13,0x14,0x11,0x14,0x11,0x34,0x13,0x54,0x15,0x14,0x51,0x14,0x91,0x14,0x71,0xFC,0x1F,0x16,0x11,0x84,0x01,0x00,0x01,0x00,0x00, //-- 一 -- 0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00, //-- 天 -- 0x40,0x80,0x42,0x80,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x0C,0x42,0x03,0xFE,0x00,0x42,0x03,0x42,0x0C,0x42,0x10,0x42,0x20,0x43,0x40,0x62,0xC0,0x40,0x40,0x00,0x00, //-- : -- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B,0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*****函数声明*****/ void display1(void); void display2(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 using 1 { KY=~KY; //每个来回水会在幅两端分生下降沿中断发发发发发发发发发发发发发发发发发发发发发发发, 只提取其中一次,从左向右才示,发发发发发 if(KY==0) { num++; //发算中断次数 switch(pic) //发发画面 { case 0:{display1();}break;case 1:{display2();}break;case 2:{display3();}break;case 3:{display4();}break;default:{display1();} } } } /*****发示子程序1,字,发发发*****/ void display1(void) { uchar i; if(num>10){disp++;num=0;} //12个字分发发发发3次示完,发发发发次示4每个,,中断每10次切发 if(disp>2)disp=0; DelayUs(5200); //此延依各硬件差而各不相同,着整使得示内容居中即可发发发发发发发发发发发发发发发发发发发发发发发发发发发发发发发 for(i=0;i<64;i++) { P0=~hanzi[disp*128+i*2];P2=~hanzi[disp*128+i*2+1];DelayUs(100); } } /*****发示子程序2,LOVE,*****/ void display2(void) { uchar i; DelayUs(4000); for(i=0;i<64;i++) { P0=~love[i*2]; P2=~love[i*2+1]; DelayUs(120); } } /*****发示子程序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;} }
本文档为【摇摇棒程序与电路设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_037433
暂无简介~
格式:doc
大小:124KB
软件:Word
页数:0
分类:互联网
上传时间:2017-12-11
浏览量:15