欢迎访问吾小秘【www.wxiaomi.cn】,您身边的文字小秘书!

LED闪烁试验5个例程专题

时间:

LED闪烁试验5个例程专题3篇

  下面是范文网小编整理的LED闪烁试验5个例程专题3篇,供大家参考。

LED闪烁试验5个例程专题3篇

LED闪烁试验5个例程专题1

  STM32定时器中断使LED灯闪烁 知识点:

  Stm32共有11个定时器:

  1.两个高级定时器:TIM1、TIM8-------------------------APB2 2.四个通用定时器:TIM2~TIM5-------------------------APB1 3.两个基本定时器:TIM6、TIM7-------------------------APB1 4.两个看门狗

  5.一个系统嘀嗒定时器(SysTick)主程序: #include “” #include “stm32f10x_” #include “stm32f10x_” #include “stm32f10x_” #include “stm32f10x_” #include “system_” #include “”

  void RCC_Configuration(void);void GPIO_Configuration(void);void TIM3_Configuration(void);void NVIC_Configuration(void);

  int main(){ SystemInit();

  RCC_Configuration();GPIO_Configuration();TIM3_Configuration();NVIC_Configuration();while(1);}

  void RCC_Configuration(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);}

  void GPIO_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure;

  GPIO__Pin = GPIO_Pin_2|GPIO_Pin_3;GPIO__Speed = GPIO_Speed_50MHz;GPIO__Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);}

  void TIM3_Configuration(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

  TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

  TIM__Period = 2000;//频率:72MHz /=2000 TIM__Prescaler = ;//-1= TIM__ClockDivision = 0x0;TIM__CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

  TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);TIM_Cmd(TIM3,ENABLE);}

  void NVIC_Configuration(void)//配置中断优先级 { NVIC_InitTypeDef NVIC_InitStructure;

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

  NVIC__IRQChannel = TIM3_IRQn;NVIC__IRQChannelPreemptionPriority = 0;NVIC__IRQChannelSubPriority = 1;NVIC__IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);} 中断函数stm32f10x_ #include “..” #include “..includestm32f10x_” #include “..includestm32f10x_” #include “..includestm32f10x_”

  void TIM3_IRQHandler(void){ TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

  if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)==Bit_RESET){ GPIO_SetBits(GPIOA,GPIO_Pin_2);}else{ GPIO_ResetBits(GPIOA,GPIO_Pin_2);} } 中断函数声明头文件stm32f10x_: #ifndef __STM32F10x_IT_H #define __STM32F10x_IT_H void NMIException(void);void HardFaultException(void);void MemManageException(void);void BusFaultException(void);void UsageFaultException(void);void DebugMonitor(void);void SVCHandler(void);void PendSVC(void);void SysTickHandler(void);void WWDG_IRQHandler(void);void PVD_IRQHandler(void);void TAMPER_IRQHandler(void);void RTC_IRQHandler(void);void FLASH_IRQHandler(void);void RCC_IRQHandler(void);void EXTI0_IRQHandler(void);void EXTI1_IRQHandler(void);void EXTI2_IRQHandler(void);void EXTI3_IRQHandler(void);void EXTI4_IRQHandler(void);void DMA1_Channel1_IRQHandler(void);void DMA1_Channel2_IRQHandler(void);void DMA1_Channel3_IRQHandler(void);void DMA1_Channel4_IRQHandler(void);void DMA1_Channel5_IRQHandler(void);void DMA1_Channel6_IRQHandler(void);void DMA1_Channel7_IRQHandler(void);void ADC1_2_IRQHandler(void);void USB_HP_CAN_TX_IRQHandler(void);void USB_LP_CAN_RX0_IRQHandler(void);void CAN_RX1_IRQHandler(void);void CAN_SCE_IRQHandler(void);void EXTI9_5_IRQHandler(void);void TIM1_BRK_IRQHandler(void);void TIM1_UP_IRQHandler(void);void TIM1_TRG_COM_IRQHandler(void);void TIM1_CC_IRQHandler(void);void TIM2_IRQHandler(void);void TIM3_IRQHandler(void);void TIM4_IRQHandler(void);void I2C1_EV_IRQHandler(void);void I2C1_ER_IRQHandler(void);void I2C2_EV_IRQHandler(void);void I2C2_ER_IRQHandler(void);void SPI1_IRQHandler(void);void SPI2_IRQHandler(void);void USART1_IRQHandler(void);void USART2_IRQHandler(void);void USART3_IRQHandler(void);void EXTI15_10_IRQHandler(void);void RTCAlarm_IRQHandler(void);void USBWakeUp_IRQHandler(void);void TIM8_BRK_IRQHandler(void);void TIM8_UP_IRQHandler(void);void TIM8_TRG_COM_IRQHandler(void);void TIM8_CC_IRQHandler(void);void ADC3_IRQHandler(void);void FSMC_IRQHandler(void);void SDIO_IRQHandler(void);void TIM5_IRQHandler(void);void SPI3_IRQHandler(void);void UART4_IRQHandler(void);void UART5_IRQHandler(void);void TIM6_IRQHandler(void);void TIM7_IRQHandler(void);void DMA2_Channel1_IRQHandler(void);void DMA2_Channel2_IRQHandler(void);void DMA2_Channel3_IRQHandler(void);void DMA2_Channel4_5_IRQHandler(void);

#endif /* __STM32F10x_IT_H */

LED闪烁试验5个例程专题2

  项目2:用8253控制LED闪烁

  一、项目要求与目的1、项目要求:编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出接在一个LED上,运行后可观察到该LED不停闪烁。

  2、项目目的:

(1)

  学习8253可编程定时器/计数器定时方法。

(2)学习8253多级串联实现大时间常数的定时方法。

(3)学习8086控制8253可编程定时器的方法。

  二、项目电路连接与说明

  1、项目电路连接:8253的片选孔用导线接至译码处CS0插孔,CLK0接至OUT1插孔上,CLK1接至1MHz插孔上,GATE0和GATE1接至+5V电源插孔上,OUT0接至发光二极管LED0的阴极上。

  2、项目说明:用8253对标准脉冲信号进行计数,就可以实现定时功能,8253的工作频率为0~2MHZ,所以输入的CLK频率必须在2MHZ以下。用实验板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在次,就可以在定时器的管脚上输出1秒钟。由于8253每个计数器只有十六位,因此要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转

  由于定时常数过大,就要用多级串联方式。本实验采用两级计数器。定时常数分别为100和。将计数器1的输出OUT1接到计数器0输入CLK0上,计数器0的输出接到LED0。

  三、项目电路原理框图

  用8253控制LED闪烁的电路原理框图如图6所示。电路由8086CPU芯片、8253芯片、频率1MHz和发光二极管LED等组成。

  四、项目程序设计

  1、程序流程图

  用8253控制LED闪烁程序流程图

  2、程序清单

  请写出用8253控制LED闪烁程序清单。

  CODE

  SEGMENT

  ASSUME

  CS:CODE

  ORG

  100H

  START

:

  MOV

  AL,36H

(0011

  0110)

;

  计数器0初始化,16位,方式3,二进制

  MOV

  DX,04A6H

;8253控制地址端口

  OUT

  DX,AL

  MOV

  AX,2710H

;计数值

  MOV

  DX,04A0H

  OUT

  DX,AL

;

  计数器低八位

  MOV

  AL,AH

  OUT

  DX,AL

;

  计数器高八位

  MOV

  AL,74H(0111

  0100)

;

  计数器1初始化,16位,方式2,二进制

  MOV

  DX,04A6H

  OUT

  DX,AL

  MOV

  AX,64H

;计数值

  MOV

  DX,04A2H

  OUT

  DX,AL

;

  计数器低八位

  MOV

  AL,AH

  OUT

  DX,AL

;

  计数器高八位

  BG:

  JMP

  BG

  CODE

  ENDS

  END

  START

LED闪烁试验5个例程专题3

  LED灯闪烁原因分析(转)

  闪烁有很多原因,但最终表现就是电子变压器没有真正的进入连续工作状态.从电子变压器的原理可以分析的出大部分常见的电子变压器是电流正反馈驱动的形式.也就是说,当负载小到一定值的时候,ET将得不到足够的反馈能量而停振.这也是很多电子变压器出厂时在外壳上印上额定负载“xxW~xxW”的原因.当然LED要恒流驱动,又要节能.恒流驱动一般表现为容性和感性.当驱动电路的滤波电容电压为0V时,接通电子变压器的瞬间,将会对电容大电流充电,此时ET工作.随着电容电压升高,充电电流减小.此时ET得到的反馈电流不足维持其工作而停止.这时电容开始放电,当电容电压够底,又刚好在电子变压器触发脉冲到来时,电子变压器才又重新工作.然而电子变压器前端一般没有滤波电容,所以在AC输入的正弦波过零点时电子变压器一定会关断^由于不同的电子变压器的参数及触发时间和反馈能量不相同.导致目前的驱动不能适应多款电子变压器的原因.要想适应多款的变压器需要处理变压器的过流保护问题,如何让小的负载连续工作问题,如何大电流持续吸取变压器能量(维持变压器在触发后连续工作),如何在电子变压器过“0”点关断到重新启动过程中维持负载连续工作?

  目前几种做法:

  BUCK架构 特点:低压大电流典型BUCK=>1*3W LED发热大,光效底 闪烁几率降低.BUCK架构 特点:高电压小电流 典型BUCK=>3*1W LED 发热小,电压利用率底 闪烁几率很高

  BUCK-BOOST架构高压小电流 典型BUCK-BOOST=>3*1W~9*1W 热量稍大,电压利用率高.闪烁机率很底.由此几种架构来看,站在推广和应用层面考虑,最有优势的还是BUCK-BOOST的架构.(转自klsen)

LED闪烁试验5个例程专题3篇

将本文的Word文档下载到电脑,方便收藏
推荐度:
点击下载文档文档为doc格式