其实不用定时中断也能实现功能:
#include<reg51h> 主函数
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定义0-9数组
unsigned int tmp;定义变量
void delay(unsigned int xms)定义延时函数
{unsigned int j,i;
for(i=0;i<xms;i++)
for(j=0;j<100;j++);
}
void disp()定义子函数
{
P1=tmp;
delay(1);
P2=0xff;
tmp=tmp<<1;
}
void main( )
{
unsigned char z,s=00,m=00,h=00;给时钟初始值
while(1)
{
for(z=0;z<100;z++)
{
tmp=0x01;
P2=tab[h/10];小时显示
disp();
P2=tab[h%10];
disp();
P2=tab[m/10];分钟显示
disp();
P2=tab[m%10];
disp();
P2=tab[s/10];秒显示
disp();
P2=tab[s%10];
disp();
}
s++;
while(s==60)秒进一位,到60清0
{
m++;
s=00;
}
while(m==60)分钟进一位,到60清0
{
h++;
m=00;
}
while(h==24)小时进一位,到24清0
{
h=00;
}
}
}
跪求数字电子钟逻辑电路设计
根据设计任务和要求,对照数字电子钟的框图,可以分以下几部分进行模块化设计。
1 秒脉冲发生器
脉冲发生器是数字钟的核心部分,它的精度和稳定度决定了数字钟的质量,通常用晶体振荡器发出的脉冲经过整形、分频获得1Hz的秒脉冲。如晶振为32768 Hz,通过15次二分频后可获得1Hz的脉冲输出
2 计数译码显示
秒、分、时、日分别为60、60、24、7进制计数器、秒、分均为60进制,即显示00~59,它们的个位为十进制,十位为六进制。时为二十四进制计数器,显示为00~23,个位仍为十进制,而十位为三进制,但当十进位计到2,而个位计到4时清零,就为二十四进制了。
周为七进制数,按人们一般的概念一周的显示日期“日、1、2、3、4、5、6”,所以我们设计这个七进制计数器,应根据译码显示器的状态表来进行,如表11所示。
按表11状态表不难设计出“日”计数器的电路(日用数字8代替)。
所有计数器的译码显示均采用BCD—七段译码器,显示器采用共阴或共阳的显示器。
Q4 Q3 Q2 Q1
显示
1 0 0 0
日
0 0 0 1
1
0 0 1 0
2
0 0 1 1
3
0 1 0 0
4
0 1 0 1
5
0 1 1 0
6
表11 状态表
3 校时电路
在刚刚开机接通电源时,由于日、时、分、秒为任意值,所以,需要进行调整。
置开关在手动位置,分别对时、分、秒、日进行单独计数,计数脉冲由单次脉冲或连续脉冲输入。
4 整点报时电路
当时计数器在每次计到整点前六秒时,需要报时,这可用译码电路来解决。即
当分为59时,则秒在计数计到54时,输出一延时高电平去打开低音与门,使报时声按500Hz频率呜叫5声,直至秒计数器计到58时,结束这高电平脉冲;当秒计数到59时,则去驱动高音1KHz频率输出而鸣叫1声。
五、参考电路
数字电子钟逻辑电路参考图如图13所示。
参考电路简要说明
1 秒脉冲电路
由晶振32768Hz经14分频器分频为2Hz,再经一次分频,即得1Hz标准秒脉冲,供时钟计数器用。
2 单次脉冲、连续脉冲
这主要是供手动校时用。若开关K1打在单次端,要调整日、时、分、秒即可按单次脉冲进行校正。如K1在单次,K2在手动,则此时按动单次脉冲键,使周计数器从星期1到星期日计数。若开关K1处于连续端,则校正时,不需要按动单次脉冲,即可进行校正。单次、连续脉冲均由门电路构成。
3 秒、分、时、日计数器
这一部分电路均使用中规模集成电路74LS161实现秒、分、时的计数,其中秒、分为六十进制,时为二十四进制。从图3中可以发现秒、分两组计数器完全相同。当计数到59时,再来一个脉冲变成00,然后再重新开始计数。图中利用“异步清零”反馈到/CR端,而实现个位十进制,十位六进制的功能。
时计数器为二十四进制,当开始计数时,个位按十进制计数,当计到23时,这时再来一个脉冲,应该回到“零”。所以,这里必须使个位既能完成十进制计数,又能在高低位满足“23”这一数字后,时计数器清零,图中采用了十位的“2”和个位的“4”相与非后再清零。
对于日计数器电路,它是由四个D触发器组成的(也可以用JK触发器),其逻辑功能满足了表1,即当计数器计到6后,再来一个脉冲,用7的瞬态将Q4、Q3、Q2、Q1置数,即为“1000”,从而显示“日”(8)。
4.译码、显示
译码、显示很简单,采用共阴极LED数码管LC5011-11和译码器74LS248,当然也可用共阳数码管和译码器。
1 整点报时
当计数到整点的前6秒钟,此时应该准备报时。图3中,当分计到59分时,
将分触发器QH置1,而等到秒计数到54秒时,将秒触发器QL置1,然后通过QL与QH相与后再和1s标准秒信号相与而去控制低音喇叭呜叫,直至59秒时,产生一个复位信号,使QL清0,停止低音呜叫,同时59秒信号的反相又和QH相与后去控制高音喇叭呜叫。当计到分、秒从59:59—00:00时,呜叫结束,完成整点报时。
2 呜叫电路
呜叫电路由高、低两种频率通过或门去驱动一个三极管,带动喇叭呜叫。1KHz
和500Hz从晶振分频器近似获得。如图中CD4060分频器的输出端Q5和Q6。Q5输出频率为1024Hz,Q6输出频率为512Hz。
我要由CD4060和4511构成的数字钟电路图
数字电子钟逻辑电路设计
一、实验目的:
1、掌握数字钟的设计方法;
2、熟悉集成电路的使用方法。
二、设计任务和要求:
1、设计一个有“时”,“分”,“秒”(23小时59分59秒)显示且有校时功能的电子钟;
2、 用中小规模集成电路组成电子钟;
3、画出框图和逻辑电路图,写出设计报告;
4、选做:①闹钟系统。②整点报时。③日历系统。
三、方案选择和论证:
1.分秒功能的实现:用两片74290组成60进制递增计数器
2时功能的实现:用两片74290组成24进制递增计数器
3.定点报时:当分秒同时出现为0时,灯亮。
4日历系统:月跟日分别用2片74192实现,月份就接成12进制,日则接成31进制,星期由1片74192组成7进制,从星期一至星期天。
四、方案的设计:
1、可调时钟模块:
秒、分、时分别为60、60和24进制计数器。用两片74LS290做一个二十四进制, 输入计数脉冲CP加在CLKA’端,把QA与与CPLB’从外部连接起来,电路将对CP按照8421BCD码进行异步加法计数。通过反馈端,控制清零端清零,其中个位接成二进制形式,十位接成四进制形式。其电路图如下:
同理利用两片74290组成的六十进制计数器,如下图所示
将两个六十进制的加法计数器和一个二十四进制的加法计数器进行级联:将秒的十位进位脉冲接到分的个位输入脉冲,将分的十位进位脉冲接到时的个位输入脉冲,这样就可以组成最基本的电路。
2校时电路:
例如说时的校准,开关1上端接1HZ脉冲,下端接分的进位。当开关打到上端时电路进入校准功能,当开关打到下端时电路进入正常计时功能。其电路如总电路图所示
3整点报时:
分别用2个或非门接到分和秒的各输出个节点处,再用一个与非门与报时灯链接,当输出同时为零时,即整点时,报时灯就亮了,起到报时功能。本实验使用LED发光(1s),其电路图如下:
4日历系统:
月和日都用2片74192实现。月份功能则接成13进制,因为月份分日都是从1开始计起,所以要求从0001开始,到1101时,立刻清零,清零时应该切换到置数状态,即将ABCD置1000,通过一个与非门链接到LOAD端置零,同时也将计数器置为0001的状态。其电路图如下所示
日功能74192三十一进制电路图:
总电路图:
四、电路调试:
调试这部分工作在EWB仿真软件上进行。对于电路的调试应该分为几个部分,分别对电路各个部分的功能都进行调试,之后,每连接一部分都要调试一次。
在实现日历系统时,如月份需要显示灯显示1~31。一开始以为只把计数器链接成三十一进制即可,结果显示灯只显示0~30,没有自己预期的结果。经过仔细思考,要把0去掉不显示,从1开始显示,而还要显示31。经过查书,最后,知道开始需置数成0001状态,到1000才清零,清零的同时回到置数0001状态,通过多次链接、测试,终于实现了。
在实现校时功能过程中,由于之前想得太过复杂了,浪费了大量时间,最后,经过上网搜索,到图书馆查书,简单的用了个开关连接到脉冲实现了。
求单片机 实时时钟 电路 图和配套代码
工作原理:6个数码管的字型段输入端(a、b、c、d、e、f,g)全部并接到译码器相应的输出端。
电源控制开关管分别接到3~6译码器的六个输出端。时钟六个计数器输出端均采用四位,分别为xl、xt£、 m x⋯ X2n x2z、x2h x2‘,⋯,x 、x x 、x 相应的每一位都接到
4个6选1的选择器上,选择器输出共4位接到译码器的输入端(y 、y 、y 、Y )上。数码
管及与之对应要显示的计数器,由Q]、 的编码(BCD码)进行循环选择 例如,当Q 、
、 均为⋯0 时,则3~6译码器的输出端1为高电平,第一个数码管加上电源。
与此同时,六选一选择器对应的输出分别为Y y— y Xs—x X —x 。这时译码器的输出a,b,⋯⋯ ,g虽然接到所有数码管上,但由于只有第一个数码管加上电源,故只有该管点亮,显示第一个计数器的状态(x 、x 。、xX )。同理,当Q 、Q Q 为 001”时,第二个数码管点亮,显示第二个计数器的状态。依此类推,到第六个数码管断电后,接着第一个
又开始点亮。
如此循环显示,循环周期为6ms就相当所有数码管都一直在同时加电,实际上每次只有一个,消耗的功率只有静态显示的六分之一。由于数码管电流很大,一般小型管各段全亮时,大约要150mA~200mA 采用静电显示,此例中就要大于1A的电流。这对长期工作的时钟很不经济,对于大型数码管会更加严重。此外,采用动态显示,数码管的寿命与静态相比也相应延长Ⅳ 倍(本例为6倍)。
8051单片机时钟电路
实时的话肯定要用DS1302了,给你发个吧,用STC89c52写的:
#include<reg52h>
#include<intrinsh>
#define uchar unsigned char
//引脚定义
sbit TIMERCLK=P3^2; //DS1302同步串行时钟引脚
sbit TIMERIO=P3^3; //DS1302数据输入输出引脚
sbit TIMERRST=P3^4; //DS1302RST引脚
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_4=P2^4;
sbit P2_5=P2^5;
sbit P2_6=P2^6;
sbit P2_7=P2^7;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
//sbit SEC_7=SEC^7;
//sbit WDT=P1^3; //看门狗"喂狗"引脚
uchar code TABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//#define DIGPORT
//全局变量声明
uchar bdata DS1302dat; //DS1302读写过程中的命令或数据
sbit ds1302datHbit=DS1302dat^7; //位定义,用于数据写入
sbit ds1302datBit=DS1302dat^0; //位定义,用于数据读出
uchar bdata DS1302adr; //DS1302读写过程中所访问的单元地址
sbit ds1302adrBit=DS1302adr^0; //
uchar idata SEC;
uchar MIN;
uchar HR;
uchar DATE;
uchar MONTH;
uchar DAY;
uchar YEAR;
uchar disp1;
uchar disp2;
uchar disp3;
uchar disp4;
uchar disp5;
uchar disp6;
uchar disp7;
uchar disp8;
uchar tiao;
uchar tt;
uchar flag;
// sbit SEC_7=SEC^7;
void delay(uchar time)
{
uchar i,j;
for(i=0;i<time;i++)
{
for(j=0;j<time;j++)
{
// WDT=~WDT;
}
}
}
void writeDS1302(uchar dsRamAdr,uchar ds1302data)
{
uchar i;
TIMERCLK=0;
delay(2);
TIMERRST=1;
delay(2);
DS1302adr=dsRamAdr;
DS1302dat=ds1302data;
for(i=0;i<8;i++)
{
CY=0;
TIMERCLK=0;
CY=ds1302adrBit;
TIMERIO=CY;
delay(2);
TIMERCLK=1;
DS1302adr=DS1302adr>>1;
}
for(i=0;i<8;i++)
{
CY=0;
TIMERCLK=0;
CY=ds1302datBit;
TIMERIO=CY;
delay(2);
TIMERCLK=1;
DS1302dat=DS1302dat>>1;
}
TIMERRST=0;
delay(2);
TIMERRST=0;
}
uchar readDS1302(uchar DS1302Adr)
{
uchar i;
TIMERCLK=0;
delay(2);
TIMERRST=1;
delay(2);
DS1302adr=DS1302Adr;
for(i=0;i<8;i++)
{
TIMERCLK=0;
TIMERIO=ds1302adrBit;
delay(2);
TIMERCLK=1;
DS1302adr=DS1302adr>>1;
}
TIMERIO=1;
for(i=0;i<7;i++)
{
TIMERCLK=0;
ds1302datHbit=TIMERIO;
delay(2);
TIMERCLK=1;
DS1302dat=DS1302dat>>1;
TIMERCLK=0;
ds1302datHbit=TIMERIO;
}
TIMERRST=0;
delay(2);
TIMERCLK=0;
return DS1302dat;
}
void DS1302Inital(void)
{
uchar ds1302st;
TIMERCLK=0;
TIMERRST=0;
ds1302st=readDS1302(0x0c1);
if(ds1302st!=0x55)
{
writeDS1302(0x8e,0x00);
//writeDS1302(0x80,0x00);
writeDS1302(0x82,0x00);
writeDS1302(0x84,0x16);
writeDS1302(0x86,0x19);
writeDS1302(0x88,0x09);
writeDS1302(0x8a,0x02);
writeDS1302(0x8c,0x00);
writeDS1302(0x90,0xa6);
writeDS1302(0x0c0,0x55);
writeDS1302(0x80,0x00);
}
}
void readRTC(void)
{
MonTH=readDS1302(0x89);
DATE=readDS1302(0x87);
HR=readDS1302(0x85);
MIN=readDS1302(0x83);
SEC=readDS1302(0x81);
}
void disp(void)
{
if(MIN==10)writeDS1302(0x82,0x10);
if(MIN==26)writeDS1302(0x82,0x20);
if(MIN==42)writeDS1302(0x82,0x30);
if(MIN==58)writeDS1302(0x82,0x40);
if(MIN==74)writeDS1302(0x82,0x50);
if(MIN==90)writeDS1302(0x82,0x00);
if(HR==10)writeDS1302(0x84,0x10);
if(HR==26)writeDS1302(0x84,0x20);
if(HR==36)writeDS1302(0x84,0x00);
//if(HR==58)writeDS1302(0x82,0x40);
//if(HR==74)writeDS1302(0x82,0x50);
//if(HR==90)writeDS1302(0x82,0x00);
if(DATE==10)writeDS1302(0x86,0x10);
if(DATE==26)writeDS1302(0x86,0x20);
if(DATE==42)writeDS1302(0x86,0x30);
if(DATE==50)writeDS1302(0x86,0x01);
//if(DATE==74)writeDS1302(0x82,0x50);
//if(DATE==90)writeDS1302(0x82,0x00);
disp2=SEC/16;
disp1=SEC%16;
//if(flag1==0)
//if(MIN==10||MIN==26||MIN==42||MIN==58||MIN==74){MIN=MIN+6;}
disp4=MIN/16;
disp3=MIN%16;//flag1=0;
disp6=HR/16;
disp5=HR%16;
disp8=DATE/16;
disp7=DATE%16;
P2_0=0;
P0=TABLE[disp1];
delay(12);
P2_0=1;
P2_1=0;
P0=TABLE[disp2];
delay(12);
P2_1=1;
P2_2=0;
P0=TABLE[disp3];
delay(12);
P2_2=1;
P2_3=0;
P0=TABLE[disp4];
delay(12);
P2_3=1;
P2_4=0;
P0=TABLE[disp5];
delay(12);
P2_4=1;
P2_5=0;
P0=TABLE[disp6];
delay(12);
P2_5=1;
P2_6=0;
P0=TABLE[disp7];
delay(12);
P2_6=1;
P2_7=0;
P0=TABLE[disp8];
delay(12);
P2_7=1;
}
void dispA(void)
{
if(SEC==10||SEC==26||SEC==42||SEC==58||SEC==74){SEC=SEC+6;}
//if(SEC==74||SEC==58||SEC==42||SEC==26||SEC==10){SEC=SEC+6;}
disp2=SEC/16;
disp1=SEC%16;
//disp4=MIN/16;
//disp3=MIN%16;
//disp6=HR/16;
//disp5=HR%16;
//disp8=DATE/16;
//disp7=DATE%16;
if(SEC==90)SEC=0;
P2_0=0;
P0=TABLE[disp1];
delay(12);
P2_0=1;
P2_1=0;
P0=TABLE[disp2];
delay(12);
P2_1=1;
P2_2=0;
P0=TABLE[disp3];
delay(5);
P2_2=1;
P2_3=0;
P0=TABLE[disp4];
delay(5);
P2_3=1;
P2_4=0;
P0=TABLE[disp5];
delay(5);
P2_4=1;
P2_5=0;
P0=TABLE[disp6];
delay(5);
P2_5=1;
P2_6=0;
P0=TABLE[disp7];
delay(5);
P2_6=1;
P2_7=0;
P0=TABLE[disp8];
delay(5);
P2_7=1;
}
void dispB(void)
{
if(MIN==10||MIN==26||MIN==42||MIN==58||MIN==74){MIN=MIN+6;}
//if(MIN==74||MIN==58||MIN==42||MIN==26||MIN==10){MIN=MIN+6;}
//disp2=SEC/16;
//disp1=SEC%16;
disp4=MIN/16;
disp3=MIN%16;
//disp6=HR/16;
//disp5=HR%16;
//disp8=DATE/16;
//disp7=DATE%16;
if(MIN==90)MIN=0;
P2_0=0;
P0=TABLE[disp1];
delay(5);
P2_0=1;
P2_1=0;
P0=TABLE[disp2];
delay(5);
P2_1=1;
P2_2=0;
P0=TABLE[disp3];
delay(12);
P2_2=1;
P2_3=0;
P0=TABLE[disp4];
delay(12);
P2_3=1;
P2_4=0;
P0=TABLE[disp5];
delay(5);
P2_4=1;
P2_5=0;
P0=TABLE[disp6];
delay(5);
P2_5=1;
P2_6=0;
P0=TABLE[disp7];
delay(5);
P2_6=1;
P2_7=0;
P0=TABLE[disp8];
delay(5);
P2_7=1;
}
void dispC(void)
{
if(HR==10||HR==26||HR==42||HR==58||HR==74){HR=HR+6;}
//if(HR==74||HR==58||HR==42||HR==26||HR==10){HR=HR+6;}
//disp2=SEC/16;
//disp1=SEC%16;
//disp4=MIN/16;
//disp3=MIN%16;
disp6=HR/16;
disp5=HR%16;
if(HR==36)HR=0;
//disp8=DATE/16;
//disp7=DATE%16;
P2_0=0;
P0=TABLE[disp1];
delay(5);
P2_0=1;
P2_1=0;
P0=TABLE[disp2];
delay(5);
P2_1=1;
P2_2=0;
P0=TABLE[disp3];
delay(5);
P2_2=1;
P2_3=0;
P0=TABLE[disp4];
delay(5);
P2_3=1;
P2_4=0;
P0=TABLE[disp5];
delay(12);
P2_4=1;
P2_5=0;
P0=TABLE[disp6];
delay(12);
P2_5=1;
P2_6=0;
P0=TABLE[disp7];
delay(5);
P2_6=1;
P2_7=0;
P0=TABLE[disp8];
delay(5);
P2_7=1;
}
void dispD(void)
{
if(DATE==10||DATE==26||DATE==42||DATE==58||DATE==74){DATE=DATE+6;}
//if(DATE==74||DATE==58||DATE==42||DATE==26||DATE==10){DATE=DATE+6;}
//disp2=SEC/16;
//disp1=SEC%16;
//disp4=MIN/16;
//disp3=MIN%16;
//disp6=HR/16;
//disp5=HR%16;
disp8=DATE/16;
disp7=DATE%16;
if(DATE==50)DATE=1;
P2_0=0;
P0=TABLE[disp1];
delay(5);
P2_0=1;
P2_1=0;
P0=TABLE[disp2];
delay(5);
P2_1=1;
P2_2=0;
P0=TABLE[disp3];
delay(5);
P2_2=1;
P2_3=0;
P0=TABLE[disp4];
delay(5);
P2_3=1;
P2_4=0;
P0=TABLE[disp5];
delay(5);
P2_4=1;
P2_5=0;
P0=TABLE[disp6];
delay(5);
P2_5=1;
P2_6=0;
P0=TABLE[disp7];
delay(12);
P2_6=1;
P2_7=0;
P0=TABLE[disp8];
delay(12);
P2_7=1;
}
void main(void)
{
DS1302Inital();
while(1)
{
readRTC();
disp();
tt=0;
flag=0;
tiao=0;
while(P3_7==0||tt==1)
{
tt=1;
if(flag==0)
{
tiao++;
flag=1;
}
if(tiao==1)
{
while(P3_7==0);
dispA();
if(P3_6==0)
{
while(P3_6==0);
writeDS1302(0x80,++SEC);
}
if(P3_5==0)
{
while(P3_5==0);
writeDS1302(0x80,--SEC);
}
if(P3_7==0)
flag=0;
}
if(tiao==2)
{
while(P3_7==0);
dispB();
if(P3_6==0)
{
while(P3_6==0);
writeDS1302(0x82,++MIN);
}
if(P3_5==0)
{
while(P3_5==0);
writeDS1302(0x82,--MIN);
}
if(P3_7==0)
flag=0;
}
if(tiao==3)
{
while(P3_7==0);
dispC();
if(P3_6==0)
{
while(P3_6==0);
writeDS1302(0x84,++HR);
}
if(P3_5==0)
{
while(P3_5==0);
writeDS1302(0x84,--HR);
}
if(P3_7==0)
flag=0;
}
if(tiao==4)
{
while(P3_7==0);
dispD();
if(P3_6==0)
{
while(P3_6==0);
writeDS1302(0x86,++DATE);
}
if(P3_5==0)
{
while(P3_5==0);
writeDS1302(0x86,--DATE);
}
if(P3_7==0)
flag=0;
}
if(tiao==5)
tt=0;
}
}
}
你自己用keil软件调就行了!
电路图中什么叫时钟和复位
8051单片机时钟电路如下所示:
电容C2、C3对频率有微调的作用,电容容量的选择范围在30pF±10pF。震荡频率的选择范围为12-12MHz。时钟周期=石英振荡器频率的倒数。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
当所有芯片组系统供电供电正常后其会发出PG信号来送到一个特殊的单元小电路(只是门电路集成块)
1
然后通过各种逻辑运算之后会产生一个最终形成的PG信号并将其送到KBC在送到KBC后再向cpu供电电路发出一个开启信号来开启cpu供电电路这个信号就是VR_ON这个信号被cpu供电芯片收到之后成功发出脉冲方波来产生相应的CPU供电电压当这供电正常之后会发出VRM_PWRGD来送到时钟产生电路作为时钟电路的工作条件之一另外当供电最终稳定输出正常以后会向KBC发出cpu供电的好信号
2
当KBC收到以后向南桥发出ICH_PWRGD同时另一路向北桥发出NB_PWRGD而此时当SB收到了信号之后其会发出开启时钟电路工作的另外两个关键的开启信号CPU_STP#和PCI_STP#
3
当这两个信号成功被时钟电路成功收到以后当时钟电路33V供电或者25v供电正常后其14318Mhz晶振将起振然后接下来当clk_en的开启和另外两个cpu_stp信号和PCI_STP信号均正常以后时钟电路会通过各时钟产生引脚向各设备发出各自的时钟信号而这里关键的时钟在于25引脚产生的ICH_CLK+当这个时钟成功送到SB后SB将开始对全部的硬件设备进行复位以及
4
DRV_RST复位而这里比较关键的地方在于当北桥收到了南桥的复位以后会向CPU发出复位信号来复位CPU而当cpu成功复位之后也就预示着机器的硬启动已经完成。
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报