51单片机定时器PWM发生

1.功能

定时器t1 (0.5ms)中断] 中断中做 PWM 输出

------------1000/(0.02ms*250)=200Hz

2.代码

cpp 复制代码
/********************************************************************************
*  标题: 恒速运行                                                               *
*																				*
*********************************************************************************
* 通过本例程了解PWM 的基本原理和使用 											*
* 																				*
*                        	                                                    *
* 						                	                                    *
*********************************************************************************/



#include <reg52.h>

unsigned char timer1; 
sbit PWM=P1^1;

void system_Ini()
{
    TMOD|= 0x11;
	//PWM  
	TH1 = 0xfe; //11.0592m
	TL1 = 0x33;
	TR1  = 1; 
    IE =0x8A;	
}

 main()
{
  system_Ini();
  while(1)		 
  { if(timer1>100) timer1=0;
    if(timer1<30) PWM=0;
    else PWM=1;

   }


 }

/*************************************
 [ t1 (0.5ms)中断] 中断中做 PWM 输出
  ------------1000/(0.02ms*250)=200Hz
*************************************/
void T1zd(void) interrupt 3    //3 为定时器1的中断号  1 定时器0的中断号 0 外部中断1 2 外部中断2  4 串口中断
{
	TH1 = 0xfe; //11.0592
	TL1 = 0x33;
	 timer1++;
    
}

3.运行结果

相关推荐
新晨单片机设计2 小时前
S001A-基于STM32单片机超声波视力保护仪【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
星河单片机2 小时前
STM32驱动Y01-3IN1空气质量模块+OLED显示完整教程
stm32·单片机·嵌入式硬件·空气质量·甲醛检测·二氧化碳检测·tvoc检测
玩转单片机与嵌入式2 小时前
深入浅出TinyML 21:INT8量化改变了模型中的哪些数据?
stm32·深度学习·tinyml
别催小唐敲代码2 小时前
stm32_mpu6050_滤波教程
stm32·单片机·嵌入式硬件
CPETW2 小时前
USB TO I2C_(Excel)_Scan ---- 1000KHz总线速率测试_A
c语言·开发语言·网络·科技·单片机
一条破秋裤3 小时前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
单片机仿真设计3 小时前
【proteus仿真】基于 51 单片机距离传感器警报装置设计(仿真图+程序)
单片机·嵌入式硬件·51单片机·proteus·毕设
一条破秋裤4 小时前
STM32 学习笔记:GPIO 输出原理与硬件设计
笔记·stm32·学习
单片机仿真设计5 小时前
【proteus仿真设计】基于 STM32 单片机火灾监测报警系统设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
一条破秋裤5 小时前
STM32 学习笔记:OLED 调试工具与 Keil 在线调试
笔记·stm32·学习