虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

头文件

  • 模拟 PWM 输出控制灯的 10 个亮度级别

    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 个级别。

    标签: PWM 10 模拟 控制灯 亮度 输出

    上传时间: 2017-11-06

    上传用户:szcyclone

  • scancode.h

    dsp设计中需要的头文件,h文件,希望有所帮助

    标签: scancode

    上传时间: 2018-06-23

    上传用户:LeeSin

  • Eigen

    使用Eigen库的目的是,将Matlab写的,LPCC和MFCC两种声音识别算法,十字形声阵列的MUSIC定位算法,和SVM分类器算法,转换成C++然后移植到到ARM处理器上(操作系统级上的并不是裸机)。而使用Eigen库的原因就是,其能够在编译时进一步优化,而且只需导入头文件即可进行调用,而不像其他的一些库需要安装那么麻烦。

    标签: Eigen库 C++ 矩阵运算

    上传时间: 2019-11-26

    上传用户:perfectOR05

  • mysql_com.h

    mysql_com.h头文件mysql_com.h头文件mysql_com.h头文件mysql_com.h头文件mysql_com.h头文件

    标签: mysql_com

    上传时间: 2020-05-31

    上传用户:yyuu

  • 基于51单片机的RS485从机系统设计

    题目:基于51单片机的RS485从机系统设计   单片机接口资源配置: 1.   上电复位电路; 2.   晶振电路采用11.0592Mhz晶振; 3.   485接口电路(P3.7用于485芯片的收发控制,收发管脚接单片机的rxd和txd); 4.   P2口通过外部跳线接相应的高低电平,配置从机地址为组号; 5.   P3.6外接一发光二极管(注意串联电阻进行限流); 6.   P3.2外接一按键,断开高电平,按下低电平; 7.   按键检测采用外部中断方式,下跳沿触发; 8.   单片机定时器0以模式1(16位模式)工作,产生50ms的定时中断,并在此基础上设计一单片机内部时钟(24小时制,能计数时、分、秒、50ms值); 9.   单片机串行通信采用模式1非多机通信方式,采用9600波特率以串行中断方式进行数据的收发通信,主机地址为0xF0,广播地址为0xFF。   系统功能需求: 1.   系统配置和自检功能: l  从机上电后进行初始化,通过读取P2口进行从机地址配置; l  发光二极管以每秒一次的频率闪烁(亮0.5秒,灭0.5秒); l  检测到一次按键按下操作后,熄灭发光二极管。   2.   数据接收和按键计时功能: l  从机接收主机程序(PC机上的串口调试程序)的按键允许命令帧并进行校验; l  校验正确并且目的地址是广播地址或者本从机的地址,通过发光二极管长亮指示,并允许按键操作; l  按键按下后,尽可能准确记录按键的动作时点(定时器的低8位、定时器的高8位、50ms值、秒、分、小时); l  按键操作只能响应一次,重复按键操作不响应; l  按键的动作时点记录后,发光二极管以每秒一次的频率闪烁(亮0.5秒,灭0.5秒)。   3.   数据发送功能: l  从机接收主机程序发来的时钟数据搜索命令帧并进行校验; l  如果校验正确并且数据帧的目的地址是本从机的地址,从机将前面记录的按键动作时点数据(定时器的低8位、定时器的高8位、50ms值、秒、分、小时)按附录中的时钟数据返回帧的帧格式回传给主机; l  时钟数据返回帧回传结束后,熄灭发光二极管。   4.   校验和生成和检测功能: l  发送数据帧时能自动生成数据帧校验和; l  每帧数据在发送帧尾前,发送一字节的当前帧数据的校验和; l  接收数据帧时能检测校验和并判断接收数据是否正确。 附录:帧定义   校验和的计算:除去帧头和帧尾后将帧中的其他数据求和并取低8位; 帧长:不计帧头、帧尾和校验和字节。   按键允许命令帧: 帧头 帧长 目的地址 源地址 命令字 校验和 帧尾 AA 04 FF F0 01 F4 66   时钟数据搜索命令帧: 帧头 帧长 目的地址 源地址 命令字  保留字 校验和 帧尾 AA 05 01 F0 03 00 F9 66   时钟数据返回帧: 帧头 帧长 目的地址 源地址 命令字 TL0 TH0 50ms 秒 分 时 校验和 帧尾 AA 0A F0 01 07 01 B6 09 03 00 00 C5 66     帧结构头文件frame.h(内容如下) //帧格式定义 #define FRAME_HEAD 0xAA    //帧头 #define FRAME_FOOT 0x66    //帧尾 #define FRAME_LEN  0x00    //帧长 #define FRAME_DST_ADR 0x01  //目的地址 #define FRAME_SRC_ADR 0x02 //源地址 #define FRAME_CMD  0x03    //命令字 #define FRAME_DATA 0x04    //帧数据起始 //帧命令定义 #define READY 0x01         //按键允许命令 #define TIME_SERCH 0x03    //时钟数据轮询命令 #define TIME_BACK  0x07    //时钟数据返回命令 //地址定义 #define BROAD_ADR  0xFF    //广播地址 #define MASTER_ADR 0xF0    //主机地址        

    标签: 51单片机 从机通信

    上传时间: 2020-06-18

    上传用户:umuo

  • stdafx.h

    --stdafx.h中没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。 windows和mfc的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.cpp文件都包含相同的include文件,为每个.cpp文件都重复处理这些文件就显得很傻了。 为避免这种浪费,appwizard和visualc++编译程序一起进行工作,如下所示: --appwizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的mfcinclude文件。且这一文件可以随被选择的选项而变化。 --appwizard然后就建立stdafx.cpp。这个文件通常都是一样的。 --然后appwizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。 --当visualc++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。) --当visualc++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。visualc++不再分析windowsinclude文件,除非你又编辑了stdafx.cpp或stdafx.h。 在这个过程中你必须遵守以下规则: --你编写的任何.cpp文件都必须首先包含stdafx.h。 --如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。 --由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。 如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。

    标签: stdafx

    上传时间: 2021-05-19

    上传用户:1155

  • 高质量C++和C编程指南资料说明

    高质量C++和C编程指南资料说明[摘要]每个 C++/C 程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementaTIon),称为定义(definiTIon)文件。 C++/C 程序的头文件以“.h”为后缀,C 程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。 自从计算机问世以来,程序设计就成了令人羡慕的职业,程序员在受人宠爱之后容易发展成为毛病特多却常能自我臭美的群体。如今在 Internet 上流传的“真正”的程序员据说是这样的: (1) 真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。 (2) 真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。 (3) 真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。 (4) 真正的程序员不画流程图,原始人和文盲才会干这事。 (5) 真正的程序员不看参考手册,新手和胆小鬼才会看。 (6) 真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。 (7) 真正的程序员认为自己比用户更明白用户需要什么。 (8) 真正的程序员不接受团队开发的理念,除非他自己是头头。 (9) 真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个 30 小时的调试改错。 (10)真正的程序员不会在上午 9:00 到下午 5:00 之间工作,如果你看到他在上午 9:00 工作,这表明他从昨晚一直干到现在。 …… 具备上述特征越多,越显得水平高,资格老。所以别奇怪,程序员的很多缺点竟然可以被当作优点来欣赏。就象在武侠小说中,那些独来独往、不受约束且带点邪气的高手最令人崇拜。我曾经也这样信奉,并且希望自己成为那样的“真正”的程序员,结果没有得到好下场。

    标签: C++ C语言

    上传时间: 2021-10-26

    上传用户:

  • 利用STM32F103C8T6和0.96寸OLED实现旋转太空人

    借鉴了好多大佬的例程和图片取模做好的。使用4针iic通信的0.96寸oled,引脚连接方法可以通过查看iic.h头文件定义得到

    标签: stm32 oled

    上传时间: 2021-10-27

    上传用户:

  • 300个C51单片机设计proteus仿真源码软件源码: 100000秒以内的计时程序 10秒的秒表

    300个C51单片机设计proteus仿真源码软件源码:100000秒以内的计时程序10秒的秒表12864LCD图形滚动演示128X64LED160128LCD图文演示1602字符液晶滚动演示程序1602液晶显示的DS1302实时时钟16×16点阵(滚动显示)16×16点阵2(滚动显示)2io5键盘模拟音量数码管显示2×20串行字符液晶演示32x16汉字44行列键盘485全双工通信4×4键盘矩阵控制条形LED显示4个独立式按键控制LED开关4个独立式按键控制LED移位4只数码管滚动显示0~3555可调PWM发生器555的应用6264扩展内存6个16×16点阵74HC154译码器应用74HC59574HC595串入并出芯片应用74LS138译码器应用74LS148扩展中断8051双机通信简例8255并行口扩展实例89C51PWM8x8LED汉字显示8x8点阵做的贪吃蛇游戏8×8LED点阵屏显示数字8只数码管同时显示不同字符8只数码管显示多个不同字符8只数码管滚动显示8~F8只数码管滚动显示单个数字8只数码管滚动显示数字串8只数码管闪烁显示8通道自动温度检测系统仿真(含原程序)ADC0808 PWM实验ADC0809模数转换与显示ADC0832模数转换与显示AT89C51对直流电动机的驱动AVR_UartBCD译码数码管显示数字c51 可预设电压的数控电源(功能强大)clockConterCPU控制的独立式键盘扫描实验da、ad。液晶,传递函数模型综合应用的实例DIY51式数控电源DS1621温度传感器实验ds18b20DS18B20温度传感器实验DS18B20温度检测及其液晶显示HorseLightI2CIIC-24C04与数码管IIC-24C04与蜂鸣器INT0与INT1中断计数INT0中断3位计数INT0及INT1中断计数INT0和INT1控制条形LEDINT1中断5位计数IO并行口直接驱动单个数码管K1-K4 分组控制LEDK1-K4 控制LED移位K1-K4 控制数码管加减演示K1-K4 控制数码管移位显示K1-K4 键状态显示key_lcdks0108 液晶12864LCD频率计仿真LED代码查询V1[1].1LED模拟交通灯LED闪烁M16_AN_CompareM16_EEPROMM16_HorseMAX7221控制数码管动态显示my16key_cNT0中断控制LEDNT0中断计数NumberDisplayP3口流水灯PCF8574PCF8583+LCD1602PCF8591模数与数模转换实验proteus ADDC的练习程序PWMPWMLEDPWM控制LED的亮度仿真程序PWM控制马达的方法PWM波输出(可调)PWM电机正反转pwm程序实例PWM调温RAM扩展练习sscom32串口调试TIMER0与TIMER1控制条形LEDTIMER0控制LED二进制计数TIMER0控制单只LED闪烁TIMER0控制四只LED滚动闪烁TIMER0控制流水灯ULN2803usart_t《lcd1602仿真实例》一个数控直流稳压电源一个步进电机的仿真一步一步教你51_PC串口通信万能逻辑电路实验三机通讯串口仿真mcu_pc串口方式1串行数据转换为并行数据交通灯从左到右的流水灯光藕隔离驱动电机内部函数intrins.h应用举例净水控制器仿真电路刚做好的十个字的led屏模拟有程序包含单片机寄存器的头文件单只按键控制单只数码管滚动显示单只数码管循环显示0-9单只数码管循环显示0~F单片机与PC机串口通讯仿真单片机之间双向通信单片机向PC发送数据单片机向主机发送字符串单片机接收PC发出的数据单片机控制的电动自行车驱动系统单片机数据发送程序发一个用定时器做的PWM基于1602+ds12b80+ds1302+音乐+电子书+流水灯的多功能电子表基于ADC0832的数字电压表基于AT24C02的多机通信基于AT89C51+MAX7219的频率计 附带proteus仿真电路图 实际硬件电路测试通过基于DS1302的日历时钟基于yjwpm测试过的DS18B20仿真实例多功能电子钟多点温度测量多路开关状态指示大屏幕仿真子电路做的一个H型电机驱动电路字符串函数string.h应用举例字符函数ctype.h应用举例宏定义应用举例定时器中断控制的独立式键盘扫描实验定时器控制交通指示灯定时器控制数码动态显示定时器控制数码管动管显示对I2C总线上挂接多个AT24C0

    标签: c51 单片机 proteus 仿真

    上传时间: 2021-10-27

    上传用户:wangshoupeng199

  • STC12C5A60S2单片机DEMO软件程序源码+开发板PDF硬件原理图

    STC12C5A60S2单片机DEMO软件程序源码+开发板PDF硬件原理图:12程序12系统板原理图141202.pdfSTC12C5A60S2单片机DEMO软件程序源码+开发板PDF硬件原理图.zipSTC12C5A60S2头文件应用软件1602显示ADMMA7361角度传感器P4.6闪烁灯实验串口通讯数码管显示红外解码红外解码的应用

    标签: stc12c5a60s2 单片机

    上传时间: 2021-11-08

    上传用户: