|
單片機(jī)小白,最近使用STC15F104E單片機(jī)的板子,不知為何使用不了定時(shí)器1,但在51單片機(jī)的板子上就可以使用同樣的代碼。而且,同樣的代碼改成定時(shí)器0(將開關(guān)TR1,ET1 改成ET0,TR0,interrupt 3 改成 interrupt 1,TMOD值改成0x01)也可以使用定時(shí)器0,到底是哪里出錯(cuò)了呢?求各位大佬幫助
#include <reg52.h>
sbit led=P3^3; //輸出口
float num=0;
static float a=0.4;
void main()
{
TMOD=0x10;//定時(shí)器1方式1
TH1=(65536-45872)/256; //裝入50ms中斷的初值
TL1=(65536-45872)%256;
EA=1;
ET1=1;
TR1=1;
while(1);
}
void Timer1() interrupt 3 //生成50ms*100=5s周期,占空比為0.4*100=40%的PWM波
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num++;
if(num<=a*100)
{
led=0;
}
else if(num>=100)
{
led=1;
num=0;
}
else
{
led=1;
}
}
|
|