|
50黑幣
我調(diào)用官方的PWM文件,直接修改CCAP0H值可以控制LED燈的暗亮,但是想用按鍵控制這個(gè)值就不能控制,大家看看是我哪里錯(cuò)了,下面是我的C文件,謝謝大家的幫忙
單片機(jī)源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sfr CCON = 0xD8; //PCA 控制寄存器。 CF CR - - - - CCF1 CCF0 00xx,xx00
sfr CMOD = 0xD9;
sfr CL = 0xE9;
sfr CH = 0xF9;
sfr CCAP0L = 0xEA;
sfr CCAP0H = 0xFA;
sfr CCAPM0 = 0xDA;
sfr CCAPM1 = 0xDB;
sbit CR = 0xDE;
sbit key1=P3^4;
sbit key2=P3^5;
uchar aa;
void pwm();
void main(void)
{
pwm();
//aa=255;
while(1) ;
{
/* if(key1==0)
{
aa++;
if(aa==256)
aa=256;
} */
// aa=256;
}
}
void pwm()
{
CMOD = 0x02; // Setup PCA timer //0000 0010 空閑時(shí)不計(jì)數(shù),不產(chǎn)生中斷,時(shí)鐘源為fosc/2,因此輸出占用率為fosc/512
CL = 0x00;
CH = 0x00;
CCAP0L = 0xc0; //Set the initial value same as CCAP0H
CCAP0H =aa; //25% 設(shè)置為25%的占空比
CCAPM0 = 0x42; //0100,0010 Setup PCA module 0 in PWM mode 0100 0010, 8位 PWM
CR = 1; //Start PCA Timer. //開啟PCA計(jì)數(shù)器
}
|
最佳答案
查看完整內(nèi)容
不是按鍵不能控制PWM,是樓主按鍵程序?qū)戝e(cuò)導(dǎo)致不能正常控制PWM。
|