/************SU*************/
/*******QQ774145445*********/
/********20170414***********/
/*****PWM实现语音播放*******/
/****************************************/
//1^1=0(^1取反)
//0^1=1
//1^0=1(^0不变)
//0^0=0
/****************************************/
#include <stc15.h>
#define B0 0x01
#define B1 0x02
#define B2 0x04
#define B3 0x08
#define B4 0x10
#define B5 0x20
#define B6 0x40
#define B7 0x80
/****************************************/
void main()
{
/************IO口模式设置****************/
P0M0=0xff; //推挽模式
P0M1=0x00;
P0M0|=B1;
/********串口1@9600@11059200*************/
PCON &= ~B6; //SMOD0清0
SCON |= B6|B4; //SM1方式1//串口允许
AUXR |= B2|B0; //不分频//定时器2
T2L = 0xE0; //设定定时初值
T2H = 0xFE; //设定定时初值
IE = B7|B4; //开中断//串口中断
AUXR |= B4; //启动定时器2
/****************PWM*********************/
CCAPM0 |= B6|B1; //ECOM0PWM0
CCAP0L =0X20;
CCAP0H =0X20;
CCAPM0 |=B7|B1; //ECOM0//PWM0
CCON |= B6; //CR
/****************************************/
for(;;)
{
}
}
/****************************************/
void duang() interrupt 4 //串口1中断
{
if(RI)
{
SBUF=P0=SBUF;
RI=0;
}
if(TI)
{
TI=0;
}
}
/****************************************/