stm8s105k4单片机PWM波配置

最新更新时间:2021-11-25来源: eefocus关键字:stm8s105k4  单片机 手机看文章 扫描二维码
随时随地手机看文章


//ccr = 0~499

void setPWM1(unsigned short ccr){//PC1

  TIM1_CCR1H = (unsigned char)(ccr>>8);

  TIM1_CCR1L = (unsigned char)(ccr & 0xff);

}

void setPWM2(unsigned short ccr){//PC2

  TIM1_CCR2H = (unsigned char)(ccr>>8);

  TIM1_CCR2L = (unsigned char)(ccr & 0xff);

}

void setPWM3(unsigned short ccr){//PC3

  TIM1_CCR3H = (unsigned char)(ccr>>8);

  TIM1_CCR3L = (unsigned char)(ccr & 0xff);  

}

void setPWM4(unsigned short ccr){//PC4

  TIM1_CCR4H = (unsigned char)(ccr>>8);

  TIM1_CCR4L = (unsigned char)(ccr & 0xff);

}

void TIM1_init(void)

{

  TIM1_PSCRH = 0x01;    // 8M系统时钟经预分频f=fck/(PSCR+1)

  TIM1_PSCRL = 0x3F;    // PSCR=0x13f,f=8M/(0x13F+1)=25 000Hz,每个计数周期40us

  TIM1_ARRH = 0x01;     // 自动重载寄存器ARR=0x01F4=500

  TIM1_ARRL = 0xF4;     // 每记数500次产生一次中断,即20ms

  /**

  * PWM 配置

  */

  PC_DDR |= 0x1E; PC_CR1 |= 0x1E; PC_ODR &= ~0x1E;


  TIM1_CCMR1 = 0x78;

  TIM1_CCMR2 = 0x78;

  TIM1_CCMR3 = 0x78;

  TIM1_CCMR4 = 0x78;// Output mode PWM2.

                    // 通道 2 被设置成比较输出方式, OC2M = 111,为 PWM 模式 2, 向上计数时,若计数器小于比较值,为无效电平

  TIM1_CCER1 = 0x33;

  TIM1_CCER2 = 0x33;// CC polarity low,enable PWM output */

                    // CC2P = 1,低电平为有效电平

                    // CC2E = 1,开启输出引脚

  //设置占空比

  setPWM1(0);  setPWM2(0);

  setPWM3(0);  setPWM4(0);


  TIM1_EGR=0X01; //重新初始化计数器,并产生一个更新事件,可以不要

  TIM1_BKR=0x80; //主输出使能,必须要有


  TIM1_IER = 0x01;      // 允许更新中断

  TIM1_CR1 = 0x01;      // 计数器使能,开始计数

}


//main()

    int i = 0;

    for(i=0;i<23;i++){ setPWM1(i*i);delay_ms(50); }

    for(i=22;i>0;i--){ setPWM1(i*i);delay_ms(50); }

    for(i=0;i<23;i++){ setPWM2(i*i);delay_ms(50); }

    for(i=22;i>0;i--){ setPWM2(i*i);delay_ms(50); }

    for(i=0;i<23;i++){ setPWM3(i*i);delay_ms(50); }

    for(i=22;i>0;i--){ setPWM3(i*i);delay_ms(50); }

    for(i=0;i<23;i++){ setPWM4(i*i);delay_ms(50); }

    for(i=22;i>0;i--){ setPWM4(i*i);delay_ms(50); }

    setPWM1(0);  setPWM2(0);

    setPWM3(0);  setPWM4(0);

    delay_ms(3000);*/


关键字:stm8s105k4  单片机 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic555611.html

上一篇:STM8S单片机红外接收解码程序 带1602显示
下一篇:最后一页

推荐阅读

STM8S105K4使用硬件SPI来读取LSM9DS1
STM8S105K4使用硬件spi读LSM9DS1的注意SPI配置的几个要素:MSB、主从、PHASE_EDGE、POLARITY、NSS ;主机时钟和SPI的速度的匹配,需要测试。STM8的spi初始化函数中的CRC是个什么鬼?SPI读取LSM9DS1时,需要先指定读取地址,然后再发一个直接的时序,读取该地址的数据。此时一定把第一次读地址的数据(虽然没有用)也读出来。代码SPI_Cmd(ENABLE);    CS_M_L;    while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET);    SPI->DR
发表于 2020-02-20
STM8S105K4 SPI相关代码
/* 初始化函数 */void SPI_FLASH_Init(void){   SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_2, SPI_MODE_MASTER,            SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE,            SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT, 0x07);   SPI
发表于 2019-04-25
STM8S单片机红外接收解码程序 带1602显示
这几天在网上找了很多关于红外接收解码的程序,但都不是很理想。一般都是用延时来作为0和1的数据,或者注释不是很详细的,所以自己鼓捣了一个。本程序是采用外部中断加定时器1来实现红外解码,STM8S单片机ABCD口都可作为外部中断,使用的遥控器为市面上大多数的。需要的朋友们可以作为参考。制作出来的实物图如下:效果图单片机源程序如下:/***************可识别用户码 解码成功后显示在1602并LED闪烁一次*****************/#include "iostm8s208mb.h"//主控芯片的头文件#define u8  unsigned char#define u16
发表于 2021-11-25
STM8S<font color='red'>单片机</font>红外接收解码程序 带1602显示
车载屏的STM8单片机驱动 128x16点阵屏输出汉字
STM8单片机源程序:/*PE6  信号选择  0:控制卡   1: CPUPB7  5V电源控制  O:关   1:开*/#include <iostm8s105s4.h>#define        uint         unsigned    int#define        uchar        unsigned   
发表于 2021-11-25
STM8单片机无线315&433脉宽自适应_通用解码程序
单片机源程序如下:/*RFINT不能用PA1 要改板 改在PC6*//* Includes ------------------------------------------------------------------*/#define MAIN_C#include "ALL.h"void Delay(u16 nCount){  /* Decrement nCount value */  while (nCount != 0)  {    nCount--;  }}//10ms定时中断初始  在PWM时可更改void
发表于 2021-11-25
STM8单片机+EV1527无线315&433通用遥控解码程序
单片机源程序如下:/************************************************************************************************************        模块名称 : EV1527遥控解码*                  上升沿触发 触发中断后延时一段时间后检测引脚电平从而判断0 1采集上升沿触发后第6 10 14    
发表于 2021-11-25
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved