文档介绍:数码管显示实验报告
sbit TM1668R_STB_H = P2^1;
sbit TM1668L_DIO_H = P2^2; //左边数码管宏定义
sbit TM1668L_CLK_f(n==0)
TM1668R_DIO_H = 0;
else
TM1668L_DIO_H = 0;
}
_nop_();
_nop_();
_nop_();
_nop_();
if(n==0)
TM1668R_CLK_H = 1;
else
TM1668L_CLK_H =1;
}
}
void DIS_data_1668(uchar data1,uchar data2,uchar data3,uchar data4,uchar n)
{
if(n==0)
TM1668R_STB_H = 0;
else
TM1668L_STB_H = 0;
Send_Data(0x00,n); //设置显示模式 4位13段
if(n==0)
TM1668R_STB_H = 1;
else
TM1668L_STB_H = 1;
_nop_();
_nop_();
_nop_();
_nop_();
if(n==0)
TM1668R_STB_H = 0;
else
TM1668L_STB_H =0;
Send_Data(0x40,n); // 写数据 自动地址加一
if(n==0)
TM1668R_STB_H = 1;
else
TM1668L_STB_H = 1;
_nop_();
_nop_();
_nop_();
_nop_();
if(n==0)
TM1668R_STB_H = 0;
else
TM1668L_STB_H = 0;
Send_Data(0xc0,n); //发送地址指令 从0x00开始
_nop_();
_nop_();
Send_Data(data1,n);
Send_Data(0x00,n);
Send_Data(data2,n);
Send_Data(0x00,n);
Send_Data(data3,n);
Send_Data(0x00,n);
Send_Data(data4,n);
Send_Data(0x00,n);
if(n==0)
TM1668R_STB_H = 1;
else
TM1668L_STB_H = 1;
_nop_();
_nop_();
_nop_();
_nop_();
if(n==0)
TM1668R_STB_H = 0;
else
TM1668L_STB_H = 0;
Send_Data(0x88,n);
if(n==0)
TM1668R_STB_H = 1;
else
TM1668L_STB_H = 1;
}
/*******************************************************************************
* 函 数 名 : Timer0Init
* 函数功能 : 定时器0初始化
* 输 入 : 无
* 输 出 : 无
******************************************************************************/
void Timer0Init(void) //25微秒***@
{
AUXR |= 0x80; //定时器时钟1T模式 1T和12T模式选择
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xEC; //设置定时初值
TH0 = 0xFE; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1