单片机 PWM输出 c
来源:互联网 发布:美国2016年gdp数据 编辑:程序博客网 时间:2024/04/30 01:37
#include<reg52.h>
#include<intrins.h> //包含_nop_(),汇编中的子函数
#define uchar unsigned char
sbit PWM=P1^0; //PWM输出
uchar count,PWMH; //count组波计数,PWMH设置高低挡
void delay(uchar i) //延时100us,和定时器组波无光,可自己随意定义
{
uchar j;
for(;i>0;i--)
{
for(j=100;j>0;j--)
{
_nop_(); //一个机器周期;
}
}
}
void timer0() interrupt 1
{
if(PWMH==0) //0档,全0
PWM=0;
else if(PWMH==10) //1档,全1
PWM=1;
else //组波
{
if(count++<PWMH) //举例PWMH=1,则第一次count=0(然后就++);执行一次(即只能进入中断一次);以后则为0
PWM=1;
else
PWM=0;
if(count>=10) //count=10,即为到了一个周期,重新计数
count=0;
}
}
void main()
{
TMOD=0x02; //工作方式2(自动再装入,预置数方式)
TL0=265-100; //低八位放初值;高八位放预置数;定时100次
TH0=265-100; //八位寄存器,故为265
count=0;
PWMH=0;
TR0=1; //启动定时器1
ET0=1; //定时器0中断允许
EA=1; //cpu中断允许
while(1)
{
PWMH=0;
delay(200); //延时20ms
PWMH=1;
delay(200);
PWMH=2;
delay(200);
PWMH=3;
delay(200);
PWMH=4;
delay(200);
PWMH=5;
delay(200);
PWMH=6;
delay(200);
PWMH=7;
delay(200);
PWMH=8;
delay(200);
PWMH=9;
delay(200);
PWMH=10;
delay(200);
}
}
#include<intrins.h> //包含_nop_(),汇编中的子函数
#define uchar unsigned char
sbit PWM=P1^0; //PWM输出
uchar count,PWMH; //count组波计数,PWMH设置高低挡
void delay(uchar i) //延时100us,和定时器组波无光,可自己随意定义
{
uchar j;
for(;i>0;i--)
{
for(j=100;j>0;j--)
{
_nop_(); //一个机器周期;
}
}
}
void timer0() interrupt 1
{
if(PWMH==0) //0档,全0
PWM=0;
else if(PWMH==10) //1档,全1
PWM=1;
else //组波
{
if(count++<PWMH) //举例PWMH=1,则第一次count=0(然后就++);执行一次(即只能进入中断一次);以后则为0
PWM=1;
else
PWM=0;
if(count>=10) //count=10,即为到了一个周期,重新计数
count=0;
}
}
void main()
{
TMOD=0x02; //工作方式2(自动再装入,预置数方式)
TL0=265-100; //低八位放初值;高八位放预置数;定时100次
TH0=265-100; //八位寄存器,故为265
count=0;
PWMH=0;
TR0=1; //启动定时器1
ET0=1; //定时器0中断允许
EA=1; //cpu中断允许
while(1)
{
PWMH=0;
delay(200); //延时20ms
PWMH=1;
delay(200);
PWMH=2;
delay(200);
PWMH=3;
delay(200);
PWMH=4;
delay(200);
PWMH=5;
delay(200);
PWMH=6;
delay(200);
PWMH=7;
delay(200);
PWMH=8;
delay(200);
PWMH=9;
delay(200);
PWMH=10;
delay(200);
}
}
0 0
- 单片机 PWM输出 c
- STM32单片机PWM输出测试
- STM32单片机学习---PWM输出
- 51单片机输出pwm波形
- 利用51单片机输出pwm
- STM32单片机学习(6) PWM输出实验
- 使用51单片机输出PWM控制舵机
- STM8S105系列单片机的PWM输出配置
- PIC单片机输出比较(PWM)模块介绍
- 基于stm32单片机的可调节pwm输出
- 51单片机按键控制输出pwm的占空比
- 5、SONIX单片机TC0、TC1的pwm输出
- 关于STC单片机硬件PWM的分析(PCA),对PWM输出频率的改变
- PWM输出
- PWM输出
- 单片机定时器产生pwm
- 51单片机模拟PWM
- PIC单片机之PWM
- 0024 java中String创建比较最详细解释【入门】
- mysql定时备份数据库的shell
- Guava扩展工具包
- AUPE学习第七章------进程环境
- Android菜鸟的成长笔记(6)——剖析源码学自定义主题Theme
- 单片机 PWM输出 c
- 获取手机号码 归属地的接口
- 线性查找-数组最大距离
- USB设备驱动
- UVa 10891 Game of Sum / 记忆化搜索
- WAP获取部分手机号码测试代码
- 线性查找-股票最佳收益
- Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!
- 题目1081:递推数列