旋转LED制作.docx

上传人:博****1 文档编号:547988996 上传时间:2024-01-15 格式:DOCX 页数:8 大小:759.04KB
返回 下载 相关 举报
旋转LED制作.docx_第1页
第1页 / 共8页
旋转LED制作.docx_第2页
第2页 / 共8页
旋转LED制作.docx_第3页
第3页 / 共8页
旋转LED制作.docx_第4页
第4页 / 共8页
旋转LED制作.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《旋转LED制作.docx》由会员分享,可在线阅读,更多相关《旋转LED制作.docx(8页珍藏版)》请在金锄头文库上搜索。

1、 旋转LED的制作山东农业大学机电学院 刘承杰1.简介旋转LED是利用人的视觉暂留性,用高频率的刷新,使人感觉到形成一幅完整的画面。其结构简单,构件实惠,易懂易学。主要由控制部分,灯阵部分,旋转部分,供电部分,程序等构成。2.制作步骤A.控制部分 控制部分有多种形式在此仅以51单片机为例进行介绍,焊接单片机最小系统如图所示其中C10和C11为30Pf瓷片电容电容右侧为12M晶振。图片右下角可不焊接。B灯阵 灯阵可由16个或8个一列发光LED组成LED灯为公共正极,负极单独引线并顺序连接至单片机引脚的P2口和P1口,共16根线。公共正极连接至单片机电源正极。C旋转部分 旋转部分主要由电机构成,电

2、机外接独立电源。开关处最好接滑动变阻器以调节转速。D程序/*此代码移植性良好*/#include /单片机头文件#define DY_DELAY2 /设置每一个点显示的时间长度(120)sbit LED1 = P2 0; /LED灯定义,低电平时亮(自上到下)sbit LED2 = P2 1;sbit LED3 = P2 2;sbit LED4 = P2 3;sbit LED5 = P2 4;sbit LED6 = P2 5;sbit LED7 = P2 6;sbit LED8 = P2 7;sbit LED9 = P1 0;sbit LED10 = P1 1;sbit LED11 = P1

3、2;sbit LED12 = P1 3;sbit LED13 = P1 4;sbit LED14 = P1 5;sbit LED15 = P1 6;sbit LED16 = P1 7;sbit LED17 = P10;sbit LED18=P11;unsigned char code logo = 0x00,0x01,0x80,0x40,0x60,0x40,0x1E,0x41,0x10,0x41,0x10,0x41,0x10,0x41,0x10,0x41,0xFF,0x7F,0x12,0x41,0x10,0x41,0x10,0x41,0x98,0x41,0x10,0x61,0x00,0x40,

4、0x00,0x00,/*生,0*/0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*日,1*/0x70,0x00,0x00,0x00,0xFF,0xFF,0x08,0x00,0xB0,0x80,0x88,0x40,0x88,0x30,0x88,0x0E,0xFF,0x01,0x88,0x06,0x88,0x08,0x88,0

5、x30,0xF8,0x60,0x80,0xC0,0x80,0x40,0x00,0x00,/*快,2*/0x00,0x00,0x00,0x20,0x40,0x18,0xFC,0x0C,0x44,0x07,0x44,0x12,0x44,0x20,0x46,0x40,0xFA,0x3F,0x42,0x00,0x43,0x00,0x43,0x02,0x42,0x0C,0x40,0x38,0x00,0x10,0x00,0x00,/*乐*/;/*函数名:毫秒级CPU延时函数调 用:DELAY_MS (?);参 数:165535(参数不可为0)返回值:无结 果:占用CPU方式延时与参数数值相同的毫秒时间备

6、注:应用于1T单片机时i600,应用于12T单片机时i125/*/void DELAY_MS (unsigned int a)unsigned int i;while( -a != 0)for(i = 0; i 600; i+);/*函数名:LED显示用延时函数调 用:delay(?);参 数:165535(参数不可为0)返回值:无结 果:占用CPU方式延时与参数数值相同的毫秒时间备 注:应用于1T单片机时i600,应用于12T单片机时i125*/void delay (unsigned int a) / 用于点扫描的延时unsigned int i;while( -a != 0)for(i

7、= 0; i 1; i+); /*/*函数名:关闭所有LED灯(操作硬件)调 用:DISPLAY_OFF();参 数:无返回值:无结 果:所有LED灯熄灭备 注:/*/void DISPLAY_OFF (void)delay(DY_DELAY);/显示停留P2 = 0xff;P1 = 0xff; /LED17=0; / LED18=0;/*/*函数名:单帧数据送入显示(操作硬件)调 用:DISPLAY_PIN(?,?);参 数:16位显示数据(下高位)(d:上面8位,e:下面8位)返回值:无结 果:点亮对应数据的LED灯备 注:/*/void DISPLAY_PIN (unsigned cha

8、r d,unsigned char e) /第1列横向显示程序unsigned char i;i = d & 0x01;if(i = 0x01)LED1 = 0;DISPLAY_OFF();i = d & 0x02;if(i = 0x02)LED2 = 0;DISPLAY_OFF();i = d & 0x04;if(i = 0x04)LED3 = 0;DISPLAY_OFF();i = d & 0x08;if(i = 0x08)LED4 = 0;DISPLAY_OFF();i = d & 0x10;if(i = 0x10)LED5 = 0;DISPLAY_OFF();i = d & 0x20;

9、if(i = 0x20)LED6 = 0;DISPLAY_OFF();i = d & 0x40;if(i = 0x40)LED7 = 0;DISPLAY_OFF();i = d & 0x80;if(i = 0x80)LED8 = 0;DISPLAY_OFF();i = e & 0x01;if(i = 0x01)LED9 = 0;DISPLAY_OFF();i = e & 0x02;if(i = 0x02)LED10 = 0;DISPLAY_OFF();i = e & 0x04;if(i = 0x04)LED11 = 0;DISPLAY_OFF();i = e & 0x08;if(i = 0x0

10、8)LED12 = 0;DISPLAY_OFF();i = e & 0x10;if(i = 0x10)LED13 = 0;DISPLAY_OFF();i = e & 0x20;if(i = 0x20)LED14 = 0;DISPLAY_OFF();i = e & 0x40;if(i = 0x40)LED15 = 0;DISPLAY_OFF();i = e & 0x80;if(i = 0x80)LED16 = 0;DISPLAY_OFF(); /*函数名:初始化程序调 用:init();参 数:无返回值:无结 果:设计IO接口为强推方式并全部置1备 注:/*/void init (void) /* P4SW = 0xff; /启动P4接口/P0M0 = 0xff; /接口设置为强推/P2M0 = 0xff;/P4M0 = 0xff; */P1 = 0xff; /初始IO接口状态P3 = 0xff;P2 = 0xff;/P4 = 0xff;/*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号