|
#include <REGX51.H>
#define TIMER0_COUNT 0xEE11
//code seven_seg[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
unsigned char T1s,i=0,cout;
static void timer0_isr(void)interrupt TF0_VECTOR using 1
{
P0_7=0;
TR0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
T1s++;
if (T1s==200){
i++;
if(i==2)
{i=0;
T1s=0;
P0_6=~P0_6;
cout++;
if (cout==4)P0=0XFF;
}
}
}
static void timer0_initialize(void)
{
EA=0;
T1s=0;
TR0=0;
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
PT0=0;
ET0=1;
TR0=1;
EA=1;
}
void main (void){
timer0_initialize();
while(1);
这个程序在cpubbs上led7跑时我的计划是20秒亮灭一次。
但是跑起来却是25秒?
为什么? |
|