LED灯亮度调节_第1页
LED灯亮度调节_第2页
LED灯亮度调节_第3页
LED灯亮度调节_第4页
LED灯亮度调节_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式实验LED灯亮度调节报告信息工程学院13计算机测控LED灯亮度调节实验、实验目的应用PWM定时器输出PWM信号控制LED显示亮度,要求亮度分 256级连续可调。亮度级别由电位器调节电压通过AD转换输入,亮度级别值显示在LCD液晶显示器。要求采用中断方式进行 AD值读取。二、实验设备仿真软件 Proteus7.9 、keil5三、实验原理系统通过调节电位器,利用LPC2114内置的AD转换器读取电位器的电压值,根据电压值调整 PWM 信号的占空比,积分后实现LED亮度可调,并实时在LCD1602上显示亮度级别。3.1 PWM 输出LPC2000的PWM 基于标准的定时器模块,具有定时器的所

2、有特性,它是定时器功能中匹配事件的功能扩展。使用PWM功能,可以在指定引脚输出需要的波形。输出波形可分为两类:单边沿输出和双边沿输出。该实验使用单边沿输出。使用两个匹配寄存器就可以实现单边沿控制的PWM输出。其中一个匹配寄存器(PWMMR0 )控制PWM周期,另一个匹配寄存器控制 PWM边沿的位置,即占空比。3.2 AD转换器AD转换器的基本时钟由 VPB时钟提供。可编程分频器将时钟调整至逐步逼近转换所需的4.5MHz (最大)。10位精度要求的转换需要11个A/D转换时钟。3.3 LCD16023.3.1引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说

3、明如表 3-1所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表3-1 :弓I脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高, 对比度过高时会产生“鬼影”,使用时可以通过一个 10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RS和第5脚

4、:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:DOD7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.3.2 1602LCD的指令说明1602液晶模块内部的控制器共有11条控制指令,如表 3-2所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/SD4显

5、示开/关控制0000001DCB5光标或字符移位000001S/R/*CL6置功能00001DLNF*7置字符发生存贮器地0001字符发生存贮器地址址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM 或10要写的数据内容DDRAM )11从CGRAM 或DDRAM11读出的数据内容读数表3-2控制命令表(说明:11602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。为咼电平、0为低电平)指令1 :清显示,指令码 01H,光标复位到地址 00H位置。指令2 :光标复位,光标返回到地址00H。S:屏幕指令3 :光标和显示模式设置 I

6、/D :光标移动方向,高电平右移,低电平左移 上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4 :显示开关控制。D :控制整体显示的开与关,高电平表示开显示,低电平表B :控制光标是示关显示 C :控制光标的开与关,高电平表示有光标,低电平表示无光标 否闪烁,高电平闪烁,低电平不闪烁。指令5 :光标或显示移位S/C :高电平时移动显示的文字,低电平时移动光标。指令6 :功能设置命令 DL :高电平时为4位总线,低电平时为 8位总线N :低电平的点阵字符。指令7 :字符发生器RAM地址设置。指令8 :DDRAM地址设置。指令9 :读忙信号和光标地址 BF:为忙标志位,高电平表示忙

7、,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10 :写数据。指令11 :读数据。3.3.3 1602LCD 的时序与HD44780 相兼容的芯片时序表如下:读状态输入RS=L,R/W=H ,E=H输出D0 D7=状态字写指令输入RS=L,R/W=L ,D0 D7=指令码,E=高输出无脉冲读数据输入RS=H,R/W=H ,E=H输出D0 D7=数据写数据输入RS=H,R/W=L,D0 D7=数据,E=高脉输出无冲表3-3基本操作时序表读写操作时序如图3-1和图3-2所示:1 qRSX/ /R/WF V tPn*1IF 1-Va I id DataM - LP -*XDBQ-re?I

8、C图3-1读操作时序图3-2写操作时序四、软件设计#i nclude Ip c21xx.h#i nclude lcd1602.h#defi ne FpcIk 600000000typ edef un sig ned char uint8;typ edef un sig ned int uin t16;typ edef un sig ned long uin t32;uin t32 ADC_Data,ADC_DataO;uint8 str1=Degree:;uint8 str2=000;uint8 numcode10=0,1,2,3,4,5,6,7,8,9;/*延时函数*/void delay_

9、ms(ui nt16 ms)ui nt16 x,y;for(x=0;xms;x+)for(y=0;y800;y+);for(y=0;y 6) & 0x3ff;ADC_Data = ADC_Data 2 ;/十位结果变成8位ADCR |= 1 24; /*再次启动转换 */VICVectAddr = 0x00;结束*/void ADCI nit() /AD转换初始化ADCR=(1 0 ) |/ SEL = 1,选择通道0(60 - 1 ) 8 ) |/ CLKDIV = Fp clk / 1000000 - 1,即转换时钟为 1MHz(0 16 ) |/ BURST = 0,软件控制转换操作(0

10、 17 ) |/ CLKS = 0 ,使用 11clock 转换(1 21 ) |/ PDN = 1,正常工作模式(非掉电转换模式)(0 22 ) |/ TEST1:0 = 00,正常工作模式(非测试模式)(1 24 ) |/ START=1,启动转换(0 27 );PINSEL1 |= 122 ;/设置AD转换/中断设置/*进行VIC设置*/VICIntSelect = 0x00; /*所有中断通道设置为IRQ中断*/VICVectC ntIO = 0x20 | 18; /*设置ADC中断最高优先级 */设置中断服务程序地址*/VICVectAddrO = (ui nt32)IRQ_ADC;

11、 /*使能ADC中断*/VICI ntEn able = 1 18; /*int mai n()PINSEL2 |= 0; / 设置 P1 口为 GPIOIODIR1 |= 0XFFFF0000;P WMI nit(); /pwm初始化ADCI ni t(); /AD转换初始化P LLCON = 2;P LLCFG = 0x30;P LLFEED = 0xAA;P LLFEED = 0x55;while( PLLSTAT & 0x10) = 0);IO1DIR |= 0x7f16;/设置1602引脚输出IO1CLR |= 0x7ff16;In itLcdO;while(1)P WMMR1 = ADC_Data*10; /将AD处理的数值赋给 PWMMR1 ,改变脉PWMLER = 0X03; /更新 PWM 占空比P WMTCR = 0x09;/PWM使能、计数器使能str20=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论