纯手工用pcb做的!LED旋转时钟显示屏,还有动画效果图片显示,平面旋转LED软件等.
效果图:
AD画的原理图和PCB:
LED旋转资料内含如下图片:
小两口.bmp
平面LED.bmp
心.bmp
心型.bmp
心型2.bmp
心型3.bmp
心型4.bmp
心形.bmp
忍.bmp
恨.bmp
情.bmp
我喜欢你.bmp
我爱你.bmp
撇嘴.bmp
放弃.bmp
新年快乐.bmp
旋转LED.bmp
枫叶.bmp
正方体1.bmp
正方形.bmp
海豚.bmp
滚.bmp
灵魂.bmp
爱.bmp
猪.bmp
猪2.bmp
玫瑰花.bmp
窈窕淑女.bmp
精.bmp
糊涂.bmp
缘.bmp
脚.bmp
自行车.bmp
花瓣.bmp
蝴蝶.bmp
蝴蝶2.bmp
蝴蝶3.bmp
蝴蝶4.bmp
蝴蝶5.bmp
让爱飞翔.bmp
请勿吸烟.bmp
购物车.bmp
踢足球.bmp
金.bmp
铜币.bmp
风扇叶.bmp
风扇叶3.bmp
风车.bmp
马.bmp
骷髅.bmp
齿轮.bmp
电路板:
旋转主板原理图:
底盒上的红外发光二极管,需对准旋转主板的红外接收管
红外发光二极管点亮后需用摄像头才可看到发光
人眼无法直接看到发光,请勿以为是普通发光二极管,没看到亮起来就丢了
无线供电小板原理图:
单片机源程序主程序(完整代码请下载附件):
- #include "task.h"
- bit BIT_10MS;
- extern void OS_ALLRun(void);
- extern void start(void);
- /*********************************************************************************************************
- ** 函数名称: init
- ** 功能描述: 初始化程序,此处包含定时器0、串行口初始化
- ** 输 入: 无
- ** 输 出: 无
- ** 全局变量: 无
- ** 调用模块:
- **
- ** 作 者:
- ** 日 期:
- **-------------------------------------------------------------------------------------------------------
- ** 修 改 人:
- ** 日 期:
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- void init()
- {
-
- //"系统初始化"
- //IE = 0x00; //"清除中断"
- EA = 1; //总中断
- //ES = 1; //4"串行中断允许"
- //EX0 = 1; //0"外部中断0允许"
- //ET0 = 1; //1"定时器0中断允许"
- //EX1 = 1; //2"外部中断1允许"
- //ET1 = 1; //3"定时器1中断允许"
- //ET2 = 1;
- //IP = 0; //"清除中断优先级"
- //PS = 1; //"串行中断优先"
- //PX0 = 1; //"外部中断0"
- //PT0 = 1; //"定时器中断0"
- //PX1 = 1; //"外部中断1"
- //PT1 = 0; //"定时器中断1"
- //TCON-------- "定时器控制寄存器", TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0
- //TCON = 0;
- //TF1 "T1溢出标志"
- //TR1 = 1; //"T1运行控制"
- //TF0 "T0溢出标志"
- //TR0 = 1; //"T0运行控制"
- //IE1 "外部中断1申请标志"
- //IT1 = 1; //"外部中断1触发方式 0=电平 1=边沿"
- //IE0 "外部中断0申请标志"
- //IT0 = 1; //"外部中断0触发方式 0=电平 1=边沿"
- //TMOD-------- "定时器模式控制寄存器"
- // | GATE | C//T | M0 | M1 | GATE | C//T | M0 | M1 |
- //"高4位用于T1 低4位用于T0"
- //TMOD = 0x21;
- //SCON "串行控制"
- //| SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
- //"| SM0 SM1 | 工作方式 | 说 明 | 波 特 率 |"
- //"| 0 0 | 方 式 0 |? 同步移位 | fosc/12 |"
- //"| 0 1 | 方 式 1 | 10位异步收发 | 定时器控制 |"
- //"| 1 0 | 方 式 2 | 11位异步收发 |fosc/32|fosc/64|"
- //"| 1 1 | 方 式 3 | 11位异步收发 | 定时器控制 |"
- //"SM2 多机通讯允许"
- //"REN 接收允许控制"
- //"TB8 发送数据第9位"
- //"RB8 接收数据第9位"
- //"TI 发送中断标志"
- //"RI 接受中断标志"
- //SCON = 0x50;
- //PCON "电源控制寄存器"
- //SMOD"波特率选择位 =1 方式1,2,3 波特率加倍"
- //"波特率=2^(sod)*fosc/(32*12*(256-初值))"
- //T2CON = 0x0;
- //TR2 = 1;
- //ET2 = 1;
- //-----------中斷初始化------------------------------------------------- BELL
- //INT0 init
- #ifdef EN_OS_INT0
- IT0 = 1; //外部中断为边沿触发
- EX0 = 1; //允许外部中断
-
- #endif
-
- #ifdef EN_OS_INT1
- // PX1 = 1; //"外部中断1"
- IT1 = 1; //外部中断为边沿触发
- EX1 = 1; //允许外部中断
- #endif
-
-
- #ifdef EN_OS_SERIAL
- SCON = 0x50;
- //TMOD|= 0x20;
- BRT = 0xfb; //0xfb: 18.432MHz,12T,SMOD=0,9600bps
- AUXR |= 0x11; // 使用独立波特率发生器
- /* TH1 = 0xFB;
- TL1 = 0xFB;
- TR1 = 1; */
- // ES = 1; //允許串口中斷
- // PS = 1; //"串行中断优先"
- // PSH;
- #endif
- #ifdef EN_OS_TIMER0
- /****************定时器0初始化****************/
- TMOD|=0X01;
- ET0=1;
- TH0 = 0x0FD; //400us
- TL0 = 0x9A;
- IPH=0X09;
- #endif
- /****************定时器1初始化****************/
- #ifdef EN_OS_TIMER1
- TMOD|=0X20;//8位自动重载模式
- ET1=1; //定时器0开中断
- TH1=0x00;//定时160us 晶振18.432M
- TL1=0x00;
- #endif
- /***************************/
- #ifdef EN_OS_UART2
- S2CON = 0x50; //0101,0000 8位可变波特率,无奇偶校验位,允许接收
- BRT = 0xfb; //0xfb: 18.432MHz,12T,SMOD=0,9600bps
- AUXR |= 0x11; //T0x12,T1x12,UART_M0x6,BRTR,S2SMOD,BRTx12,EXTRAM,S1BRS
- IE2 = 0x01; //允许串口2中断,ES2=1
- #endif
- /***/
- #ifdef EN_OS_PCA0 //用于16位定时
- CMOD = 0x80; //12分频
- CCON = 0x00; //清中断标志
- CL = 0;
- CH = 0;
- CCAP0H = 0xEF; //40ms定时
- CCAP0L = 0xD8;
- CCAPM0 = 0x49; //设置PCA0为16位定时器,允许PCA模块0中断
- //CR=1; //启动PCA计数
- #endif
- /*******************************************/
- #ifdef EN_OS_PCA1 //用于16位定时
- CMOD = 0x80; //12分频
- CCON = 0x00; //清中断标志
- CL = 0;
- CH = 0;
- CCAP1H =0x01;
- CCAP1L =0x68; //us定时
- //CCAPM1 = 0x49; 允许PCA模块1中断
- #endif
- /***********************************************************************/
- }
- /*********************************************************************************************************
- ** 函数名称: main
- ** 功能描述: 主函数,用户程序从这里执行
- ** 输 入: 无
- ** 输 出: 无
- ** 全局变量: 无
- ** 调用模块: init()
- **
- ** 作 者:
- ** 日 期:
- **-------------------------------------------------------------------------------------------------------
- ** 修 改 人:
- ** 日 期:
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- void main(void)
- {
- init();
- start();
-
- while(1)
- {
- OS_ALLRun();
- }
- }
-
- ********************************程序编写:Fucp****************************************
- **********************************************************************************/
复制代码
资料下载:
平面33灯旋转LED资料.rar
(3.62 MB, 下载次数: 688)
|