wi7关机之后重启
方法一:<br>1、设置系统出错功能。右击我的电脑-属性-系统属性高级-启动和故障恢复-设置-启动和故障恢复-在“系统失败”栏目中将“自动重新启动”选项去掉。<br>2、检查主板电池是否电压过低,更换电池;将BIOS设置为出厂默认。<br>3、设置电源管理。点击开始-设置-控制面板-电源选项”,在弹出的窗口中,根据需要启用或取消“高级电源支持”,如果你在故障发生时使用的是启用“高级电源支持”,就试着取消它,反之就启用它。<br>4、内存可能己坏或者接触不良,或者主板内存插槽问题,用橡皮擦内存金手指,清理内存插槽,换下怀疑有问题的内存。<br>5、 如果你的电脑上接有USB设备,先将其拔掉再关机。或者在BIOS里,将BIOS中Power Management Setup的Restore AC Power Loss设置为Disabled,将Power Management Setup的PM Control by APM设置为Yes。<br>6、关闭网络唤醒。在桌面右击计算机(我的电脑)-属性-设备管理器-展开网络适配器-右键网卡--属性-高级-将“关机网络唤醒”设置为关闭-电源管理-把“允许计算机关闭此设备以节约电源”去掉勾选。<br>7、用驱动精灵,更新显卡、声卡等硬件驱动。<br>8、系统文件丢失,修复或重装系统。<br>方法二:<br>单击【开始】按钮,在弹出的【开始】菜单中选择【控制面板】菜单命令。弹出【控制面板】<br>窗口,单击【类别】按钮,在弹出下拉菜单中选择【大图标】菜单命令。<br>在弹出的窗口中单击【系统】链接,弹出【系统】对话框,单击【高级系统设置】链接。<br><img><br>弹出【系统属性】对话框,选择【高级】选项卡,在【启动和故障恢复】一栏中单击【设置】按钮。<br>弹出的【启动和故障恢复】窗口,在【系统失败】一栏中选择【自动重新启动】复选框,单击【确定】按钮。重新启动电脑,即可排除故障。<br><img>
电路图很简单就不画了,电路的接法是p1口接矩阵键盘,p3口接独立键盘,8个led灯接在p0口上的.#include #define uchar unsigned char #define uint unsigned int #define on 0 #define off 1 sbit led1=P0^0; sbit led2=P0^1; sbit led3=P0^2; sbit led4=P0^3; sbit led5=P0^4; sbit led6=P0^5; sbit led7=P0^6; sbit led8=P0^7; sbit key1=P3^0; sbit key2=P3^1; sbit key3=P3^2; sbit key4=P3^3; sbit key5=P3^4; sbit key6=P3^5; sbit key7=P3^6; sbit key8=P3^7; void delay_ms(uchar time) { uchar i,j; for(i=time;i>0;i--) { for(j=85;j>0;j++) {;} } } uchar scan_key() { //uchar i,j; //P3=0xff; if((P3&0xff)!=0xff) { delay_ms(30); if((P3&0xff)!=0xff) { if(key1==0) return(1); if(key2==0) return(2); if(key3==0) return(3); if(key4==0) return(4); if(key5==0) return(5); if(key6==0) return(6); if(key7==0) return(7); if(key8==0) return(8); } } return 0; } void main(void) { uchar key_value; key_value=scan_key(); switch(key_value) { case 1:led1=on;break; case 2:led2=on;break; case 3:led3=on;break; case 4:led4=on;break; case 5:led5=on;break; case 6:led6=on;break; case 7:led7=on;break; case 8:led8=on;break; default:P0=0xff; } } 4*4行列式矩阵键盘 #include sbit led1 =P0^0 ; sbit led2 =P0^1 ; sbit led3 =P0^2 ; sbit led4 =P0^3 ; sbit led5 =P0^4 ; sbit led6 =P0^5 ; sbit led7 =P0^6 ; sbit led8 =P0^7 ; #define on 0 #define off 1 #define uchar unsigned char #define uint unsigned int void delay_ms(uint time) { uint i,j; for(i=time;i>0;i--) for(j=112;j>0;j--) {} } //d/* uchar s_scan(void) { uchar scan_code,temp; P1=0xf0; if((P1&0xf0)!=0x0f) { delay_ms(30); if((P1&0xf0)!=0xf0) { scan_code=0xfe; while((scan_code&0x10)!=0) { P1=scan_code; if((P1&0xf0)!=0xf0) { temp=(P1&0xf0)|0x0f; while((P1&0xf0)!=0xf0) return ((~scan_code)+(~temp)); } else scan_code=(scan_code