打印

//晟矽微单片机编程第九天PWM

[复制链接]
668|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
34af9uc|  楼主 | 2020-10-28 23:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//晟矽微单片机编程第九天PWM
//qq:74145445
//快手:共同学习stm8
//2020102521.39
/**************************************************/
//                                              MC32P7311
//                                           _____@_____
//           pwm  --p16|1                      16|p17--anjian
//                                vdd|2                       15|vss
//                --p15|3                      14|p00--
//                --p14|4                      13|p01--
//                --p13|5                      12|p02--
//                --p12|6                      11|p03--
//                --p11|7                      10|p04--
//                --p10|8_________9|p05--

/**************************************************/
#define                   bit0                      0b00000001
#define                   bit1                      0b00000010
#define                   bit2                      0b00000100
#define                   bit3                      0b00001000
#define                   bit4                      0b00010000
#define                   bit5                      0b00100000
#define                   bit6                      0b01000000
#define                   bit7                      0b10000000

/**************************************************/
#define                   led0                                 P00D
#define                   led0_oe                              P00OE
#define                   anjian                               P17D
#define                   anjian_oe                     P17OE
#define                   anjian_pu                     P17PU
#include"MC32P7311.h"


void           main()
{

/**************************************************/
//T0CR
//TC0EN                     =1;                   //启动T0
PWM0OE                    =1;                   //允许PWM0输出
BUZ0OE                    =0;                   //禁止BUZ0
T0PTS1                    =1;
T0PTS0                    =0;                   //FLOSC
T0PR2                     =0;
T0PR1                     =0;
T0PR0                     =0;                   //预分频/1
//T0CNT                                         //T0CNT的值(增长)
T0CNT                     =99;
//T0LOAD                                 //T0重载值
T0LOAD                    =99;
//T0DATA                                 //PWM0高电平时间
T0DATA                    =50;
/**************************************************
           T0CR=0x40;                    //PWM1输出  Fcpu         1分频        0.25us
           T0CNT=100-1;
           T0LOAD=100-1;
           T0DATA=50;

//           PWMCR0=0xA4;                      //FPWM输出  FPWM取反 2*TPWM
//           PWMCR1=0x00;                      //T1时钟为Fcpu,TMRCKS无效
          
           TC0EN=1;
/**************************************************/

led0_oe                              =1;                   //输出模式
anjian_oe                     =0;
anjian_pu                     =1;                   //上拉电阻
led0                                 =1;
/**************************************************/
TC0EN                     =1;                   //启动T0
for(;;)
{
if(!anjian)
{
while(!anjian){}           //松手
led0           ^=1;                      //取反

//if(led0==1){led0=0;}
//         else{led0=1;}

}

}


}



















使用特权

评论回复

相关帖子

发新帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

285

主题

442

帖子

55

粉丝