1、试题2 二,LED显示棒本作品主要利用人眼的视觉暂留效应,使手在摆动到不同位置的时候,让位于一条直线上的LED显示二维图像的不同的列,实现图形扫描显示。当我们在摆动手臂的时候,短时间内摆动位置和左右幅度不会有太大变化,利用我们手臂的这个运动规律,只要能得到棒从一侧摆动到另一侧的时间,然后把这个时间分成N份,然后在每一份的时间里显示不同的花样就能实现图形的显示。本文介绍的作品就是利用LED而制成的手摇棒。它可以替代舞台下的荧光棒,不但能够发光,还可以扫描出一些简单的字,起到娱乐作用。高亮的5mm的LED。采取并口输出。采用AT89S52来作为摇摇棒的控制核心; 字模的取模方式从上到下,从右到左一
2、列一列依次取模,每一列16个点占用2个字节;把生成的每个字节代码低位在上。至于是由1还是0来表示亮点是无所谓的,可以通过取反输出来调整。总体设计设计总体框图如图1: 单元模块设计 AT89S52单片机最小系统:最小系统包括晶体振荡电路、复位开关和电源部分。图2为AT89S52单片机的最小系统。 图二 最小系统电路图LED显示模块本模块选用16个5mm的高亮LED灯排成一列,并加上一个IN4007保护二极管构成。电路图如图三。图三 LED显示电路按键切换模块由于本实验有多种显示效果,所以按键切换必不可少。为了节省空间,只用了一个按键来切换。下图是按键电路图。 图四 按键切换电路5 软件设计主程序
3、流程图如下:图五 主程序流程图系统测试 接上电源,通过开关K1的不断切换,就能显示不同的效果图。 效果一: 效果二:效果三: 元器件明细表:AT89S52一个,16个高亮5mmLED,IN4007一个,锁紧夹一个,排针若干,按键2个,10K电阻2个,12M晶振一个,220欧一个,30pf的电容2个,一个3mm的LED。 系统整体电路图如下: 附录程序:#include#define uchar unsigned char#define uint unsigned intsbit key=P30;uchar num,keynum=0;uchar code welcome1=0x07,0xF7,0
4、xFF,0x07,0xFF,0xF7,0x07,0xFF, 0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF, 0xFF,0xF7,0xF7,0x07,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0x7F,0x7F,0x7F,0xFF,0xFF, 0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF, 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF, 0xFF,0xFF,0x7F,0x7F,0x7F,0x7F,0xFF,0xFF ;uchar code welcome2=0xFC
5、,0xC3,0xF8,0xFF,0xF8,0xC3,0xFC,0xFF, 0xFF,0xE0,0xDD,0xDD,0xDD,0xDD,0xEC,0xFF, 0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xFF,0xFF, 0xFF,0xF1,0xEE,0xDF,0xDF,0xDF,0xEE,0xFF, 0xFF,0xE0,0xDF,0xDF,0xDF,0xDF,0xE0,0xFF, 0xDF,0xC0,0xDF,0xFF,0xC0,0xDF,0xFF,0xC0, 0xFF,0xE0,0xDD,0xDD,0xDD,0xDD,0xEC,0xFF, ;uchar code dianz
6、ixi1=0xFF,0xFF,0x03,0x03,0xB3,0xB3,0x00,0x00,0xB3,0xB3,0xB3,0x03,0x03,0xFF,0xFF,0xFF,0x3F,0x3F,0x3C,0x3C,0x3C,0x3C,0x3C,0x0C,0x0C,0x24,0x30,0x38,0x3C,0x3F,0x3F,0xFF,0xFF,0xFF,0xF9,0xD9,0xC9,0x41,0x11,0x99,0xD9,0xC9,0xE4,0x34,0x7C,0xFC,0xFF,0xFF ;uchar code dianzixi2=0xFF,0xFF,0xF0,0xF0,0xF9,0xF9,0xC
7、0,0x80,0x99,0x99,0x99,0x98,0x98,0x87,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0x9F,0x80,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xCC,0xE4,0xF4,0xFC,0x9C,0x80,0xC0,0xFE,0xFE,0xF6,0xE6,0xCC,0xFF,0xFF ;uchar code wuhuan1=0xFF,0xFF,0xFF,0x0F,0xF7,0xFB,0xFD,0xFD,0xFD,0xFD,0x7B,0xB7,0x0F,0xB7,0xB
8、B,0x7D,0xFD,0xFD,0xFD,0x7B,0xB7,0x0F,0xB7,0xBB,0x7D,0xFD,0xFD,0xFD,0xFB,0xF7,0x0F,0xFF ;uchar code wuhuan2=0xFF,0xFF,0xFF,0xFF,0xFE,0xFD,0xFB,0xFB,0xE1,0xDA,0xBD,0x7E,0x7F,0x7E,0x7D,0xBB,0xDA,0xE1,0xDA,0xBD,0x7E,0x7F,0x7E,0x7D,0xBB,0xDA,0xE1,0xFB,0xFD,0xFE,0xFF,0xFF ;uchar code dianji1=0xDD,0x99,0x3
9、3,0x01,0x01,0x99,0x21,0xCF,0x47,0x43,0x10,0x10,0x43,0x47,0xCF,0xFF,0x7F,0x0F,0xFF,0x00,0x00,0x9F,0x7F,0x01,0x01,0x9F,0x7F,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xC7,0xC6,0x24,0x21,0x27,0x26,0x24,0x21,0x27,0x23,0x20,0xC4,0xC7,0xFF,0xFF,0x01,0x01,0x99,0x01,0x71,0xE3,0xE3,0x93,0x92,0x90,0x91,0x93,0x93,0xE3,0xE
10、3,0xFF,0xFF,0x1F,0xEF,0xF7,0xF7,0xF7,0xEF,0x1F,0xFF,0x07,0xB7,0xB7,0xB7,0xB7,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xE7,0xFB,0xFF,0x9F,0xEF,0xF7,0xF7,0xEF,0x1F,0xFF,0xFF,0xCF,0xF7,0xF7,0xF7,0xF7,0x0F,0xFF;uchar code dianji2=0xCF,0x81,0xF9,0x80,0x80,0xFB,0xF8,0xE7,0xE2,0x92,0x80,0xC0,0xF2,0xE2,0xE7
11、,0xFF, 0xFC,0x9F,0x87,0xE0,0xF8,0xFF,0xFE,0xC0,0xC0,0xFF,0xFE,0xFF,0x80,0x80,0xFF,0xFF, 0xFF,0xF9,0xF9,0xF9,0xF9,0xD9,0x99,0x81,0xC0,0xF8,0xF9,0xF9,0xF9,0xF9,0xFF,0xFF, 0x80,0x80,0xF3,0xF0,0xB8,0x9F,0xCC,0xE0,0xF0,0xFC,0xC0,0x80,0x9C,0x9C,0x8F,0xFF, 0xFF,0xF0,0xEF,0xDF,0xDF,0xDF,0xEF,0xF0,0xFF,0xE7,
12、0xDF,0xDF,0xDF,0xDF,0xE0,0xFF, 0xFF,0xBF,0xCF,0xF3,0xFC,0xFF,0xFF,0xFF,0xFF,0xCF,0xD7,0xDB,0xDD,0xDE,0xDF,0xFF,0xFF,0xE7,0xDF,0xDF,0xDE,0xDE,0xE1,0xFF;void delay(uchar z)uchar i,j; for(i=0;iz;i+) for(j=0;j0;num+) P0=welcome1num; delay(2); P2=welcome2num; delay(2); void dianzixi() delay(2); for(num=4
13、8;num0;num-) P0=dianzixi1num; delay(2); P2=dianzixi2num; delay(2); void wuhuan() delay(2); for(num=32;num0;num-) P0=wuhuan1num; delay(2); P2=wuhuan2num; delay(2); void dianji() delay(2); for(num=0;num104;num-) P0=dianji1num; delay(2); P2=dianji2num; delay(2); void presskey() if(key=0) delay(10); if(key=0) keynum+; while(!key); void main() while(1) presskey(); switch(keynum) case 1:welcome();break; case 2:dianzixi();break; case 3:wuhuan();break; case 4:dianji();break; case 5:P0=0xff;P2=0xff;break; case 6:keynum=1;break; default:break;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1