目录
摘要 1
1 、系统方案设计思路 3
2 、方案设计与选择 4
2.1 CPU 的选择 4
2.2 锁相环的选择 4
2.3 光调制中放大器件的选择 4
2.4 显示模块的选择 4
3、系统方案详细设计 5
3.1 可见光通信装置电源模块 5
3.2 可见光通信装置发送端 5
3.2.1 信号调制电路 5
3. 3 可见光通信装置接收端 6
3.3.1 信号解调放大电路 6
4、系统软件设计 8
5、测试结果与分析 8
5.1 仪器设备 8
5.2 各模块测试 9
5.2.1 语音传输模块测试 9
5.2.2 模拟信号传输测试 9
5.2.3 LED 照明模块测试 9
5.2.4 电源模块测试 10
6、总结 10
参考文献 11
1 、系统方案设计思路
本文所设计的可见光通信装置以 MSP430F149 为控制核心,由发送端、接收端两部分组成。 使用 MSP430F149 产生 m 序列并完成对装置的温度检测、电压采集及信号传输记录等功能,
并且实时在 12864 上显示。 发送端由主控芯片组成的最小系统、前置放大电路、音频调制电路、光调制电路、白光
LED 发射灯、显示模块、24V 电源等模块组成。该部分实现了对两路语音信号和 m 序列的调制 并通过可见光发射给接收端的任务。
接收端由放大滤波电路、音频信号功率放大电路、整形电路、音频解调电路、PIIN 光电 二极管等模块组成。该部分实现了来自发送端信号的解调、放大和语音输出,以及完成来自 m 序列发生器的波形输出的任务。
总系统框图如下:

2 、方案设计与选择
2.1 CPU 的选择
方案一:采用 51 系列单片机。采用现在比较通用的 51 系列单片机作为整个系统方案的 主控 CPU。51 系列单片机应用比较广泛,各种技术都比较成熟,但此系列单片机是 8 位机, 处理速度不是很快,I/O 端口较少,资源不够充足。
方案二:采用 MSP430 系列单片机。TI 公司的 MSP430 系列单片机是一种 16 位超低功耗 的混合信号处理器,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数 寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以 及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度;接口 方便开发;而且 MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便, 满足当前低碳经济的要求。
综合以上方案,我们采用 TI 公司的 MSP430 系列单片机,选择方案二。


/********************************************************************/#include <msp430x14x.h>#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) #define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long#define  KeyPort         P1IN                              //独立键盘接在P24~P27
#define  LED             P2OUT                             //LED灯接在P5上
uchar key;//*************************************************************************
//       系统时钟初始化
//*************************************************************************void Clock_Init()
{uchar i;BCSCTL1&=~XT2OFF;                 //打开XT振荡器BCSCTL2|=SELM1+SELS;              //MCLK为8MHZ,SMCLK为8MHZdo{IFG1&=~OFIFG;                   //清除震荡标志for(i=0;i<100;i++)_NOP();                      //延时等待}while((IFG1&OFIFG)!=0);           //如果标志为1,则继续循环等待IFG1&=~OFIFG; }void WDT_Init()
{WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗
}//*************************************************************************
//  初始化IO口子程序
//*************************************************************************
void Port_init()
{P1SEL = 0x00;                   //P2普通IO功能P1DIR = 0xF0;                   //P24~P27输入模式,外部电路已接上拉电阻P2SEL = 0x00;                   //P5口普通IO功能P2DIR = 0xFF;                   //P5口输出模式LED = 0xff;}//**********************************************************************
//  键盘扫描子程序,采用逐键扫描的方式
//**********************************************************************uchar Key_Scan(void)
{uchar key_check;uchar key_checkin;key_checkin=KeyPort;            //读取IO口状态,判断是否有键按下key_checkin &= 0x0F;                  //读取IO口状态,判断是否有键按下if(key_checkin!=0x0F)             //IO口值发生变化则表示有键按下{delay_ms(10);                     //键盘消抖,延时20MSkey_checkin =KeyPort;key_checkin &=0x0f;if(key_checkin!=0x0f){  key_check=KeyPort;switch (key_check & 0x0F){case 0x0e: key=4;  break;case 0x0d: key=3;  break;case 0x0b: key=2;  break;case 0x07: key=1;  break;}}}else{key=0xFF;        }return key;} //*************************************************************************
//      主程序
//*************************************************************************void main(void)
{     WDT_Init();                            //看门狗设置Clock_Init();                          //系统时钟设置Port_init();                           //系统初始化,设置IO口属性delay_ms(10);                         //延时100mswhile(1){Key_Scan();                       //键盘扫描,看是否有按键按下if(key!=0xff)                     //如果有按键按下,则显示该按键键值1~4{  switch(key){case 4: LED=0xfe;break;  //给不同的键赋键值,键值1,亮1个LED灯D1case 3: LED=0xfd;break;  //给不同的键赋键值,键值2,亮1个LED灯D2case 2: LED=0xfb;break;    //给不同的键赋键值,键值3,亮2个LED灯D1.D2case 1: LED=0xf7;break;   //给不同的键赋键值,键值4,亮0个LED灯default: LED=0x7f;}           }else{//  LED=key;                 //没有按键的时候显示上次的键值// LED=0x00;  ///}}
///*/}
}








基于大功率白光 LED 的可见光通信相关推荐

  1. SD3038B高效率恒流限流白光LED驱动IC

    资料介绍 产品简介 SD3038B是一种输入电压范围宽(0.8~5.5V),可调恒定电流和限定电流两种模式来驱动白光 LED 而设计的升压型 DC/DC 变换器.采用变频模式,逐周期限流,使输入输出电 ...

  2. led可见光通信直方图均衡matlab,基于RGB型LED的光学相机通信系统的实现方案

    2019 年第 5 期 基于 RGB 型 LED 的光学相机通信系统的实现方案 Realization scheme of optical camera communication system ba ...

  3. 白光LED驱动方案的选择 TPS61043

    所有专为驱动白光LED而设计的IC都提供恒定电流夕其中尽大多数是基于电感或电荷泵的解决方案9这两种解决方案各有其优缺点. 电荷泵解决方案也称为开关电容器解决方案,利用分离电容器将电源从输进端传送至输出 ...

  4. 秒上手!使用Arduino控制基于WS2812B的LED灯条

    使用Arduino控制基于WS2812B的LED灯条 一.材料准备 硬件部分 1. Arduino UNO R3 开发板 2. 基于WS2812B的LED灯条 3. 杜邦线若干 软件部分 1. Ard ...

  5. 基于单片机的LED自适应调光系统的设计与实现 - 调光电路图

    电路图简介: 本文主要介绍了基于单片机的LED自适应调光系统的设计与实现.LED自适应调光系统是一种典型的绿色照明方式,与传统照明相比,具有智能.节能.环保.寿命长.安全可靠等这些优点,这是代表着照明 ...

  6. 基于FPGA的LED点阵系统开发

    LED点阵显示屏被用到很多领域,随着电子技术的发展,LED点阵书写显示屏的广泛应用是一种趋势.传统的LED点阵显示是由微处理器实现的,但是以FPGA做控制器将成为发展趋势.FPGA的结构灵活,其逻辑单 ...

  7. LED背光学习_标准和白光LED的基础知识与驱动

    标准和白光LED的基础知识与驱动 标准和白光LED的基础知识与驱动.pdf 很多年来,发光二极管(LED)广泛的应用于状态显示与点阵显示板.现在,不仅可以选择近期刚刚研发出来的蓝光和白光产品(普遍用于 ...

  8. 基于ArduinoNano的LED点阵时钟探索(1)四合一MAX7219+DS3231

    基于ArduinoNano的LED点阵时钟探索(1)四合一MAX7219+DS3231 这篇文章是自己打算做一个LED点阵时钟记录学习进度的,刚完成第一次点亮MAX7219四合一模块,所以先做好学习记 ...

  9. 不写一行代码(一):实现安卓基于GPIO的LED设备驱动

    文章目录 系列文章 一.前言 二.准备工作 2.1 内核版本 2.2 内核文档:bindings->leds 2.3 文档解析: leds-gpio.txt 三.编写DTS 3.1 查原理图,挑 ...

最新文章

  1. AI一分钟 | Facebook或将面临2万亿美元罚款;大疆寻求新一轮融资,估值150亿美元
  2. 2019年中国重点大学排名发布,北大第1,清华第2,浙大第5
  3. 数据集shuffle方法中buffer_size的理解
  4. case when条件表达式
  5. 如何在Java中将字节数组转换为InputStream和OutputStream
  6. 关于ASCII字符的那些事儿
  7. 程序员肚子越来越大_肚子越来越大,除了肥胖还可能是疾病信号!腰间搓一搓,排出痰浊,消脂防病~...
  8. USDC流通量已经超过33亿
  9. 3.卷2(进程间通信)---System V IPC
  10. python中的引用怎么理解_浅谈动态类型领域中 Python 的变量、对象以及引用
  11. CDBPDB USERS AND PRIVILLEGE
  12. 无线充电设计(二)-方案设计
  13. 下雨打雷效果(动态)html
  14. 室内定位indoor location
  15. 数据分析实战平台分享
  16. 图数据库技术选型汇总
  17. vue之var和let声明变量
  18. 基于java流浪动物救助管理系统获取(java毕业设计)
  19. 以太坊合约语言开发简单介绍
  20. Html+Css实现九大行星动画效果

热门文章

  1. js根据日期区间获取天数
  2. Git Flow 工作模型与使用
  3. 以95%的精度构建CNN模型
  4. C# 面向对象编程(杂2),类中可能出现的成分,字段,属性,方法,自动属性,权限(五种),其他类,值传递和引用传递,类ToString的问题
  5. 三角函数:图像和性质关系
  6. 角色动画研究 —— FABRIK
  7. 最新猜骰子玩法源码分享+微信猜骰子源码下载
  8. java反编译微信小程序_微信小程序反编译的实现
  9. 聚焦循环经济商业模式 ROEHL亮相联合国气候变化大会COP26中国企业馆
  10. html表格中加按钮,表单中的按钮有三种