版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学珠海学院2020届本科生毕业设计基于51单片机的出租车计价器摘要这款计价器设计应用场景是用于出租车运营,要求有计程计价的性能。计价器由STC89C52单片机为主体,通过单片机丰富的借口连接,以复位电路,时钟电路,键盘电路等外围芯片为辅助,组成一个整体进行工作。复位电路的意义是重启单片机,任何一款能正常使用的计价器都必备的功能,必要时也能摆脱操作错误的窘境,通过复位电路的功能可以重新进行工作。作为计时部分的12MHz晶体时钟电路的用途,是为计价器提供具有高的精度的系统时钟源。使用了Proteus等仿真软件,对计价器的软硬件部分模拟运行,用于调试。 通过连接上电源,字符型液晶1602可以显示三种收费:最低起步距离内的起步价,超出最低里程后,按公里数以及中途等候时间向,乘客收费。根据应用场景的不同,可以使用按键在里程收费,起步价,等候时间三种模式之间切换。仿照出租车在载客运营的行为模式,暂停与结束。与至相关的运行时间和暂停时间等信息可以在1602液晶上查看到,总成本和总距离可以通过计算得出来。STC89C52控制器单片机为主体,P0端口与LCD模块1602的显示芯片连接,P1端口为键盘模块的连接端口,按键负责输入。关键词:AT89S52;1602液晶;出租车计价器;DS1302;K24C02Taximeterbasedon51microcontrollerABSTRACTTheapplicationscenarioofthemeterdesignisfortaxioperation,whichrequirestheperformanceofthemetertohavetherangepricing.MeterbySTC89C52MCUasthemainbody,customsclearanceMCUrichexcusesconnection,togertherwithclockcircuitkeyboardcircuit,resetcircuitandotherperipheralchipsastheauxiliary,constituteawholetowork.ThesignificanceoftheresetcircuitistorestarttheMCU,anyoneofthenormaluseofthemeterareessentialfunctions,whennecessarycanalsogetridoftheoperatingerrordilemma,throughthefunctionoftheresetcircuitcanworkagain.Thepurposeofthe12MHzcrystalclockcircuitaspartofthetimingistoprovidethemeterwithahighprecisionsystemclocksource.UseProteusandothersimulationsoftwaretosimulatethebehaviorofthemeterhardwareandsoftwaredebugging. Connectedtoapowersupply,thecharacterLCD1602displaysthreetypesofcharges:thestartingpricewithintheminimumstartingdistance,theofficialratebeyondtheminimumdistanceandthewaitingfare.Accordingtothedifferentapplicationscenarios,youcanusethebuttontoswitchbetweenthreemodes:mileagecharge,startingpriceandwaitingtime.Imitatethebehaviorpatternoftaxiincarryingpassengers,pauseandend.Thepausetimeisallowtobedisplayedonthe1602LCD,aswellastheruningtime.Thetotalcostandtotaldistancecanbecalculated.STC89C52controllerMCUasthemainbody,P0portandLCDmodule1602displaychipconnection,P1portisthekeyboardmoduleconnectionport,thekeyisresponsibleforinput.Keyword:STC89C52;1602LCD;Taxidevices;DS1302;K24C02北京理工大学珠海学院2020届本科生毕业设计结束语本款在这段时间里,经过努力,基本上完成了设计要求的内容,实现了出租车计价系统的计费,总里程显示等功并且能通过电机模拟轮胎转动,间接获得车速功能。本次设计还增添了在机器不使用时,还可以显示系统等附加功能。由于使用的是STC89C52单片机作为核心的控制元件,灵敏的霍尔开关型器件A44E霍尔传感器,是本出租车计价器具有功能强、性能可靠、电路简单、成本低实用性强等特点,加上经过优化的程序,使其有一定的智能化水平。但是在设调计试的过程中,也发现了一些问题,譬如计价的金额位数有限,实际的里程可能会很远,会超出我们的显示范围。虽然单片机具有较强抗干扰能力,虽然其抗干扰能力不如PLC,但是PLC价格较贵,不符合以经济为主的设计原则。同时,不能直接显示车速和超速提醒功能,若加入这些功能可以使出租车计价器功能多元化,准确化,方便化。虽然时钟系统加入了当地时间显示,但同时还应该加入语音系统,准确报价,让这个设计更加人性化,让乘客和司机之间的交易更加清晰化。让他们有一个更加方便公平的交易平台。通过本次毕业设计,又使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛,学会了在网络上查找有关本设计的各硬件的资源,其中包括:STC89C52单片机及其引脚说明、为本次设计提供了一定的资料。
致谢本论文是在刘娇月老师的悉心指导下完成的,刘老师的渊博学识和丰富经验给我留下了深刻的印象。从老师那里我学到的不仅是专业知识与实际问题科学解决的方法,更为重要的是勤奋和严谨治学的精神以及对学生的认真负责,老师的谆谆教诲使我受益匪浅,在此向老师表示衷心的感谢并致以崇高的敬意!我要感谢我的母校,是她培养了我,培养了一批又一批像我一样受益于她的孩子们,没有学校领导的细细关怀,大学四年我们不会过的如此充实。最后,我想感谢父母给予我学业上和生活上的支持。毕业设计是一个艰苦的过程,同时也是一个学习的过程,通过它我涉足了许多未知的领域,极大的拓宽了自己的知识面。这位以后踏上工作岗位更好的学习和工作打下了良好的基础。附录附录1系统实物图附录2系统原理图出租车计价器总体电路图附录3元器件清单元件名称数量元件名称数量103排阻1DS1302时钟芯片110K电阻2DIP8插座21K电阻49012三极管14.7K电阻4STC89C52芯片13K电阻1DIP40插座110欧电阻1LCD1602显示屏1K24C02芯片1103瓷片电容2IN4007二极管4104瓷片电容36*6*5按键8发光二极管130pf瓷片电容2A44E霍尔元件120pf瓷片电容2磁铁212M晶振1470uf电解电容232.768M晶振17805稳压管110uf电解电容1
附录4系统源程序#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharzs[12]={0x00,0x00,0x00,0x00};sbitsck=P2^0;//1302时钟sbitd=P2^1;//1302数据sbitrst=P2^2;//1302使能高电平有效sbita=ACC^0;sbits=ACC^7;sbitrs=P2^6;sbite=P2^7;//时能端sbitk1=P1^0;//调时间按键sbitk2=P1^1;//加1sbitk3=P1^2;//减1sbitk4=P1^3;//时间与路程的切换sbitk5=P1^4;//白天黑夜切换sbitk6=P1^5;//等待uchart,a1,num,b,shi,fen,miao,ri,yue,zhou,nian,biao,biao1,biao2,biao3,ding,dengdai=0,miao=0,i=0;ucharw=0,w1=0,w2=0,w3=0,w4=0,w5=0;uintk=0;//每秒转的圈数uints1=0;//存储圈数的单元uintwx=100,wx1=100,wx2=0;//总钱uintz=0,z1=0,z2=0;//总路程uintbh=0;//白天和黑夜的切换标志uintdd=0;//等待标志ucharcodetad[]="2010/12/6wek:1";ucharcodetad1[]="12:00:00";ucharte[]="W:000DT:000.0";ucharte1[]="UP:1.8GA:000.0";ucharte2[]="UP:2.2GA:000.0";voiddelay(ucharx){ uinta,b; for(a=x;a>0;a--) for(b=110;b>0;b--);}voidxzj(ucharat)//写字节{ uchari,map; map=at; sck=0; for(i=0;i<8;i++) { map=map>>1;//右移 d=CY; sck=0; _nop_();_nop_(); sck=1; _nop_();_nop_(); }}uchardzj()//读字节{ uchari; for(i=0;i<8;i++) { ACC=ACC>>1; sck=1; _nop_();_nop_(); sck=0; _nop_();_nop_(); s=d; } returnACC;}voidxsj(uchars,uchard)//写数据或指令{ rst=0;//禁止读和写 sck=0; rst=1;//允许读和写 xzj(s);//写地址或指令 xzj(d);//写数据 rst=0;//禁止读和写 }uchardsj(ucharx)//读数据{ uchards; rst=0;//禁止读和写 sck=0; rst=1;//允许读和写*/ xzj(x);//读的地址 ds=dzj(); rst=0;//禁止读和写 returnds;//反回读出的数}voiddu(){ miao=dsj(0x81);//读秒 miao=(((miao&0xf0)>>4)*10+(miao&0x0f));//将BCD码转换为十进制码 fen=dsj(0x83);//读分 fen=(((fen&0xf0)>>4)*10+(fen&0x0f));//将BCD码转换为十进制码 shi=dsj(0x85);//读时 shi=(((shi&0xf0)>>4)*10+(shi&0x0f));//将BCD码转换为十进制码 ri=dsj(0x87);//日 ri=(((ri&0xf0)>>4)*10+(ri&0x0f));//将BCD码转换为十进制码 yue=dsj(0x89);//月 yue=(((yue&0xf0)>>4)*10+(yue&0x0f));//将BCD码转换为十进制码 zhou=dsj(0x8b);//周 zhou=(((zhou&0xf0)>>4)+(zhou&0x0f)*10);//将BCD码转换为十进制码 nian=dsj(0x8d);//年 nian=(((nian&0xf0)>>4)*10+(nian&0x0f));//将BCD码转换为十进制码}voidinit_ds1302(){ xsj(0x8e,0x00);//允许写指令非写保护 xsj(0x80,0x00);//设置秒的初值 xsj(0x82,0x00);//设置分的初值 xsj(0x84,0x12);//设置时的初值 xsj(0x86,0x06);//设置日的初值 xsj(0x88,0x12);//设置月的初值 xsj(0x8a,0x01);//设置月的初值 xsj(0x8c,0x11);//设置年的初值 xsj(0x8e,0x80);//允许写指令写保护}voidcc()//存储数据 { xsj(0x8e,0x00); xsj(0xC0,0x55); xsj(0xC2,0x55); xsj(0xC4,0x55); xsj(0xC6,0x55); xsj(0xC8,0x55); xsj(0x8e,0x80);} voiddb()//数据对比{ uintk; if(dsj(0xc1)==0x55) { if(dsj(0xc3)==0x55) { if(dsj(0xc5)==0x55) { if(dsj(0xc7)==0x55) { if(dsj(0xc9)==0x55) k=1; } } } } if(k==0) { init_ds1302(); cc(); } k=0;}voidwrite_date(uchardate)//写数据{ rs=1; P0=date; delay(5); e=1; delay(5); e=0; }voidwrite_com(ucharc)//写指令{ rs=0; P0=c; delay(5); e=1; delay(5); e=0; }voidinit()//初始化{ ding=0; k1=1; k2=1; k3=1; k4=1; biao=0; biao1=1; biao2=0; biao3=0; db(); EA=1;//开总中断 IT0=1; ET1=1; TMOD=0x10; sck=0; rst=0; /******给1302的电池充电***/ xsj(0x8e,0x00); xsj(0x90,0xa5); xsj(0x8e,0x80); rw=0; e=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<16;num++) { write_date(tad[num]); delay(1); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_date(tad1[num]); delay(1); }}voidwrite_sfm1(ucharaz,uchardate)//向第一行某位送数据{ ucharshi,ge; shi=date/10; ge=date%10; write_com(0x80+az); write_date(0x30+shi); write_date(0x30+ge);}voidwrite_sfm(ucharaz,uchardate)//向第二行某位送数据{ ucharshi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+az); write_date(0x30+shi); write_date(0x30+ge);}voidxs()//时间刷新{ write_sfm(10,miao); write_sfm(7,fen); write_sfm(4,shi); write_sfm1(15,zhou); write_sfm1(8,ri); write_sfm1(5,yue); write_sfm1(2,nian);}ucharanj1(ucharm,ucharo,ucharm1) //按键通用函数{ if(k2==0) { delay(2); if(k2==0) { a1++; if(a1==60) a1=0; while(!k2); if(o==0) write_sfm1(m,a1);//送显示 if(o!=0) write_sfm(m,a1);//送显示 write_com(0x80+o+m1);//重新定位光标闪烁 } } if(k3==0) { delay(2); if(k3==0) { a1--; if(a1==-1) a1=59; while(!k3); if(o==0) write_sfm1(m,a1);//送显示 if(o!=0) write_sfm(m,a1); write_com(0x80+o+m1); } } returna1; biao1=1; }voidanj2()//计费和时钟的切换{ if(biao==0) { if(k4==0) { delay(5); if(k4==0) ding=!ding; if(ding==0) { write_com(0x80); for(num=0;num<16;num++) { write_date(tad[num]); delay(2); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_date(tad1[num]); delay(2); } EX0=0; TR1=0; t=0; } } }}voidanj()//时钟调整{ if(k1==0) { delay(1); if(k1==0) { biao++; biao1=0; while(!k1); } } if(biao==1) { if(biao1==0) { write_com(0x80+0x40+11);//定位光标闪烁的位置 write_com(0x0f);//打开光标闪烁 } a1=miao; miao=anj1(10,0x40,11); } if(biao==2) { if(biao1==0) write_com(0x80+0x40+8);//定位光标闪烁的位置 a1=fen; fen=anj1(7,0x40,8); } if(biao==3) { if(biao1==0) write_com(0x80+0x40+5);//定位光标闪烁的位置 if(k2==0) { delay(2); if(k2==0) { shi++; if(shi==24) shi=0; while(!k2); write_sfm(4,shi);//送显示 write_com(0x80+0x40+5);//重新定位光标闪烁 } } if(k3==0) { delay(2); if(k3==0) { shi--; if(shi==-1) shi=23; while(!k3); write_sfm(4,shi);//送显示 write_com(0x80+0x40+5);//重新定位光标闪烁 } } biao1=1; } if(biao==4) { zhou=zhou/10; if(biao1==0) write_com(0x80+15);//定位光标闪烁的位置 if(k2==0) { delay(2); if(k2==0) { zhou++; if(zhou==8) zhou=1; while(!k2); write_com(0x80+15); write_date(0x30+zhou);//送显示 write_com(0x80+15);//重新定位光标闪烁的位置 } } if(k3==0) { delay(2); if(k3==0) { zhou--; if(zhou==0) zhou=7; while(!k3); write_com(0x80+15); write_date(0x30+zhou);//送显示 write_com(0x80+15);//重新定位光标闪烁的位置 } } zhou=zhou*10; biao1=1; } if(biao==5) { if(biao1==0) write_com(0x80+9);//定位光标闪烁的位置 if(k2==0) { delay(2); if(k2==0) { ri++; if(ri==32) ri=1; while(!k2); write_sfm1(8,ri);//送显示 write_com(0x80+9);//重新定位光标闪烁的位置 } } if(k3==0) { delay(2); if(k3==0) { ri--; if(ri==0) ri=31; while(!k3); write_sfm1(8,ri);//送显示 write_com(0x80+9);//重新定位光标闪烁的位置 } } biao1=1; } if(biao==6) { if(biao1==0) write_com(0x80+6);//定位光标闪烁的位置 if(k2==0) { delay(2); if(k2==0) { yue++; if(yue==13) yue=1; while(!k2); write_sfm1(5,yue);//送显示 write_com(0x80+6);//重新定位光标闪烁的位置 } } if(k3==0) { delay(2); if(k3==0) { yue--; if(yue==0) yue=12; while(!k3); write_sfm1(5,yue);//送显示 write_com(0x80+6);//重新定位光标闪烁的位置 } } biao1=1; } if(biao==7) { if(biao1==0) write_com(0x80+3);//定位光标闪烁的位置 if(k2==0) { delay(2); if(k2==0) { nian++; while(!k2); write_sfm1(2,nian);//送显示 write_com(0x80+3);//重新定位光标闪烁的位置 } } if(k3==0) { delay(2); if(k3==0) { nian--; if(nian==0) nian=0; while(!k3); write_sfm1(2,nian);//送显示 write_com(0x80+3);//重新定位光标闪烁的位置 } } biao1=1; } if(biao==8) { biao=0; write_com(0x0c);//关闭光标闪烁 miao=((miao/10)<<4)|(miao%10);//将十进制转换为BCD码 fen=((fen/10)<<4)|(fen%10);//将十进制转换为BCD码 shi=((shi/10)<<4)|(shi%10);//将十进制转换为BCD码 zhou=((zhou/10))|(zhou%10<<4);//将十进制转换为BCD码 ri=((ri/10)<<4)|(ri%10);//将十进制转换为BCD码 yue=((yue/10)<<4)|(yue%10);//将十进制转换为BCD码 nian=((nian/10)<<4)|(nian%10);//将十进制转换为BCD码 xsj(0x8e,0x00);//允许写指令非写保护 xsj(0x80,miao);//设置秒的初值 xsj(0x82,fen);//设置分的初值 xsj(0x84,shi);//设置时的初值 xsj(0x86,ri);//设置日的初值 xsj(0x88,yue);//设置月的初值 xsj(0x8a,zhou);//设置月的初值 xsj(0x8c,nian);//设置年的初值 xsj(0x8e,0x80);//允许写指令写保护 } }voidchushihua()//计费的初始化{ bh=dsj(0xcb); write_com(0x80); for(num=0;num<16;num++) { write_date(te[num]); delay(2); } write_com(0x80+0x40); for(num=0;num<16;num++) { if(bh==1) write_date(te2[num]); if(bh==0) write_date(te1[num]); delay(2); } EX0=1; TR1=1; t=0; TH1=(65536-50000)/256; TL1=(65536-50000)%256;}voidkey(){ if(k5==0)//白黑切换 { delay(5); if(k5==0) { bh=!bh; if(bh==0)//白天 { write_com(0x80+0x40+3); write_date(0x30+1); write_date('.'); write_date(0x30+8); wx1=(z1*22)/10+wx1; z=30; } if(bh==1)//夜晚 { write_com(0x80+0x40+3); write_date(0x30+2); write_date('.'); write_date(0x30+2); wx1=(z1*18)/10+wx1; z=30; } xsj(0x8e,0x00); xsj(0xca,bh);//存储白黑的标志位 xsj(0x8e,0x80); while(!k5); } } if(k6==0) //等待控制 { delay(5); if(k6==0) { dd=!dd; if(dd==0) { EX0=1; } else EX0=0; } while(!k6); }}voidaq(){ if(bh==0)//1.8元每公里白天 { if(zs[2]>=100) { zs[2]=0; z++;z2++; } if(z>30) { z1=z-30; wx=(z1*18)/10+wx1+wx2; } } if(bh==1)//2.2元每公里夜晚 { if(zs[2]>=100) { zs[2]=0; z++;z2++; } if(z>30) { z1=z-30; wx=(z1*22)/10+wx1+wx2; } } write_com(0x80+3); write_date(0x30+dengdai/100); write_date(0x30+dengdai%100/10); write_date(0x30+dengdai%100%10); write_com(0x80+11); write_date(0x30+z2/1000); write_date(0x30+z2%1000/100); write_date(0x30+z2%1000%100/10); write_com(0x80+15); write_date(0x30+z2%10); write_com(0x80+0x40+11); write_date(0x30+wx/1000); write_date(0x30+wx%1000/100); write_date(0x30+wx%1000%100/10); write_com(0x80+0x40+15); write_date(0x30+wx%10);}voidmain(){ init();//初始化 while(1) { if(biao==0)//正常走时进入 { du();//从1302读出数据 xs();//时间刷新 } anj(); anj2();//计费与时钟切换 if(ding==1) chushihua();//计费初始化 while(ding) { key(); aq(); anj2();//计费与时钟切换 }}}voidwb()interrupt0{ k++; zs[s1]=(k*5);//存储转速}voidas()interrupt3{ TH1=(65536-50000)/256; TL1=(65536-50000)%256; t++; if(t==20) { t=0; if(dd==0) { jslc(); s1=!s1;//换存储单元便于计算 k=0;//将k清零 } else { miao++; if(miao==60) { miao=0; dengdai++; if(dengdai>3) { wx2=wx2+5; wx=(z1*22)/10+wx1+wx2; write_com(0x80+0x40+11); write_date(0x30+wx/1000); write_date(0x30+wx%1000/100); write_date(0x30+wx%1000%100/10); write_com(0x80+0x40+15); write_date(0x30+wx%10); } } } }}
怎样提高电脑系统运行速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。1.加快系统启动速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。(1)MsconfigWindowsXP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢,这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡(如图1),该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框,加载的项目越少,启动的速度就越快。设置完成后需要重新启动方能生效。(2)BootvisBootvis是微软提供的一个启动优化工具,可提高WindowsXP的启动速度。用BootVis提升WindowsXP的启动速度必须按照正确的顺序进行操作,否则将不会起到提速的效果。其正确的操作方法如下:启动Bootvis,从其主窗口(如图2)中选择“工具”菜单下的“选项”命令,在“符号路径”处键入Bootvis的安装路径,如“C:\ProgramFiles\Bootvis”,单击“保存”退出。从“跟踪”菜单中选择“下次引导”命令,会弹出“重复跟踪”对话框,单击“确定”按钮,BootVis将引导WindowsXP重新启动,默认的重新启动时间是10秒。系统重新启动后,BootVis自动开始运行并记录启动进程,生成启动进程的相关BIN文件,并把这个记录文件自动命名为TRACE_BOOT_1_1。程序记录完启动进程文件后,会重新启动BootVis主界面,在“文件”菜单中选择刚刚生成的启动进程文件“TRACE_BOOT_1_1”。窗口中即会出现“CPU>使用”、“磁盘I/O”、“磁盘使用”、“驱动程序延迟”等几项具体图例供我们分析,不过最好还是让BootVis程序来自动进行分析:从“跟踪”菜单中选择“系统优化”命令,程序会再次重新启动计算机,并分析启动进程文件,从而使计算机启动得更快。(3)禁用多余的服务WindowsXP在启动时会有众多程序或服务被调入到系统的内存中,它们往往用来控制Windows系统的硬件设备、内存、文件管理或者其他重要的系统功能。但这些服务有很多对我们用途不大甚至根本没有用,它们的存在会占用内存和系统资源,所以应该将它们禁用,这样最多可以节省70MB的内存空间,系统速度自然也会有很大的提高。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“services.msc”后回车,即可打开“服务”窗口。窗口的服务列表中列出了系统提供的所有服务的名称、状态及启动类型。要修改某个服务,可从列表双击它,会弹出它的属性对话框(如图3),你可从“常规”选项卡对服务进行修改,通过单击“启动”、“停止”、“暂停”、“恢复”四个按钮来修改服务的状态,并可从“启动类型”下拉列表中修改启动类型,启动类型有“自动”、“手动”、“已禁用”三种。如果要禁止某个服务在启动自动加载,可将其启动类型改为“已禁用”。WindowsXP提供的所有服务有36个默认是自动启动的,实际上,其中只有8个是必须保留的(见下表),其他的则可根据自己的需要进行设置,每种服务的作用在软件中有提示。4)修改注册表来减少预读取,减少进度条等待时间WindowsXP在启动过程中会出现一个进度条,我们可以通过修改注册表,让进度条只跑一圈就进入登录画面。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“regedit”命令后回车,即可启动注册表编辑器,在注册表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,选择其下的EnablePrefetcher键,把它的键值改为“1”即可。(5)减少开机磁盘扫描等待时间当Windows日志中记录有非正常关机、死机引起的重新启动,系统就会自动在启动的时候运行磁盘扫描程序。在默认情况下,扫描每个分区前会等待10秒钟,如果每个分区都要等上10秒才能开始进行扫描,再加上扫描本身需要的时间,会耗费相当长的时间才能完成启动过程。对于这种情况我们可以设置取消磁盘扫描的等待时间,甚至禁止对某个磁盘分区进行扫描。选择“开始→运行”,在运行对话框中键入“chkntfs/t:0”,即可将磁盘扫描等待时间设置为0;如果要在计算机启动时忽略扫描某个分区,比如C盘,可以输入“chkntfs/xc:”命令;如果要恢复对C盘的扫描,可使用“chkntfs/dc:”命令,即可还原所有chkntfs默认设置,除了自动文件检查的倒计时之外。2.提高系统运行速度提升系统运行速度的思路与加快启动的速度类似:尽量优化软硬件设置,减轻系统负担。以下是一些常用的优化手段。(1)设置处理器二级缓存容量WindowsXP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,选择其下的“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系统缓存同样也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”键值从0改为1,WindowsXP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这样XP的内核能够在内存中运行,大大提高系统速度。通常来说,该优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。需要注意的是必须有256M以上的内存,激活LargeSystemCache才可起到正面的作用,否则不要轻易改动它。(3)改进输入/输出性能这个优化能够提升系统进行大容量文件传输时的性能,不过这只对服务器用户才有实在意义。我们可在中新建一个DWORD(双字节值)键值,命名为IOPageLockLimit。一般情况下把数据设置8~16MB之间性能最好,要记住这个值是用字节来计算的,例如你要分配10MB的话,就是10×?1024×1024,也就是10485760。这里的优化也需要你的机器拥有大于256M的内存。(4)禁用内存页面调度在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。在注册表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”键,把它的值从0改为1即可禁止内存页面调度了。(5)关闭自动重新启动功能当WindowsXP遇到严重问题时便会突然重新开机,可从注册表将此功能取消。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”将AutoReboot键的Dword值更改为0,重新启动后设置即可生效。(6)改变视觉效果WindowsXP在默认情况下启用了几乎所有的视觉效果,如淡入淡出、在菜单下显示阴影。这些视觉效果虽然漂亮,但对系统性能会有一定的影响,有时甚至造成应用软件在运行时出现停顿。一般情况下建议少用或者取消这些视觉效果。选择桌面上“我的电脑”图标,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框。选择“高级”选项卡,在其中的“性能”栏中单击“设置”按钮,会弹出“性能选项”对话框(如图4),可选择“调整为最佳性能”单选框来关闭所有的视觉效果,也可选择“自定义”然后选择自己需要的视觉效果。(7)合理设置页面虚拟内存同样也是在“性能选项”对话框中,选择“高级”选项卡,在其中的“虚拟内存”栏中单击“更改”按钮,接下来选择虚拟内存为“自定义大小”,然后设置其数值。一般情况下,把虚拟设为不小于256M,不大于382M比较合适,而且最大值和最小值最好一样。(8)修改外观方案WindowsXP默认的外观方案虽然漂亮,但对系统资源的占用也多,可将其改为经典外观以获得更好的性能。在桌面空白位置单击鼠标右键,从弹出的快捷菜单中选择“属性”命令,会打开“显示属性”对话框,在“主题”选项卡选择主题为“Windows经典”,即可将外观修改为更为经济的Windows经典外观。(9)取消XP对ZIP支持WindowsXP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择“开始→运行”,在“运行”对话框中键入“regsvr32/uzipfldr.dll”,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。(10)关闭Dr.WatsonDr.Watson是WindowsXP的一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存保存为DUMP文件以供程序员分析。不过,记录DUMP文件对普通用户则毫无帮助,反而会带来很大的不便:由于Dr.Watson在应用程序崩溃时会对内存进行DUMP记录,将出现长时间硬盘读写操作,要很长一断时间程序才能关闭,并且DUMP文件还会占用大量磁盘空间。要关闭Dr.Watson可打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,双击其下的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就取消它的运行了。同样,我们可以把所有具备调试功能的选项取消,比如蓝屏时出现的memory.dmp,可在“系统属性”对话框中选择“高级”选项卡,单击“启动和故障恢复”栏中的“设置”按钮,并在弹出的“启动和故障恢复”对话框中选择“写入调试信息”为“无”(如图5)。(11)启动硬盘/光驱DMA模式打开“系统属性”对话框,选择“硬件”选择卡中的“设备管理器”按钮,打开“设备管理器”窗口,在设备列表中选择“IDEATA/ATAPI控制器”,双击“主要IDE通道”或“次要IDE通过”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”。(12)关掉不用的设备WindowsXP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。(13)关闭错误报告当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。在“系统属性”对话框中选择“高级”选项卡,单击“错误报告”按钮,在弹出的“错误汇报”对话框中,选择“禁用错误汇报”单选项,最后单击“确定”即可。另外我们也可以从组策略中关闭错误报告:从“运行”中键入“gpedit.msc”,运行“组策略编辑器”,展开“计算机配置→管理模板→系统→错误报告功能”,双击右边设置栏中的“报告错误”,在弹出的“属性”对话框中选择“已禁用”单选框即可将“报告错误”禁用。(14)关闭自动更新“自动更新”功能对许多WindowsXP用户而言并不是必需的,可将其关闭以节省系统资源。在“我的电脑”上单击鼠标右键,从快捷菜单中选择“属性”命令,选择“系统属性”对话框中的“自动更新”选项卡,勾选“关闭自动更新,我将手动更新计算机”单选框,单击“确定”按钮即可关闭自动更新功能。如果在“服务”已经将“AutomaticUpdates”服务关闭,“系统属性”对话框中的“自动更新”选项卡就不能进行任何设置了。(15)去掉菜单延迟去掉菜单弹出时的延迟,可以在一定程度上加快XP。要修改的键值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”键,把默认的400修改为0,按F5刷新注册表即可生效。(16)清除预读文件WindowsXP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在WindowsXP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。(17)关闭自动播放功能在WindowsXP中,当往光驱中放入光盘或将USB硬盘接上电脑时,系统都会自动将光驱或USB硬盘扫描一遍,同时提示你是否播放里面的图片、视频、音乐等文件,如果是拥有多个分区的大容量的USB硬盘,扫描会耗费很长的时间,而且你得多次手动关闭提示窗口,非常麻烦。这种情况下我们可以将WindowsXP的自动播放功能关闭。运行“组策略”程序。在组策略窗口左边栏中,打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框。在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”(如图6)。这样以后就不用担心WindowsXP的“自动播放”功能带来的麻烦了。如果你只是想禁止系统扫描某个驱动器(如USB硬盘)上的文件,可采用下面的方法。先连上你的USB硬盘,让系统将它识别出来。然后打开“我的电脑”,选择USB硬盘上的某个分区,按鼠标右键,会弹出磁盘属性窗口,选取“自动播放”选项卡,将所有内容的类型都选择为不执行操作。如果USB硬盘有多个分区,对所有分区都进行同样的操作,这样当你将USB驱动器拔掉再重新接上时,系统会将USB硬盘识别出来,而不会反复问你是否播放USB硬盘中的文件了。3.加快关机速度WindowsXP的关机速度要慢于启动速度,特别有些任务还需要手工结束,更加延缓了关机速度。因此,要加快关机速度,首先要开启WindowsXP的自动结束任务功能。具体步骤是:从注册表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的键值设置为1即可。然后再修改“HungAppTimeout”为“4000(或更小)”(预设为5000),该键值同样也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同样把WaitToKillServiceTimeout设置为“4000”;通过这样设置后的关机速度明显要加快了。够全面吧~~◆二、硬件优化设置◆1、关掉不用的设备
在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,在要停用设备属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。当需要使用这些设备时再从设备管理器中启用它们。◆2、内存性能优化
WindowsXP中有几个选项可以优化内存性能,它们全都在注册表下面位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemory
Management
1)禁用内存页面调度(Paging
Executive)
XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。256M以上内存才使用这个设置。把“DisablePagingExecutive”的值从0改为1就可以禁止内存页面调度了。
2)提升系统缓存
必须有256M以上的内存,才激活它。把LargeSystemCache键值从0改为1,一般来说,这项优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。
3)输入/输出性能
内存大于256M才更改这里的值,这个优化只对server(服务器)用户才有实在意义,它能够提升系统进行大容量文件传输时的性能。建一个DWORD(双字节值)键值,命名为IOPageLockLimit,数值设8M-16M字节之间性能最好,具体设什么值,可试试哪个值可获得最佳性能。这个值是用字节来计算的,比如你要分配12M,就是12×1024×1024,也就是12582912。◆3、启动硬盘/光驱DMA模式
“系统属性”-“硬件”-“设备管理器”,在设备列表中选择“IDE
ATA/ATAPI控制器”,双击“主要
IDE
通道”或“次要
IDE
通道”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”(在BIOS里也应该要先设为支持DMA)。
◆4、关闭自动播放功能
运行“组策略”程序,在组策略窗口左边栏中打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框,在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”。
◆5、设置二级缓存容量
WindowsXP有时无法自动检测处理器的二级缓存容量,需要我们手动设置。运行注册表编辑器,找到HKCU_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemory
Management,选择Dword值SecondLevelDataCache(如果没有就新建这个值),修改这个值(填时使用10进制)为你的CPU的二级缓存的大小,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某著名企业全面诊断咨询项目文件规范0613
- 某著名企业绩效管理咨询中期汇报0718
- 《GBT 9738-2008化学试剂 水不溶物测定通 用方法》专题研究报告
- 《GBT 21458-2008流动式起重机 额定起重量图表》专题研究报告
- 《GBT 14270-2008毛绒纤维类型含量试验方法》专题研究报告
- 道路养护员实操培训课件
- 2026年广东省惠州市高职单招数学考试题库(含答案)
- 《美国胸外科协会磨玻璃结节管理专家共识2023》解读
- 车险续保知识
- 内蒙古对口招生语文模拟试题(一)带答案
- 床-轮椅转移操作质量及评分标准
- DL-T976-2017带电作业工具、装置和设备预防性试验规程
- DB32T3916-2020建筑地基基础检测规程
- 2024年青海海南州消防救援支队消防文员招聘笔试参考题库附带答案详解
- 2022版《义务教育教学新课程标准》解读课件
- 期末水平综合练习(试题)新思维小学英语一年级上册
- 初中语文 送别诗练习题(含答案)
- 人教A版高中数学选择性必修第二册全册各章节课时练习题含答案解析(第四章数列、第五章一元函数的导数及其应用)
- 六年级下册小升初全复习-第12讲 工程问题-北师大 (含答案)
- 烹饪原料知识 水产品虾蟹类
- 考勤抽查记录表
评论
0/150
提交评论