资源简介
用STC12C5A60S2控制直流电机,PWM控制转速,按键s1、s2控制加速减速
因只控制一路电机所以只用到一路PWM,若用到两路则打开另一路即可

代码片段和文件信息
/**************************************************************
用STC12C5A60S2控制直流电机,PWM控制转速,按键s1、s2控制加速减速
因只控制一路电机所以只用到一路PWM,若用到两路则打开另一路即可
***************************************************************/
#include //头文件
sbit s1 = P2^3;//加速控制
sbit s2 = P3^7;//减速控制
unsigned int z;
//*********************//延时程序
void delay_ms(unsigned int time)
{
int xy;
for(x=time;x>0;x--)
for(y=115;y>0;y--);//229
}
//******************************
//******************PWM初始化程序
void PWM_init (void)
{
CMOD=0x02; //设置PCA定时器
CL=0x00;
CH=0x00;
CCAPM0=0x42; //PWM0设置PCA工作方式为PWM方式(0100 0010)
CCAP0L=0x00; //设置PWM0初始值与CCAP0H相同
CCAP0H=0x00; // PWM0初始时为0
CCAPM1=0x42; //PWM1设置PCA工作方式为PWM方式(使用时删除//)
CCAP1L=0x00; //设置PWM1初始值与CCAP0H相同
CCAP1H=0x00; // PWM1初始时为0
CR=1; //启动PCA定时器
}
//******************************
/**********************************************************************************************/
/*********************************************************************************************
函数名:PWM0占空比设置函数
调 用:PWM0_set();
参 数:0x00~0xFF(亦可用0~255)
返回值:无
结 果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平
备 注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可
/**********************************************************************************************/
void PWM0_set (unsigned char a)//PWM0是IO口P1.3
{
CCAP0L= a; //设置值直接写入CCAP0L
CCAP0H= a; //设置值直接写入CCAP0H
}
/*
void PWM1_set (unsigned char a)//PWM0是IO口P1.4
{
CCAP1L= a; //设置值直接写入CCAP1L
CCAP1H= a; //设置值直接写入CCAP1H
}*/
/**********************************************************************************************/
void main ()
{
PWM_init(); //PWM初始化
PWM0_set (0);
PWM0_set (z);
z=250;
while(1)
{
PWM0_set (z);// PWM信号输出
//delay_ms(500);
if(s2==0)
{
delay_ms(50);
if(s2==0)
{
while(s2==0);//等待按键松开
if((z+5)<250)
{
z+=5;
}
PWM0_set (z);
}
}
if(s1==0)
{
delay_ms(50);
if(s1==0)
{
while(s1 == 0);//等待按键松开
if(z>=5)
{
z-=5;
}
PWM0_set(z);
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2409 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\main.c
文件 5586 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\main.LST
文件 3913 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\main.OBJ
文件 3458 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM
文件 613 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.hex
文件 39 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.lnp
文件 5693 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.M51
文件 971 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.opt.bak
文件 379 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.plg
文件 2100 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.Uv2.bak
文件 73137 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM.uvopt
文件 13226 2019-01-17 12:14 STC12C5A60S2内部PWM-DA程序\PWM.uvproj
文件 1134 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM_Opt.Bak
文件 0 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\PWM_Uv2.Bak
文件 17800 2019-01-17 12:13 STC12C5A60S2内部PWM-DA程序\STC12C5A60S2.h
目录 0 2019-01-17 12:14 STC12C5A60S2内部PWM-DA程序
----------- --------- ---------- ----- ----
130458 16
- 上一篇:一款实用的万能倍投计算器
- 下一篇:IP数据报的校验和算法
相关资源
- SG3525频率PWM控制均可调模块
- pwm控制驱动直流电机 可调速 可调转的
- PWM控制电机
- 三电平逆变器SVPWM控制
- Protues仿真8051-PWM控制LED的亮度仿真程
- Stm32_PWM控制LED由暗变亮占空比可调
- 开关电源的主要电路是由输入电磁干
- PWM控制技术
- PSCAD中的风电并网仿真模型,包含电池
- 基于FPGA的直流电机PWM控制
- 基于PWM控制同相Buck-Boost_DC-DC转换器研
- PWM控制LED亮度proteus仿真
- 实验9X stm32F407zgt6_PWM控制SG90输出实验
- 基于STM32F103的半桥、全桥移相PWM控制
- 异步电机SVPWM控制研究
- stm32f10x pwm控制四个电机正反转.zip
- STM32 PWM控制蜂鸣器实验
- 电压型PWM整流器的非线性控制王久和
- stm32f4麦克纳姆轮+机械臂多路pwm控制代
- 正弦波脉宽调制SPWM控制法
- STC89C52 pwm控制LED亮度等级汇编
- STC12C5A60S2+OLED+18B20温度+PWM控制喇叭报
- PWM控制LED灯渐亮渐灭实验.zip
- pwm控制马达方法实现调速
- PWM控制电动机的转速
- shepwm控制的逆变器仿真
- 三相pwm整流器仿真283942
- 基于SVPWM控制的三相光伏并网逆变器模
- 51单片机中用PWM控制LED亮度调节
- STM8S输出PWM控制模拟舵机+MPU6050陀螺仪
评论
共有 条评论