LED 一般是恒流操作的,如何改变 LED 的亮度呢?答案就是 PWM 控制。在一定的 频率的方波中,调整高电平和低电平的占空比,即可实现。比如我们用低电平点亮一个 LED 灯,我们假设把一个频率周期分为 10 个时间等份,如果方波中的高低电平占空比是 9:1, 这是就是一个比较暗的亮度,如果方波中高低电平占空比是 10:0,这时,全部是高电平, 灯是灭的。如果占空比是 5:5,就是一个中间亮度,如果高低比是 1:9,是一个比较亮的 亮度,如果高低是 0:10,这时全部是低电平,就是最亮的。 实际上应用中,电视屏幕墙中的几十百万 LED 象素都是这样控制的,而且每一个象素 都有红绿蓝 3 个 LED,每个 LED 可以变化的亮度是几百到几万或者更多的级别,以实现真 彩色的显示。还有在您的手机中,背光灯的亮度如果是可以变化的,也应该是这种工作方式。 目前的城市彩灯也有很多都使用了 LED,需要控制亮度是也是 PWM 控制。 下面来分析我们的例程,在这个例程中,我们将定时器 2 溢出定为 1/1200 秒。每 10 次脉冲输出一个 120HZ 频率。这每 10 次脉冲再用来控制高低电平的 10 个比值。这样,在 每个 1/120 秒的方波周期中,我们都可以改变方波的输出占空比,从而控制 LED 灯的 10 个 级别的亮度。 为什么输出方波的频率要 120HZ 这么高?因为如果频率太低,人眼就会看到闪烁感 觉。一般起码要在 60HZ 以上才感觉好点,120HZ 就基本上看不到闪烁,只能看到亮度的变 化了。 下面请看程序,程序中有比较多的注释: ――――――――――――――――――――――― #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一个 52 标准内核的头文件 sbit P10 = P1^0; //要控制的 LED 灯 sbit K1= P3^2; //按键 K1 uchar scale;//用于保存占空比的输出 0 的时间份额,总共 10 份 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 //模拟 PWM 输出控制灯的 10 个亮度级别 void main(void) // 主程序 { uint n; RCAP2H =0xF3; //赋 T2 的预置值,溢出 1 次是 1/1200 秒钟 RCAP2L =0x98; TR2=1; //启动定时器 ET2=1; //打开定时器 2 中断 EA=1; //打开总中断 while(1) //程序循环 { ;//主程序在这里就不断自循环,实际应用中,这里是做主要工作 for(n=0;n<50000;n++); //每过一会儿就自动加一个档次的亮度 scale++; if(scale==10)scale=0; } } //1/1200 秒定时器 2 中断 timer2() interrupt 5 { static uchar tt; //tt 用来保存当前时间在一秒中的比例位置 TF2=0; tt++; if(tt==10) //每 1/120 秒整开始输出低电平 { tt=0; if(scale!=0) //这里加这一句是为了消除灭灯状态产生的鬼影 P10=0; } if(scale==tt) //按照当前占空比切换输出高电平 P10=1; } ―――――――――――――――――― 在主程序中,每延时一段时间,就自动换一个占空比,以使亮度自动变化,方便观察。 编译,运行,看结果。 可以看到,LED 的亮度以每种亮度 1 秒左右不断变化,共有 10 个级别。
上传时间: 2017-11-06
上传用户:szcyclone
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3;
上传时间: 2017-12-24
上传用户:Ariza
LM317L SOP8 恒流,恒压稳压芯片
上传时间: 2018-02-25
上传用户:guoyin
#include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x学院 y专业 z班级*/ int z[100]; main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------学生成绩管理-----\n"); printf("请按相应数字键来实现相应功能\n"); printf("1.录入学生信息 2.录入学生成绩 3.修改学生成绩\n"); printf("4.查询学生成绩 5.不及格科目及名单 6.按班级输出学生成绩单\n"); printf("请输入你要实现的功能所对应的数字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("请输入你的学院名称:"); gets(x); printf("请输入你的专业名称:"); gets(y); printf("请输入你的班级号:"); scanf("%d",&z); printf("请输入你们一个班有几个人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("请输入第%d个学生的学号:",i+1); scanf("%d",xuehao[i]); getchar(); printf("请输入第%d个学生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已经录入完毕您的班级所有学生的信息!\n"); printf("您的班级为%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t录入学生的成绩\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t数学:"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英语:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc语言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循环变量*/ int m[10000];/*要查询的学号*/ int b;/*修改后的成绩*/ char kemu[20]=""; printf("请输入你要修改的学生的学号"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); printf("请输入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="数学"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英语"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c语言"); { scanf("%d",&b); c[i]=b; } printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("请输入你的专业名称"); scanf("%s",&zyname); printf("请输入你的班级号"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("专业名称%s班级号%d数学成绩%d英语成绩%dc语言成绩%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }
标签: c语言
上传时间: 2018-06-08
上传用户:2369043090
本人经过验证的,自己亲自测试的,绝对可以使用!
标签: 12V LED 交流电 输入 直流 恒流恒压 原理图 驱动
上传时间: 2019-03-14
上传用户:wangzhan3344
SP3413是一款输入耐压可达42V,7~32V输入电压条件正常工作,并且能够实现恒压以及恒流的同步降压型DC-DC控制器。SP3413内置功率MOS,可支持3.1A持续输出。输出2A时系统转换效率可达95%,并可完整支持100%占空比。 联系人:唐云先生(销售工程) 手机:13530452646(微信同号) 座机:0755-33653783 (直线) Q Q: 2944353362
标签: FP6601Q SP3413 QC3.0车充方案IC
上传时间: 2019-03-18
上传用户:lryang
8310是一款内部集成了上、下MOS管的同步整流降压型高效率开关变换器,上、下管的规格分别为36V 耐压/360 mΩ内阻,36V耐压/170mΩ内阻。该变换器可以在4.5V~36V的宽输入电压范围内输出1.5A连续电流。内部采用了逐周期的峰值电流控制模式,使得芯片能够实现快速动态响应的要求。同时8310集成了线补,内部补偿电路,可设置的输出电流限流电路。CC/CV控制电路,保证了输出在恒压和恒流控制之间进行平滑的切换。外置可编程软起动时间电路可以很好的限制芯片启动时的输入启动冲击电流。 联系人:唐云先生(销售工程) 手机:13530452646(微信同号) 座机:0755-33653783 (直线) Q Q: 2944353362
上传时间: 2019-03-18
上传用户:lryang
不错的单线级联,41ma的3路LED恒流驱动
上传时间: 2020-12-23
上传用户:
194个Protel99ses设计经典电路原理图PCB工程文件合集,可以做为你的学习设计参考1820温度采集.ddb2003院电子竞赛.ddb2005CCTVROBOT.ddb2051流水灯.ddb232通信电路.ddb300M射频遥控电路.ddb458通信.ddb4X4动态扫描键盘.ddb4X4键盘.ddb51单片机最小系统.ddb555延时关灯.ddb61A板电路原理图.DDB8人表决器.ddbADC0832.DDBaltra下载电缆.DDBARM7MP3.ddbARMPower.ddbAtmega128.DDBATMEGA162.ddbATmega8最小系统板.ddbAVR.LibAVRJTAG.ddbAVR_KIT_MAINBOARD_v23_M2_OUT.DDBAVR_OSD.DDBAVR下载器.DDBBH1417+2051.DDBC2051红外遥控器.DdbCCD_control_1.ddbCLAADD8S.DDBCOM-RS232.ddbcommon.ddbdatacollector.ddbdds-huang1.ddbDDS_FPGA.ddbDDS_FPGA_OK.ddbDS12887.DDBFPGA-10K10单片机配置.DDBFPGA下载线.DdbGpro--桂电烧.DDBhuangqin.ddbhuangqin_2007-11-20.ddbI2C脉宽调制器.ddbICL7107.DDBIDE-TO-USB.ddbISP下载线.Ddbj113与k399功放.ddbLED电子钟.ddbLIJING.ddbLM3886功率放大器.DdbLM3S101核心板.ddbLPC2131pack.DdbLPC2292.ddbMAX7219.DDBMCU-Control.DDBOLED.ddbPCB1.DDBPCB11.DDBPCM语音编解码.ddbPC红外遥控器.ddbPT2262_PT2272无线收发-OK.DdbPT2262_PT2272无线收发.DdbPWM电机驱动.ddbRTL8019网卡.ddbSD_CARD_99SE.DDBTC1297功放.ddbTDA2004功放.ddbTDA2030功放.ddbTDA7240 功放.ddbTDA7294.ddbTDA7294功放.ddbtest.ddbWIGGLE.DDB三极管动态LED.ddb串行LCD驱动.Ddb串行显示模块.ddb串行点阵LCD.ddb串行键盘165-完成.ddb串行键盘165.ddb主控板.DDB主控板1.DDB交通灯交通灯.ddb低频功率放大器.ddb信号号发生器.ddb光控变色蠕虫.ddb八路AD.ddb具有看门狗的单片机电机控制.ddb冷光电源.ddb出租车计费器.ddb单片机在线编程板-下载板.Ddb单片机编码-机器人.Ddb单片机编码2-机器人.Ddb单片机解码-机器人.Ddb单片机解码2-机器人.Ddb参考电路.DDB双15V+5V稳压电源.ddb双稳压电源.Ddb基于1302的万年历8951.ddb基于M16的信号采集系统.ddb基于MC145170的调频锁相环收音机.Ddb声控延时灯.ddb多功能定时器.ddb多功能编程器.ddb完美的编程器.DDB巡线板.DDB常用封装库1.Ddb常用库元件.Ddb广西电子竞赛.ddb序列号发生器.ddb彩电待机节电器.DDB微机综合设计.ddb手机.DDB打印专用.Ddb控制板.DDB搜球机.ddb搜球机_完成.ddb搜球机通信电路.ddb放大器.DDB教室灯控制器.ddb数字电位器.Ddb数字钟1.ddb数控电压表.ddb数控电源.DDB数控直流电流源.ddb数码管1.DDB数码音响修改完成无线串口通信.ddb无线报警器.ddb智能充电器--OK.ddb智能充电器-huang.DDB智能车--完成.ddb最简单的AVR编程器模电实验.ddb步进电机控制-修改版.DDB水开报警器.ddb水温控制器.ddb汽车防盗器.ddb波形发生器1.Ddb波形发生器1完成.Ddb涡流测厚仪涡流测厚仪-8位低精度.ddb涡流测厚仪.ddb液体点滴速度监控装置.ddb温度定时巡检系统.ddb温湿度控制.ddb滤波器.ddb激光测液位.Ddb电机伺服控制.ddb电机控制电路.ddb电机驱动模块.ddb电源.ddb电话报警器.ddb直接合成信号发生器.ddb看门狗MAX813L.ddb稳压电源.ddb简易51单片机编程器简易无线红外耳机.ddb简易编程器-卢打印.DDB简易编程器-黄.Ddb简易频率特性测试仪.ddb精密光电放大器0.ddb精密光电放大器1-黄.ddb精密恒流源数控部分.ddb精密放大器1.ddb红外发射器.ddb红外循迹.ddb红外接收头放大与整形电路.ddb红外控制灯.ddb红外线光控开关.ddb红外遥控数字钟.Ddb红外遥控电子钟.ddb耳机放大器.ddb自制PIC单片机编程器电路.DDB自适应巡线板.ddb舞蹈机器人.ddb调光电路.ddb通用放大器-错误.Ddb通用放大器.Ddb铁人三项.ddb锁相环函数发生器-修改.Ddb锁相环函数发生器-原版.Ddb锁相环函数发生器_优化版.ddb锁相环电机稳速.ddb频率计.ddb高精度信号放大与采集器.ddb高精度频率计.ddb
标签: protel99ses 电路 原理图 pcb
上传时间: 2021-10-25
上传用户:slq1234567890
HX3330B 是一款内置 100V 功率 NMOS 高效率高 精度开关升压型大功率 LED 恒流驱动芯片。HX3330B 采用固定关断时间的锋值电流控制方式,关断时间 可以通过外部电容进行调节,工作频率可以根据用 户要求而改变。 HX3330B 通过调节外置的电流采样电阻,能控 制高亮度的 LED 灯的驱动电流,使 LED 灯亮度达到 预期恒定亮度。 HX3330B 在 EN 端加 PWM 信号,可以进行 LED 灯 调光。HX3330B 内部还集成了 VDD 稳压管,软启动 及过温保护电路灯,减少外围元件并提高了系统的 可靠性。HX3330B 并采用了 ESOP8 封装。散热片内置接 SW 脚。
标签: HX3330B
上传时间: 2021-11-05
上传用户:1208020161