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.运行结果

相关推荐
起个网名真难~5 小时前
STM32F103_Bootloader_从零到UART升级成功_博客原稿
stm32·单片机·嵌入式硬件
二本咕咕-机械转码6 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
Zwawa7 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·单片机·嵌入式
小李不想当小白7 小时前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
Zw-awa9 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
stm32
La Pulga10 小时前
【FreeRTOS源码学习笔记】链表的实现
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
铅笔小新z13 小时前
【stm32】WWDG(窗口看门狗)
stm32·单片机·嵌入式硬件
comyccccc14 小时前
平衡车底板设计:精准布局与高效布线学习笔记
单片机·嵌入式硬件
La Pulga14 小时前
【FreeRTOS源码学习笔记】任务创建
笔记·stm32·mcu·学习·嵌入式·freertos·实时操作系统
芯片人00715 小时前
GEK100系列芯片进入上市公司上海移远通信供应链
人工智能·单片机·嵌入式硬件·物联网·芯片