那个宝的旋转LED 原理图及程序 实测效果还可以
无线供电小板原理图:
底盒上的红外发光二极管,需对准旋转主板的红外接收管
红外发光二极管点亮后需用摄像头才可看到发光
人眼无法直接看到发光,请勿以为是普通发光二极管,没看到亮起来就丢了
中功率三级管 (要加散热片)
自激震荡电路,把5V直流电压转换成交流电压
作用:35颗LED独立控制显示,D0电源指示灯不可控
常见问题分析:LED焊接反,虚焊,单片机虚焊都有可能导致该LED不亮,对应处理即可
原理:由次级线圈感应的交流电压经过4个4148全波整流
经过5V1稳压二极管进行5V稳压
220uf电容滤波
作用: 给旋转主板供电
常见问题:4148,5V1,电容焊接反都会导致供电不正常
次级线圈焊接到板上L1处时注意:应该是焊接线圈的不包漆部分
作用:提供时钟信息
常见问题分析:时钟显示不正常:一般是时钟芯片虚焊导致
秒不走动:一般是晶振有问题导致,或者把20pf电容焊成104电容,后背电池接反也会导秒不走
作用:利用红外对管作起点检测
常见问题分析:焊接反或者没对准红外发射管均会导致不显示的现象
注意:红外接收二极管长脚是负极,短脚是正极
作用:红外一体化接收头接收遥控器按键
常见问题分析:遥控不灵敏可能是焊接时候没平行电路板焊接
无法遥控需先判断是遥控器问题还是接收头问题
作用:CPU控制LED,读取时钟信息,接收遥控,起点检测
常见问题分析:程序无法下载问题:请用TTL串口进行下载,初学者请务必仔细阅读使用说明关于程序下载部分
电源接反有可能导致单片机损坏,请务必注意
单片机源程序如下:
- #include "NEW_8051.H"
- #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; //允许外部中断
- IP=0X40;
- #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 =0x0FE; //200us
- TL0 =0x0CD;
- // TR0=1;
- #endif
- /****************定时器1初始化****************/
- #ifdef EN_OS_TIMER1
- TMOD|=0X20;//8位自动重载模式
- ET1=1; //定时器0开中断
- TH1=0x00;//定时160us 晶振18.432M
- TL1=0x00;
- IPH=0x0C;
- //TR1=1;
- #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; //0分频
- CCON = 0x00; //清中断标志
- CL = 0;
- CH = 0;
- CCAP0H = 0xEF; //40ms定时
- CCAP0L = 0xD8; // 30 200
- CCAPM0 = 0x49; //设置PCA0为16位定时器,允许PCA模块0中断
- //CR=1; //启动PCA计数
- #endif
- /*******************************************/
- #ifdef EN_OS_PCA1 //用于16位定时
- CMOD = 0x8E; //12分频
- CCON = 0x00; //清中断标志
- CL = 0;
- CH = 0;
- CCAP1L =0x26; //1MS定时
- CCAP1H =0x02;
- //CCAPM1 = 0x49; 允许PCA模块1中断
- #endif
- /***********************************************************************/
- }
- /*********************************************************************************************************
- ** 函数名称: main
- ** 功能描述: 主函数,用户程序从这里执行
- ** 输 入: 无
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
综合效果程序.zip
(172.71 KB, 下载次数: 40)
旋转LED主控板.pdf
(186.6 KB, 下载次数: 35)
无线供电小板原理图.pdf
(115.89 KB, 下载次数: 33)
|