STM32 仿真PWM呼吸灯,要用Proteus8.15及以上版本运行
单片机源程序如下:- #include "stm32f10x.h"
- #include "led.h" //LED
- #include "key.h" //按键
- #include "OLED.h" //OLED显示屏
- #include "timer.h" //定时器中断
- #include "PWM.h" //PWM输出
- #include "delay.h"
- uint16_t Time_Num =0 ; //定时器中断的计数值
- uint16_t i =0 ;
- int main(void)
- {
- delay_init();
- Led_Init();
- ExtiKey_Init(); //PB14
- OLED_Init();
- Timer_Init();
- PWM_Init();
-
- OLED_ShowString(1,1,"EXTI_count: "); //外部中断EXTI(按键)
- OLED_ShowString(2,1,"Time_Num:"); //定时器中断TIM
- OLED_ShowString(3,1,"PWM: ");
-
- while(1){
- for(i=0;i<=100;i++){
- PWM_SetCompare1(i); //设置CCR寄存器的值
- delay_ms(10);
- OLED_ShowNum(3, 6, i , 3);
- }
- for(i=0;i<=100;i++){
- PWM_SetCompare1(100-i);
- OLED_ShowNum(3, 6, 100-i , 3);
- delay_ms(10);
- }
- OLED_ShowNum(1, 12, ExtiKey_Get(), 5);
- OLED_ShowNum(2, 10, Time_Num , 5);
-
- }
- }
复制代码
仿真程序下载:
PWM驱动LED呼吸灯.7z
(361.5 KB, 下载次数: 57)
|