欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STC12C5A60S2單片機輸出spwm源碼 實測可行
[打印本頁]
作者:
a1234a5678a
時間:
2017-8-9 11:28
標(biāo)題:
STC12C5A60S2單片機輸出spwm源碼 實測可行
實測可行,stc12,13,14輸出。
所有資料51hei提供下載:
swpm輸出.docx
(12.19 KB, 下載次數(shù): 35)
2017-8-9 11:27 上傳
點擊文件名下載附件
spwm輸出代碼
下載積分: 黑幣 -5
單片機源程序如下:
#include<STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned int
uchar code pwm[54]={255,240,226,211,196,182,168,154,141,128,115,103,91
,80,69,59,50,42,34,27,20,15,10,6,3,1,0,
0,1,3,6,10,15,20,27,34,42,50,59,69,80,91,103,115,128,141,154,168,
182,196,211,226,240,255
}; // 反正弦變化
int index=0;
sbit P13=P1^3; //PCA模塊0輸出
sbit P14=P1^4; //PCA模塊1輸出
bit zf=0; //前后半周期標(biāo)志
void init_pca(void)//pca計數(shù)器初始化函數(shù)
{
CMOD=0x02;//計數(shù)器0的溢出為PCA計數(shù)器的時鐘源,允許pca中斷使能
CCON=0x00;
CCAPM0=0x42;//8位PWM輸出,無中斷
CCAPM1=0x42;//8位PWM輸出,無中斷
CL=0x00;//清零pca計數(shù)器
CH=0x00;
CCAP0L=pwm[50]; //初始化spwm輸出的占空比!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CCAP0H=pwm[0];
CCAP1L=pwm[0]; //初始化spwm輸出的占空比
CCAP1H=pwm[0];
CR=1;//運行pca計數(shù)器
}
void init_timer(void)//計數(shù)器初始化函數(shù)
{
TMOD= 0x01; //計數(shù)器0工作在方式模式1
TH0 = 0XF7;//T1的計數(shù)值為2048,若是11.0592M晶振,則中斷頻率為11.0592M/2048=5.4K
TL0 = 0xFF; //T1的計數(shù)值低位
AUXR=0xC0;//計數(shù)器均工作在1T模式。計數(shù)頻率11.0592M
ET0 = 1; //開中計數(shù)器0斷
TR0 = 1; //開啟計數(shù)器0
}
void int_timer0(void) interrupt 1//計數(shù)器1中斷函數(shù)
{
TH0=0xF7; //重裝計數(shù)值
TL0=0xFF;
index++; //查表索引
if(index==54) //半周期轉(zhuǎn)換,每半周期分為60份
{
CR=0; //關(guān)PCA計數(shù)
index=0;
zf=~zf; //半周期標(biāo)志,zf=0,前半周期,zf=1,后半周期
if(zf) //設(shè)置后半周期
{
P13=0;
CCAPM0=0X00; //關(guān)閉模塊0
CCAPM1=0X42; //設(shè)置模塊1工作方式
}
else //設(shè)置前半周期
{
P14=0;
CCAPM1=0X00; //關(guān)閉模塊1
CCAPM0=0X42; //設(shè)置模塊0工作方式
}
CR=1; //開PCA計數(shù)
}
if(zf==0) //將下一小格的占空比賦給相應(yīng)值
{
CCAP0H=pwm[index];
}
else
{
CCAP1H=pwm[index];
}
}
void main(void)
{
P14=0;
P13=0;
EA=1;//開總中斷
init_pca();
init_timer();
while(1)//主循環(huán)
{//彩燈程序 和1602顯示程序
}
}
復(fù)制代碼
作者:
kpzhang
時間:
2019-4-14 22:30
樓主在嗎?問個問題
計數(shù)器0的溢出為PCA計數(shù)器的時鐘源,8位PWM的周期則為256*時鐘源周期,也就是說PWM的周期大小是計數(shù)器0的計數(shù)周期的256倍,那豈不是和注釋的相矛盾?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1