include <c8051f330h>
#include <stdioh>
#include <mathh>
#include <Intrinsh>
#include <absacch>
#define SPEED 2000
#define TIME 1800
#define uint unsigned int
#define uchar unsigned char
#define BLKN 2 //用于点阵列扫描的595的个数
#define TOTAL 26 //待显示的字数
#define CONIO P1
uchar number;//d=0,
uchar control=0,choose,send;
uchar receive_number=3,send_number=0;
bit BUSY;
bit SMB_RW;
uchar hou=0;
uchar min=0;
uchar sec=0;
uchar sg;//时高位
uchar sd;//时低位
uchar fg;//分高位
uchar fd;//分低位
uchar mg;//秒高位
uchar md;//秒低位
sbit CLK=P1^7; //输出脉冲
sbit scyx=P1^6; //复位
sbit led=P0^7;
sbit pcf8563_scl=P0^5;//时钟频率
sbit pcf8563_sda=P0^4;//串行数据传输脚
uchar idata dispram[(BLKN/2)32]={0};
uchar receive1[3]={0x00,0x00,0x00};//时、分、秒
uchar send1[4]={0x02,0x33,0x25,0x03};//时、分、秒、器件地址
/字模表/
uchar code Bmp[][32]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1C,0x18,0x38,0x1C,0x38,0x0E,0x38,0x0E,
0x78,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1C,0x1C,0x18,0x07,0xF0,0x00,0x00,0x00,0x00},
/数字0/
{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x0F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,
0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x0F,0xFC,0x00,0x00,0x00,0x00},
/数字1/
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x18,0x1C,0x38,0x1C,0x18,0x1C,0x00,0x38,
0x00,0x70,0x01,0xC0,0x07,0x00,0x0C,0x06,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00},
/数字2/
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x38,0x38,0x1C,0x00,0x38,0x03,0xF0,
0x03,0xF0,0x00,0x1C,0x00,0x0E,0x38,0x1C,0x38,0x1C,0x0F,0xF0,0x00,0x00,0x00,0x00},
/数字3/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0xF0,0x01,0xF0,0x03,0x70,0x0C,0x70,
0x18,0x70,0x30,0x70,0x3F,0xFE,0x00,0x70,0x00,0x70,0x03,0xFE,0x00,0x00,0x00,0x00},
/数字4/
{0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x18,0x00,0x18,0x00,0x18,0xC0,0x1F,0xF8,
0x18,0x1C,0x00,0x1E,0x10,0x0E,0x38,0x1C,0x38,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00},
/数字5/
{0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x0C,0x3C,0x18,0x08,0x38,0x00,0x3F,0xF8,
0x7C,0x1C,0x78,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x07,0xF0,0x00,0x00,0x00,0x00},
/数字6/
{0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x3C,0x0C,0x30,0x18,0x00,0x30,0x00,0x60,
0x00,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00},
/数字7/
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x38,0x0C,0x30,0x0E,0x3C,0x0C,0x1F,0xF8,
0x0F,0xF0,0x38,0x3C,0x30,0x0E,0x70,0x0E,0x38,0x0C,0x0F,0xF0,0x00,0x00,0x00,0x00},
/数字8/
{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x18,0x30,0x0C,0x70,0x0E,0x30,0x0E,
0x38,0x3E,0x1F,0xEE,0x00,0x1C,0x18,0x18,0x3C,0x30,0x1F,0xE0,0x00,0x00,0x00,0x00},
/数字9/
{0x00,0x40,0x40,0x40,0x30,0x40,0x10,0x40,0x00,0x48,0x00,0x7C,0xF0,0x40,0x10,0x40,
0x10,0x40,0x10,0x40,0x10,0x40,0x12,0x40,0x14,0x40,0x18,0x44,0x17,0xFE,0x00,0x00},//让
{0x00,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08,
0x21,0x08,0x3F,0xF8,0x20,0x08,0x02,0x00,0x51,0x88,0x50,0x96,0x90,0x12,0x0F,0xF0},//思
{0x10,0x80,0x10,0xA0,0x20,0x94,0x21,0xFE,0x49,0x10,0xFB,0x10,0x15,0xFC,0x21,0x10,
0x41,0x10,0xFD,0xFC,0x01,0x10,0x01,0x10,0x1D,0x14,0xE1,0xFE,0x41,0x00,0x01,0x00},//维
{0x01,0x20,0x41,0x24,0x2F,0xFE,0x21,0x24,0x01,0x24,0x8F,0xFC,0x49,0x24,0x09,0x20,
0x1F,0xFE,0x29,0x22,0xE1,0x22,0x21,0x2A,0x22,0x24,0x22,0x20,0x24,0x20,0x28,0x20},//沸
{0x00,0x40,0x7A,0x48,0x49,0x50,0x4B,0xFC,0x48,0x80,0x7F,0xFE,0x49,0x10,0x4A,0x0E,
0x4D,0xF4,0x78,0x10,0x49,0x14,0x49,0xFE,0x48,0x04,0x4F,0xE4,0x88,0x14,0x18,0x08},//腾
{0x08,0x00,0x08,0x08,0x08,0xFC,0x7E,0x08,0x08,0x08,0x08,0x08,0xFE,0xF8,0x08,0x88,
0x28,0x80,0x2E,0x84,0x28,0x84,0x28,0x7C,0x28,0x00,0x58,0x06,0x8F,0xFC,0x00,0x00},//起
{0x01,0x00,0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x21,0x10,0x19,0x30,0x09,0x44,
0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x30,0x31,0x1E,0xC1,0x04,0x01,0x00,0x01,0x00},//来
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0C,0x00,0x1E,0x00,0x1E,0x00,0x0C,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x00,0x00},//,
{0x00,0x40,0x40,0x40,0x30,0x40,0x10,0x40,0x00,0x48,0x00,0x7C,0xF0,0x40,0x10,0x40,
0x10,0x40,0x10,0x40,0x10,0x40,0x12,0x40,0x14,0x40,0x18,0x44,0x17,0xFE,0x00,0x00},//让
{0x20,0x00,0x22,0x04,0x3F,0x7E,0x48,0x44,0x08,0x44,0xFF,0xC4,0x10,0x44,0x14,0x7C,
0x22,0x44,0x42,0x10,0x9F,0xF8,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10},//智
{0x08,0x20,0x7E,0xFC,0x08,0x20,0x3E,0xF8,0x08,0x20,0x7E,0xFC,0x08,0x20,0x3F,0xF8,
0x00,0x08,0xFF,0xFE,0x00,0x08,0x3F,0xF8,0x09,0x00,0x28,0xA8,0x48,0x24,0x07,0xE0},//慧
{0x08,0x08,0x0B,0xFC,0x10,0x00,0x20,0x00,0x40,0x00,0x08,0x04,0x17,0xFE,0x30,0x10,
0x50,0x10,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x10,0x20},//行
{0x00,0x40,0x08,0x40,0x7C,0x40,0x00,0x44,0x05,0xFE,0xFE,0x44,0x10,0x44,0x10,0x44,
0x20,0x44,0x24,0x44,0x42,0x84,0xFE,0x84,0x41,0x04,0x01,0x04,0x02,0x28,0x04,0x10},//动
{0x08,0x00,0x08,0x08,0x08,0xFC,0x7E,0x08,0x08,0x08,0x08,0x08,0xFE,0xF8,0x08,0x88,
0x28,0x80,0x2E,0x84,0x28,0x84,0x28,0x7C,0x28,0x00,0x58,0x06,0x8F,0xFC,0x00,0x00},//起
{0x01,0x00,0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x21,0x10,0x19,0x30,0x09,0x44,
0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x30,0x31,0x1E,0xC1,0x04,0x01,0x00,0x01,0x00},//来
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3C,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3C,0x00,0x00,0x00},//};
uchar code Bmp1[][32]={
{0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x08,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41,0x00,
0x81,0x10,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00},
{0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00,0x00},
{0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x88,0x5B,0xFC,0x54,0x88,0x50,0x88,0x90,0x88,
0x10,0x88,0x1F,0xFE,0x10,0x80,0x11,0x40,0x11,0x20,0x12,0x10,0x14,0x0E,0x18,0x04},
{0x00,0x20,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F,0xFE,
0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02,0x00},
{0x00,0x00,0x38,0x1C,0x44,0x22,0x54,0x2A,0x44,0x22,0x37,0xEC,0x08,0x10,0x10,0x08,
0x2E,0x74,0x20,0x04,0x21,0x84,0x24,0x24,0x13,0xC8,0x08,0x10,0x07,0xE0,0x00,0x00}
};
/字模表/
/系统函数的配置/
void sysclk_int(void) //内部晶振
{
OSCICL=0x83;
OSCICN=0xc3; //不分频
CLKSEL=0x00;
}
/
void delay1(uchar n) //延时程序
{
uchar j;
for(j=0;j<n;j++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
/
void delay(uint i) //毫秒延时
{
register uchar j;//
for(;i;i--)
for(j=0;j<255;j++);
}
void SPI_INT(void) //SPI初始化
{
SPI0CFG=0x40;
SPI0CN=0x01; //0000 0001最后一位是SPI使能位 SPI工作在三线主方式
SPI0CKR=0x0f; //SPI 时钟频率设置为100kHz 0x63
IE &= 0xbf; //关闭SPI中断
}
void SMB_INT(void) //SMB初始化
{
SMB0CF=0x5f; //使能SMB 允许时间扩充 定时器2低字节溢出时钟源
SMB0CF|=0x80;
}
void TIME01_INT(void) //定时器初始化
{
TCON=0x10; //定时器0允许
TMOD=0x01; //定时器0在16位工作方式
CKCON &= 0xf8;
CKCON |= 0x01; //定时器0使用系统4分频
TL0=0x03;
TH0=0x03;
IE|=0x02;
}
void TIME2_INT(void) //定时器2用于配置SMB的时钟频率
{
TMR2CN=0x00;
CKCON |= 0x00;
TMR2RLL = 0xef;
TMR2RLH = 0xff;
TMR2L = 0xef;
TMR2H = 0xff;
TMR2CN |= 0x0c;
}
void TIME3_INT(void)//用于I2C的超时检测
{
TMR3CN = 0x00; //定时器3为16位自动重载
CKCON &= ~0x40;
TMR3RLL = 0xaf;
TMR3RLH = 0x57;
TMR3L = 0xaf;
TMR3H = 0x57;
EIE1|=0x00;
TMR3CN |= 0x04;
}
void pio_int(void) // 端口配置
{
XBR0=0x06;
XBR1=0x40;
P0MDIN=0xff; //禁止模拟输入,0为模拟,1为数字
P0MDOUT=0x0d; //0为开漏,1为推挽(ff)
P0SKIP=0x08;
P1MDIN=0xff;
P1MDOUT=0xff; //低四位用于138
P1SKIP=0x00;
P0=0xff;
P1=0xff;
}
/呈现各种显示效果的函数集/
//void Jump_Word(uchar a) 立即跳显示一个字或一张图案
//void M_Word(uchar a) 卷帘出显示一个字或一张图案
//void M_Words(number) 显示几个交换的字
//void UP_Run(number) 向上滚屏n个字
//void L_Removeout(number) 右入左出n个字
//void M_Black(void) 黑屏
//void R_Removeout(number) 左入右出n个字
//
/立即跳显示一个字或一张图案/
void Jump_Word(uchar a)
{register uchar i,q;
for(i=0;i<32;i++)
{
for(q=0;q<BLKN/2;q++)
{dispram[i+q32]=Bmp[a][i];}
//if(i%2)delay(SPEED);
}
}
/卷帘出显示一个字或一张图案/
void M_Word(uchar a)
{register uchar i,q;
for(i=0;i<32;i++)
{
for(q=0;q<BLKN/2;q++)
{dispram[i+q32]=Bmp1[a][i];}
if(i%2)delay(SPEED);
}
}
/卷帘出显示number个字/
void M_Words(number)
{register uchar i,q,w;
for(w=0;w<number2/BLKN;w++)
{
for(i=0;i<32;i++)
{
for(q=0;q<BLKN/2;q++){dispram[i+q32]=Bmp[q+wBLKN/2][i];}
if(i%2)delay(SPEED);
}
delay(TIME);
}
}
/向上滚屏number个字/
void UP_Run(number)
{register uchar i,j,k,q;
for(i=0;i<number2/BLKN;i++)
{
for(j=0;j<16;j++)
{
for(k=0;k<15;k++)
{
for(q=0;q<BLKN/2;q++)
{
dispram[k2+q32]=dispram[(k+1)2+q32];
dispram[k2+1+q32]=dispram[(k+1)2+1+q32];
}
}
for(q=0;q<BLKN/2;q++)
{
dispram[30+q32]=Bmp[q+iBLKN/2][j2];
dispram[31+q32]=Bmp[q+iBLKN/2][j2+1];
}
delay(2SPEED);
}
delay(2TIME);
}
}
/左移出显示number个字/
void L_Removeout(number)
{register uchar i,j,k,l,q;
for(i=0;i<number;i++)
{
for(j=0;j<2;j++)
for(k=0;k<8;k++)
{
for(l=0;l<16;l++)
{
for(q=0;q<BLKN/2;q++)
{
dispram[l2+q32]=dispram[l2+q32]<<1|dispram[l2+1+q32]>>7;
if(q==BLKN/2-1)
dispram[l2+1+q32]=dispram[l2+1+q32]<<1|Bmp[i][l2+j]>>(7-k);
else
dispram[l2+1+q32]=dispram[l2+1+q32]<<1|dispram[l2+(q+1)32]>>7;
}
}
delay(2SPEED);
}
}
}
/卷帘出黑屏/
void M_Black(void)
{register uchar i,q;
for(i=0;i<32;i++)
{
for(q=0;q<BLKN/2;q++)
{dispram[i+q32]=0x00;}
if(i%2)delay(SPEED);
}
}
/右移出显示number个字/
void R_Removeout(number)
{register uchar i,j,k,l,q;
for(i=0;i<number;i++)
{
for(j=2;j>0;j--)
for(k=0;k<8;k++)
{
for(l=0;l<16;l++)
{
for(q=0;q<BLKN/2;q++)
{
dispram[l2+1+q32]=dispram[l2+1+q32]>>1|dispram[l2+q32]<<7;
if(q==0)
dispram[l2+q32]=dispram[l2+q32]>>1|Bmp[i][l2+j-1]<<(7-k);
else
dispram[l2+q32]=dispram[l2+q32]>>1|dispram[l2+1+(q-1)32]<<7;
}
}
delay(2SPEED);
}
}
}
/用于时钟芯片操作的函数集/
//void write_pcf8563(void)写时钟芯片
//void read_pcf8563(void)读时钟芯片
//
void write_pcf8563(void)
{
SPI0CN &=~0x01; //暂时关掉SPI通讯
send =0xa2; //送子器件地址
while(BUSY);
BUSY=1;
SMB_RW=0;control=5;
STA=1; //开始传送
while(BUSY);
SPI0CN |=0x01; //重新开启SPI
}
void read_pcf8563(void) //读当时的时,分,钞
{
SPI0CN &=~0x01;
send =0xa2; //送子器件地址
while(BUSY);
BUSY=1;
SMB_RW=0;
STA=1;
send=0x02;
while(!SI);
BUSY=1;
send=0xa2;
while(BUSY);
BUSY=1;
SMB_RW=1;
STA=1;
while(BUSY);
BUSY=1;
sec=receive1[2]&0x7f;//读秒
min=receive1[1]&0x7f;//读分
hou=receive1[0]&0x3f;//读时
SPI0CN |=0x01;
}
void spit_time(void)//分别计算时、分、秒的各位数字
{
sg=(int)hou/16;
sd=(int)hou%16;
fg=(int)min/16;
fd=(int)min%16;
mg=(int)sec/16;
md=(int)sec%16;
}
void dat_int(void) //数据初始化
{
scyx=1;
CLK=0;
}
void sysclk_int(void);
void delay(unsigned n);
void pio_int(void);
void SPI_INT(void);
void SMB_INT(void);
void dat_int(void);
void TIME01_INT(void);
void TIME2_INT(void);
void TIME3_INT(void);
void write_pcf8563(void);
void read_pcf8563(void);
void spit_time(void);
/主函数/
void main(void) //主程序
{
register uchar i;
PCA0MD &= ~0x40;// 关闭看门狗
sysclk_int();
OSCICN |= 0x02;
/初始化检测pcf8563/
while(!pcf8563_sda)
{
XBR1 = 0x40;
pcf8563_scl = 0;
for(i = 0; i < 255; i++);
pcf8563_scl = 1;
while(!pcf8563_scl);
for(i = 0; i < 10; i++);
XBR1 = 0x00;
}
/初始化检测pcf8563/
pio_int();
TIME01_INT();
TIME2_INT();
TIME3_INT();
SPI_INT(); //SPI0DAT是SPI的数据寄存
SMB_INT();
spit_time();
EIE1|=0x01;
EA=1;
dat_int();
led=0;
TR0=0;
delay(1000);
write_pcf8563();
while(1)
{
TR0=0;
BUSY=0;
read_pcf8563();
spit_time();
TR0=1;
//Jump_Word(sg);
//Jump_Word(sd);
//Jump_Word(fg);
//Jump_Word(fd);
//Jump_Word(md);
//M_Word(md);
M_Word(4);
delay(10TIME);
M_Words(TOTAL);
UP_Run(TOTAL);
M_Black();
delay(10TIME);
L_Removeout(TOTAL);
delay(3TIME);
M_Black();
delay(10TIME);
R_Removeout(TOTAL);
delay(3TIME);
}//总while循环的结束
}//main函数的结束
void t0(void) interrupt 1 //定时器0的中断服务程序
{
register uchar m,n=BLKN;
TH0 = 0xfc;
TL0 = 0x18;
m = CONIO;
m = (++m)&0x0f;
for(n=0;n<BLKN;n++)
{
SPI0DAT = dispram[30-m2+n];//dispram[((BLKN-)n/2+1)30-m2-(n/2)30+n]
while(!SPIF);
SPIF=0;
}
CONIO &= 0xf0;
CLK = 1;
CONIO |= m;
CLK = 0;
scyx=1;
}
void SMBus_ISR (void) interrupt 7
{
bit FAIL = 0;
if (ARBLOST == 0) //如果赢得总线
{
switch (SMB0CN & 0xF0) //确定中断来源
{
case 0xe0: //主发送方式下产生开始条件
SMB0DAT = send;
SMB0DAT &= 0xFE;
SMB0DAT |= SMB_RW; //对发送的数据进行处理
STA = 0;
break;
case 0xc0: //主方式下发送
if (ACK)
{
if (SMB_RW == 0)
{
if(send_number<=3)
{
if(control==0)
{
SMB0DAT = send;
send_number+=5;
}
else
{
SMB0DAT = send1[send_number];
send_number++;
}
}
else
{
send_number=0;control=0;
STO = 1;
BUSY = 0;
}
}
else {;} //BUSY=0
}
else
{
STO = 1;
STA = 1;
}
break;
case 0x80: //主方式下接收
if (receive_number-1>0) //控制接收3个数据就结束
{
receive1[receive_number-1] = SMB0DAT;
ACK = 1;
receive_number--;
}
else
{
receive1[receive_number-1] = SMB0DAT;
receive_number=3;
BUSY = 0;
ACK = 0;
STO = 1;
}
break;
default:
FAIL = 1;
break;
}
}
else //输掉总线
{
FAIL = 1;
}
if (FAIL) //SMBUS通讯失败后的处理
{
SMB0CF &= ~0x80;
SMB0CF |= 0x80;
STA = 0;
STO = 0;
ACK = 0;
BUSY = 0;
FAIL = 0;
}
SI = 0;
}
void T3_ISR() interrupt 14 //定时器3中断服务程序 用于检测SMBus是否超时
{
SMB0CF &= ~0x80;
SMB0CF |= 0x80;
TMR3CN &=~0x80;
STA = 0;
BUSY = 0;
pcf8563_scl=1;
}
怕有些地方你不知道是怎么来的,所有我就把完整的程序都给你了。你自己取出你所需要的就好了。因为不同的显示效果还是得靠住函数来实现的。
如果住函数没有写好,那么你的移动方式的函数就很难写了的。希望能给楼主一点灵感。呵呵~
我还有几种效果的,但是所有的效果都必须基于我的那种显示方式。你仔细看下,和你的是不是一样的,显示缓存,各种动画效果就是移动的控制方式了
给你借鉴一下,具体的呢还得根据你的硬件来了。
00 已显示系统的配置;即将控制INI19引导装入。
01 处理器测试1,处理器状态核实,如果测试失败,循环是无限的。 处理器寄存器的测试即将开始,不可屏蔽中断即将停用。 CPU寄存器测试正在进行或者失败。
02 确定诊断的类型(正常或者制造)。如果键盘缓冲器含有数据就会失效。 停用不可屏蔽中断;通过延迟开始。 CMOS写入/读出正在进行或者失灵。
03 清除8042键盘控制器,发出TESTKBRD命令(AAH) 通电延迟已完成。 ROM BIOS检查部件正在进行或失灵。
04 使8042键盘控制器复位,核实TESTKBRD。 键盘控制器软复位/通电测试。 可编程间隔计时器的测试正在进行或失灵。
05 如果不断重复制造测试1至5,可获得8042控制状态。 已确定软复位/通电;即将启动ROM。 DMA初如准备正在进行或者失灵。
06 使电路片作初始准备,停用视频、奇偶性、DMA电路片,以及清除DMA电路片,所有页面寄存器和CMOS停机字节。 已启动ROM计算ROM BIOS检查总和,以及检查键盘缓冲器是否清除。 DMA初始页面寄存器读/写测试正在进行或失灵。
07 处理器测试2,核实CPU寄存器的工作。 ROM BIOS检查总和正常,键盘缓冲器已清除,向键盘发出BAT(基本保证测试)命令。
08 使CMOS计时器作初始准备,正常的更新计时器的循环。 已向键盘发出BAT命令,即将写入BAT命令。 RAM更新检验正在进行或失灵。
09 EPROM检查总和且必须等于零才通过。 核实键盘的基本保证测试,接着核实键盘命令字节。 第一个64K RAM测试正在进行。
0A 使视频接口作初始准备。 发出键盘命令字节代码,即将写入命令字节数据。 第一个64K RAM芯片或数据线失灵,移位。
0B 测试8254通道0。 写入键盘控制器命令字节,即将发出引脚23和24的封锁/解锁命令。 第一个64K RAM奇/偶逻辑失灵。
0C 测试8254通道1。 键盘控制器引脚23、24已封锁/解锁;已发出NOP命令。 第一个64K RAN的地址线故障。
0D 1、检查CPU速度是否与系统时钟相匹配。2、检查控制芯片已编程值是否符合初设置。3、视频通道测试,如果失败,则鸣喇叭。 已处理NOP命令;接着测试CMOS停开寄存器。 第一个64K RAM的奇偶性失灵
0E 测试CMOS停机字节。 CMOS停开寄存器读/写测试;将计算CMOS检查总和。 初始化输入/输出端口地址。
0F 测试扩展的CMOS。 已计算CMOS检查总和写入诊断字节;CMOS开始初始准备。
10 测试DMA通道0。 CMOS已作初始准备,CMOS状态寄存器即将为日期和时间作初始准备。 第一个64K RAM第0位故障。
11 测试DMA通道1。 CMOS状态寄存器已作初始准备,即将停用DMA和中断控制器。 第一个64DK RAM第1位故障。
12 测试DMA页面寄存器。 停用DMA控制器1以及中断控制器1和2;即将视频显示器并使端口B作初始准备。 第一个64DK RAM第2位故障。
13 测试8741键盘控制器接口。 视频显示器已停用,端口B已作初始准备;即将开始电路片初始化/存储器自动检测。 第一个64DK RAM第3位故障。
14 测试存储器更新触发电路。 电路片初始化/存储器处自动检测结束;8254计时器测试即将开始。 第一个64DK RAM第4位故障。
15 测试开头64K的系统存储器。 第2通道计时器测试了一半;8254第2通道计时器即将完成测试。 第一个64DK RAM第5位故障。
16 建立8259所用的中断矢量表。 第2通道计时器测试结束;8254第1通道计时器即将完成测试。 第一个64DK RAM第6位故障。
17 调准视频输入/输出工作,若装有视频BIOS则启用。 第1通道计时器测试结束;8254第0通道计时器即将完成测试。 第一个64DK RAM第7位故障。
18 测试视频存储器,如果安装选用的视频BIOS通过,由可绕过。 第0通道计时器测试结束;即将开始更新存储器。 第一个64DK RAM第8位故障。
19 测试第1通道的中断控制器(8259)屏蔽位。 已开始更新存储器,接着将完成存储器的更新。 第一个64DK RAM第9位故障。
1A 测试第2通道的中断控制器(8259)屏蔽位。 正在触发存储器更新线路,即将检查15微秒通/断时间。 第一个64DK RAM第10位故障。
1B 测试CMOS电池电平。 完成存储器更新时间30微秒测试;即将开始基本的64K存储器测试。 第一个64DK RAM第11位故障。
1C 测试CMOS检查总和。 第一个64DK RAM第12位故障。
1D 调定CMOS配置。 第一个64DK RAM第13位故障。
1E 测定系统存储器的大小,并且把它和CMOS值比较。 第一个64DK RAM第14位故障。
1F 测试64K存储器至最高640K。 第一个64DK RAM第15位故障。
20 测量固定的8259中断位。 开始基本的64K存储器测试;即将测试地址线。 从属DMA寄存器测试正在进行或失灵。
21 维持不可屏蔽中断(NMI)位(奇偶性或输入/输出通道的检查)。 通过地址线测试;即将触发奇偶性。 主DMA寄存器测试正在进行或失灵。
22 测试8259的中断功能。 结束触发奇偶性;将开始串行数据读/写测试。 主中断屏蔽寄存器测试正在进行或失灵。
23 测试保护方式8086虚拟方式和8086页面方式。 基本的64K串行数据读/写测试正常;即将开始中断矢量初始化之前的任何调节。 从属中断屏蔽存器测试正在进行或失灵。
24 测定1MB以上的扩展存储器。 矢量初始化之前的任何调节完成,即将开始中断矢量的初始准备。 设置ES段地址寄存器注册表到内存高端。
25 测试除头一个64K之后的所有存储器。 完成中断矢量初始准备;将为旋转式断续开始读出8042的输入/输出端口。 装入中断矢量正在进行或失灵。
26 测试保护方式的例外情况。 读出8042的输入/输出端口;即将为旋转式断续开始使全局数据作初始准备。 开启A20地址线;使之参入寻址。
27 确定超高速缓冲存储器的控制或屏蔽RAM。 全1数据初始准备结束;接着将进行中断矢量之后的任何初始准备。 键盘控制器测试正在进行或失灵。
28 确定超高速缓冲存储器的控制或者特别的8042键盘控制器。 完成中断矢量之后的初始准备;即将调定单色方式。 CMOS电源故障/检查总和计算正在进行。
29 已调定单色方式,即将调定彩色方式。 CMOS配置有效性的检查正在进行。
2A 使键盘控制器作初始准备。 已调定彩色方式,即将进行ROM测试前的触发奇偶性。 置空64K基本内存。
2B 使磁碟驱动器和控制器作初始准备。 触发奇偶性结束;即将控制任选的视频ROM检查前所需的任何调节。 屏幕存储器测试正在进行或失灵。
2C 检查串行端口,并使之作初始准备。 完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。 屏幕初始准备正在进行或失灵。
2D 检测并行端口,并使之作初始准备。 已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。 屏幕回扫测试正在进行或失灵。
2E 使硬磁盘驱动器和控制器作初始准备。 从视频ROM控制之后的处理复原;如果没有发现EGA/VGA就要进行显示器存储器读/写测试。 检测视频ROM正在进行。
2F 检测数学协处理器,并使之作初始准备。 没发现EGA/VGA;即将开始显示器存储器读/写测试。
30 建立基本内存和扩展内存。 通过显示器存储器读/写测试;即将进行扫描检查。 认为屏幕是可以工作的。
31 检测从C800:0至EFFF:0的选用ROM,并使之作初始准备。 显示器存储器读/写测试或扫描检查失败,即将进行另一种显示器存储器读/写测试。 单色监视器是可以工作的。
32 对主板上COM/LTP/FDD/声音设备等I/O芯片编程使之适合设置值。 通过另一种显示器存储器读/写测试;却将进行另一种显示器扫描检查。 彩色监视器(40列)是可以工作的。
33 视频显示器检查结束;将开始利用调节开关和实际插卡检验显示器的关型。 彩色监视器(80列)是可以工作的。
34 已检验显示器适配器;接着将调定显示方式。 计时器滴答声中断测试正在进行或失灵。
35 完成调定显示方式;即将检查BIOS ROM的数据区。 停机测试正在进行或失灵。
36 已检查BIOS ROM数据区;即将调定通电信息的游标。 门电路中A-20失灵。
37 识别通电信息的游标调定已完成;即将显示通电信息。 保护方式中的意外中断。
38 完成显示通电信息;即将读出新的游标位置。 RAM测试正在进行或者地址故障>FFFFH。
39 已读出保存游标位置,即将显示引用信息串。
3A 引用信息串显示结束;即将显示发现<ESC>信息。 间隔计时器通道2测试或失灵。
3B 用OPTI电路片(只是486)使辅助超高速缓冲存储器作初始准备。 已显示发现<ESC>信息;虚拟方式,存储器测试即将开始。 按日计算的日历时钟测试正在进行或失灵。
3C 建立允许进入CMOS设置的标志。 串行端口测试正在进行或失灵。
3D 初始化键盘/PS2鼠标/PNP设备及总内存节点。 并行端口测试正在进行或失灵。
3E 尝试打开L2高速缓存。 数学协处理器测试正在进行或失灵。
40 已开始准备虚拟方式的测试;即将从视频存储器来检验。 调整CPU速度,使之与外围时钟精确匹配。
41 中断已打开,将初始化数据以便于0:0检测内存变换(中断控制器或内存不良) 从视频存储器检验之后复原;即将准备描述符表。 系统插件板选择失灵。
42 显示窗口进入SETUP。 描述符表已准备好;即将进行虚拟方式作存储器测试。 扩展CMOS RAM故障。
43 若是即插即用BIOS,则串口、并口初始化。 进入虚拟方式;即将为诊断方式实现中断。
44 已实现中断(如已接通诊断开关;即将使数据作初始准备以检查存储器在0:0返转。) BIOS中断进行初始化。
45 初始化数学协处理器。 数据已作初始准备;即将检查存储器在0:0返转以及找出系统存储器的规模。
46 测试存储器已返回;存储器大小计算完毕,即将写入页面来测试存储器。 检查只读存储器ROM版本。
47 即将在扩展的存储器试写页面;即将基本640K存储器写入页面。
48 已将基本存储器写入页面;即将确定1MB以上的存储器。 视频检查,CMOS重新配置。
49 找出1BM以下的存储器并检验;即将确定1MB以上的存储器。
4A 找出1MB以上的存储器并检验;即将检查BIOS ROM数据区。 进行视频的初始化。
4B BIOS ROM数据区的检验结束,即将检查<ESC>和为软复位清除1MB以上的存储器。
4C 清除1MB以上的存储器(软复位)即将清除1MB以上的存储器 屏蔽视频BIOS ROM。
4D 已清除1MB以上的存储器(软复位);将保存存储器的大小。
4E 若检测到有错误;在显示器上显示错误信息,并等待客户按<F1>键继续。 开始存储器的测试:(无软复位);即将显示第一个64K存储器的测试。 显示版权信息。
4F 读写软、硬盘数据,进行DOS引导。 开始显示存储器的大小,正在测试存储器将使之更新;将进行串行和随机的存储器测试。
50 将当前BIOS监时区内的CMOS值存到CMOS中。 完成1MB以下的存储器测试;即将高速存储器的大小以便再定位和掩蔽。 将CPU类型和速度送到屏幕。
51 测试1MB以上的存储器。
52 所有ISA只读存储器ROM进行初始化,最终给PCI分配IRQ号等初始化工作。 已完成1MB以上的存储器测试;即将准备回到实址方式。 进入键盘检测。
53 如果不是即插即用BIOS,则初始化串口、并口和设置时种值。 保存CPU寄存器和存储器的大小,将进入实址方式。
54 成功地开启实址方式;即将复原准备停机时保存的寄存器。 扫描“打击键”
55 寄存器已复原,将停用门电路A-20的地址线。
56 成功地停用A-20的地址线;即将检查BIOS ROM数据区。 键盘测试结束。
57 BIOS ROM数据区检查了一半;继续进行。
58 BIOS ROM的数据区检查结束;将清除发现<ESC>信息。 非设置中断测试。
59 已清除<ESC>信息;信息已显示;即将开始DMA和中断控制器的测试。
5A 显示按“F2”键进行设置。
5B 测试基本内存地址。
5C 测试640K基本内存。
60 设置硬盘引导扇区病毒保护功能。 通过DMA页面寄存器的测试;即将检验视频存储器。 测试扩展内存。
61 显示系统配置表。 视频存储器检验结束;即将进行DMA#1基本寄存器的测试。
62 开始用中断19H进行系统引导。 通过DMA#1基本寄存器的测试;即将进行DMA#2寄存器的测试。 测试扩展内存地址线。
63 通过DMA#2基本寄存器的测试;即将检查BIOS ROM数据区。
64 BIOS ROM数据区检查了一半,继续进行。
65 BIOS ROM数据区检查结束;将把DMA装置1和2编程。
66 DMA装置1和2编程结束;即将使用59号中断控制器作初始准备。 Cache注册表进行优化配置。
67 8259初始准备已结束;即将开始键盘测试。
68 使外部Cache和CPU内部Cache都工作。
6A 测试并显示外部Cache值。
6C 显示被屏蔽内容。
6E 显示附属配置信息。
70 检测到的错误代码送到屏幕显示。
72 检测配置有否错误。
74 测试实时时钟。
76 扫查键盘错误。
7A 锁键盘。
7C 设置硬件中断矢量。
7E 测试有否安装数学处理器。
80 键盘测试开始,正在清除和检查有没有键卡住,即将使键盘复原。 关闭可编程输入/输出设备。
81 找出键盘复原的错误卡住的键;即将发出键盘控制端口的测试命令。
82 键盘控制器接口测试结束,即将写入命令字节和使循环缓冲器作初始准备。 检测和安装固定RS232接口(串口)。
83 已写入命令字节,已完成全局数据的初始准备;即将检查有没有键锁住。
84 已检查有没有锁住的键,即将检查存储器是否与CMOS失配。 检测和安装固定并行口。
85 已检查存储器的大小;即将显示软错误和口令或旁通安排。
86 已检查口令;即将进行旁通安排前的编程。 重新打开可编程I/O设备和检测固定I/O是否有冲突。
87 完成安排前的编程;将进行CMOS安排的编程。
88 从CMOS安排程序复原清除屏幕;即将进行后面的编程。 初始化BIOS数据区。
89 完成安排后的编程;即将显示通电屏幕信息。
8A 显示头一个屏幕信息。 进行扩展BIOS数据区初始化。
8B 显示了信息:即将屏蔽主要和视频BIOS。
8C 成功地屏蔽主要和视频BIOS,将开始CMOS后的安排任选项的编程。 进行软驱控制器初始化。
8D 已经安排任选项编程,接着检查滑了鼠和进行初始准备。
8E 检测了滑鼠以及完成初始准备;即将把硬、软磁盘复位。
8F 软磁盘已检查,该磁碟将作初始准备,随后配备软磁碟。
90 软磁碟配置结束;将测试硬磁碟的存在。 硬盘控制器进行初始化。
91 硬磁碟存在测试结束;随后配置硬磁碟。 局部总线硬盘控制器初始化。
92 硬磁碟配置完成;即将检查BIOS ROM的数据区。 跳转到用户路径2。
93 BIOS ROM的数据区已检查一半;继续进行。
94 BIOS ROM的数据区检查完毕,即调定基本和扩展存储器的大小。 关闭A-20地址线。
95 因应滑鼠和硬磁碟47型支持而调节好存储器的大小;即将检验显示存储器。
96 检验显示存储器后复原;即将进行C800:0任选ROM控制之前的初始准备。 “ES段”注册表清除。
97 C800:0任选ROM控制之前的任何初始准备结束,接着进行任选ROM的检查及控制。
98 任选ROM的控制完成;即将进行任选ROM回复控制之后所需的任何处理。 查找ROM选择。
99 任选ROM测试之后所需的任何初始准备结束;即将建立计时器的数据区或打印机基本地址。
9A 调定计时器和打印机基本地址后的返回操作;即调定RS-232基本地址。 屏蔽ROM选择。
9B 在RS-232基本地址之后返回;即将进行协处理器测试之初始准备。
9C 协处理器测试之前所需初始准备结束;接着使协处理器作初始准备。 建立电源节能管理。
9D 协处理器作好初始准备,即将进行协处理器测试之后的任何初始准备。
9E 完成协处理器之后的初始准备,将检查扩展键盘,键盘识别符,以及数字锁定。 开放硬件中断。
9F 已检查扩展键盘,调定识别标志,数字锁接通或断开,将发出键盘识别命令。
A0 发出键盘识别命令;即将使键盘识别标志复原。 设置时间和日期。
A1 键盘识别标志复原;接着进行高速缓冲存储器的测试。
A2 高速缓冲存储器测试结束;即将显示任何软错误。 检查键盘锁。
A3 软错误显示完毕;即将调定键盘打击的速率。
A4 调好键盘的打击速率,即将制订存储器的等待状态。 键盘重复输入速率的初始化。
A5 存储器等候状态制定完毕;接着将清除屏幕。
A6 屏幕已清除;即将启动奇偶性和不可屏蔽中断。
A7 已启用不可屏蔽中断和奇偶性;即将进行控制任选的ROM在E000:0之所需的任何初始准备。
A8 控制ROM在E000:0之前的初始准备结束,接着将控制E000:0之后所需的任何初始准备。 清除“F2”键提示。
A9 从控制E000:0 ROM返回,即将进行控制E000:0任选ROM之后所需的任何初始准备。
AA 在E000:0控制任选ROM之后的初始准备结束;即将显示系统的配置。 扫描“F2”键打击。
AC 进入设置
AE 清除通电自检标志。
B0 检查非关键性错误。
B2 通电自检完成准备进入操作系统引导。
B4 蜂鸣器响一声。
B6 检测密码设置(可选)。
B8 清除全部描述表。
BC 清除校验检查值。
BE 程序缺省值进入控制芯片,符合可调制二进制缺省值表。 清除屏幕(可选)。
BF 测试CMOS建立值。 检测病毒,提示做资料备份。
C0 初始化高速缓存。 用中断19试引导。
C1 内存自检。 查找引导扇区中的“55”“AA”标记。
C3 第一个256K内存测试。
C5 从ROM内复制BIOS进行快速自检。
C6 高速缓存自检。
CA 检测Micronies超速缓冲存储器(如果存在),并使之作初始准备。
CC 关断不可屏蔽中断处理器。
EE 处理器意料不到的例外情况。
FF 给予INI19引导装入程序的控制,主板OK。
1、性质不同:超高清是国际电信联盟最新批准的信息显示4K分辨率(3840×2160
像素)。LED电视采用发光二极管作为背光源,比CCFL背光的传统液晶电视在厚度、画面质量、寿命、节能环保上更具优势。4D电视在原有3D立体显示基础上由单一空间上的立体显示升级。
2、容量不同:超高清源容量是巨大的,18分钟的未压缩视频达35TB。led电视和全面屏的容量较小。
3、外观不同:全面屏电视外观看上去是非常漂亮的,四周是没有黑色的边框,这也使电视的尺寸看上去更大一些,在家如同在**院里观看。相同尺寸的电视机,液晶平板电视从视觉上就要比全面屏电视小很多。超高清液晶电视的像素密度高达103ppi,尽管这个指标只有iPhone
4屏幕的三分之一。
扩展资料:
注意事项:
超高清电视的优势在于拥有更高分辨率和更大的可视角度,能够为消费者带来更强的视觉冲击,解决了大屏幕电视细节遗失、无法真实还原的问题。
电视屏幕的大小是电视给人最直观的印象,也是购买电视的重要参考标准之一。选择4K电视屏幕的大小应该根据家中的观看距离来决定,因为观看电视既要保证良好观看效果还要避免观看疲劳。
-led电视
-4D电视
-超高清
欢迎分享,转载请注明来源:品搜搜测评网