<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Strawing Blog - 硬件</title><link>https://www.liyanfeng.com/</link><description>Lee - </description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>Blog by Yanfeng Lee(liyafe1997)@Daocao .[Archiver].var cnzz_protocol = ((&amp;quot;https:&amp;quot; == document.location.protocol) ? &amp;quot; https://&amp;quot; : &amp;quot; http://&amp;quot;);document.write(unescape(&amp;quot;%3Cspan id='cnzz_stat_icon_4040867'%3E%3C/span%3E%3Cscript src='&amp;quot; + cnzz_protocol + &amp;quot;s4.cnzz.com/stat.php%3Fid%3D4040867' type='text/javascript'%3E%3C/script%3E&amp;quot;));本博客采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可，转载本站内容即代表您同意了本协议，必须署名-非商业使用-禁止演绎。</copyright><pubDate>Mon, 04 May 2026 16:01:56 +0800</pubDate><item><title>记一次给Thinkpad飞线修复PCIE无线网卡</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/130.html</link><pubDate>Tue, 06 Nov 2018 18:13:59 +0800</pubDate><guid>https://www.liyanfeng.com/post/130.html</guid><description><![CDATA[有一次插无线网卡的时候，不知是角度不对还是什么，怎么插都插不进去，结果一看，MINI PCIE针脚全歪了<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080014294177.jpg" alt="" title=""/><br/><br/>然后呢，终于把上面那排针往上挑了，无线网卡能塞进去，但是接触很不好，稍微动一下就凉了<br/>后来各种折腾，尝试过给触点上锡，然后用热风枪吹焊死，等等，结果都很不稳定，不是敲一敲动一动无线就掉，就是有时动静大了之后睡眠无法唤醒。Thinkpad作为“耐操机”，这肯定忍受不了嘛。<br/>中途还搞断了N多根针，单独飞了缺少的几条线，效果也不咋样。<br/>总之，现在上面那排针脚差不多已经废完了（还好下面那排没事）<br/><br/>于是就打起了飞线的主意。直接从无线网卡上用漆包线飞到主板上的焊点<br/><br/>这次飞线总共折腾了半个多月（其实折腾的时间也不是很多，有空时弄一弄），完整地飞了三次，<br/>第一次用0.1mm的线，最后装机能上网，但是不知为什么每次睡眠再唤醒之后无线就起不来，补焊整理了一下也不行。所以干脆全部重焊，第一次经验也不足，线的长度是随便乱剪的。<br/><br/>第二次还是用0.1mm的线，焊的时候考虑了下布局、整齐了些，但是估计烙铁把漆焊掉了，所以装上后，按一下开关，灯闪了一下，没反应，再按一下，boom，mini PCIE那里冒了一股烟。当时觉得这不是什么大问题，应该不会烧卡，电源短路电流过大“而已”哈哈。所以来了第三次。<br/><br/>0.1mm的线前两次焊还是感觉偏粗了一些，不太好操作。最后报着试试看的态度上了0.02mm的线，比0.1mm的线。。还更不好操作，因为太细，细得有时候线头都看不到。但是因为比较细，从某种程度上来说，更好焊一些（除去看不清线）。<br/><br/>焊好线后<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080015095242.jpg" alt="" title=""/><br/><br/>装机测试<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080015243341.jpg" alt="" title=""/><br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080016108107.jpg" alt="" title=""/><br/><br/>完美，迅雷跑一波<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080016226284.jpg" alt="" title=""/><br/><br/>用黑胶带贴好，也没毛病<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080016365486.jpg" alt="" title=""/><br/><br/>最后经过一系列“稳定性测试”（跑着迅雷下载，各种掐，拍打，摔，等等等等），以及重启、睡眠唤醒等等，没毛病，装机。<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080016524077.jpg" alt="" title=""/><br/><br/>有同学问我，为什么要折腾这个，直接上个USB无线网卡不就行了吗。原因很简单，强迫症（手动滑稽<br/>我无法忍受机器里面有不能正常工作的部件，然后还要占用一个USB口来“弥补”，外面还要多出一节东西。<br/>这就像，TN屏也能看得见哇，1366x768又不是不能看，为什么要上IPS，上高分屏呢<br/><br/>最后附上焊台镇楼<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2018/11/201811080017066451.jpg" alt="" title=""/>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/130.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=130</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=130&amp;key=752efff2</trackback:ping></item><item><title>利用树莓派SPI刷BIOS Flash(W25Q64)</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/118.html</link><pubDate>Wed, 30 Aug 2017 17:18:16 +0800</pubDate><guid>https://www.liyanfeng.com/post/118.html</guid><description><![CDATA[某同学的笔记本（ASUS K56CM），BIOS里面Restore Default以后保存退出<br/>然后就不亮了<br/>不亮了<br/>了<br/>玩了这么多年电脑，折腾过这么多主板，还真没见过BIOS Restore Default会死的<br/><span style="text-decoration:line-through;">莫非这个BIOS自带炸弹？</span> (逃<br/>于是乎开始寻思怎么刷BIOS<br/>首先主板上找到这BIOS的Flash是Winbond W25Q64<br/>Google之，这芯片支持SPI协议读写<br/>小时候刷过BIOS，玩过编程器<br/><span style="text-decoration:line-through;">可是编程器在家里，没带来学校，我也很无奈啊</span><br/>上淘宝？<br/>淘宝得3天，也就是说3天没电脑用。<br/><span style="text-decoration:line-through;">我</span>他可等不急。<br/>咦不就是SPI嘛，瞄向身边的东西<br/>单片机？算了吧，折腾太辛苦，速度太慢。<br/>咦树莓派不是有SPI吗？<br/>随手<span style="text-decoration:line-through;">Google</span>(这个网站不存在的)百度了一下Raspberry Pi W25Q64<br/>沃！德！天！有！人！写！了！驱！动！<a href="https://github.com/nopnop2002/Raspberry-W25Q64" target="_blank">https://github.com/nopnop2002/Raspberry-W25Q64</a><br/>看到了希望，焊上线。直接飞线，连把芯片吹下来都省了。<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2017/8/201708301734158486.JPG" alt="" title=""/><br/>测试了一下驱动，能读能写，没毛病<br/>于是<span style="text-decoration:line-through;">Google</span>了一下ASUS K56CM BIOS，下到了一个完整的8MB的BIOS镜像（感谢提供的那位大哥）<br/>然后呢根据那个驱动提供的涵数，<span style="text-decoration:line-through;">YY</span>写了一个读入8MB BINARY文件并写进去的程序。（大概就是写了三个FOR，只做了一点微小的贡献，谢谢大家）<br/><p class="code"><code>&nbsp;&nbsp;FILE&nbsp;*fp;<br/>&nbsp;&nbsp;int&nbsp;&nbsp;nVal;<br/>&nbsp;&nbsp;fp&nbsp;=&nbsp;fopen("/home/pi/K56CM.BIN",&nbsp;"r");<br/>&nbsp;&nbsp;int&nbsp;shanqui&nbsp;=&nbsp;1;<br/>&nbsp;&nbsp;int&nbsp;alli&nbsp;=&nbsp;1;<br/>&nbsp;&nbsp;for(alli&nbsp;=&nbsp;1;alli&lt;=2048;alli++){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;W25Q64_eraseSector(alli-1,true);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Erase&nbsp;Sector(%d):&nbsp;n=%d\n",alli-1,n);<br/><br/><br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;for(shanqui&nbsp;=&nbsp;1;shanqui&lt;=32;shanqui++){<br/>&nbsp;&nbsp;int&nbsp;fuckingi&nbsp;=&nbsp;1;<br/>&nbsp;&nbsp;for(fuckingi&nbsp;=&nbsp;1;fuckingi&nbsp;&lt;=&nbsp;128;fuckingi++){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nVal&nbsp;=&nbsp;0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fread(&nVal,&nbsp;1,&nbsp;1,&nbsp;fp);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fseek(fp,(((alli*4096)+(shanqui*128)-128)-4096)+fuckingi,SEEK_SET);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wdata[fuckingi-1]=nVal;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%02X",&nbsp;wdata[fuckingi-1]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;&nbsp;W25Q64_pageWrite(alli-1,&nbsp;(shanqui*128)-128,&nbsp;wdata,&nbsp;128);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("page_write(%d,%d,d,128):&nbsp;n=%d\n",alli-1,(shanqui*128)-128,n);<br/></code></p><span style="text-decoration:line-through;">程序写得乱且不太文明</span> (逃，<span style="text-decoration:line-through;">各位小妹妹写程序时不要学我这个怪叔叔</span><br/>走起<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2017/8/201708301740535083.JPG" alt="" title=""/><br/>看着 <span style="text-decoration:line-through;">Konsole</span> Console 一行行地跳动 简直爽过吸大麻（说得好像我吸过一样）<br/><span style="text-decoration:line-through;">爽过XXO%^#%^!#%~$#$#%^(*&(*^.....</span><br/>噢对了提醒下各位小伙伴，华硕K56CM这个BIOS序列号在偏移00230000(十六进制)处，如图<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2017/8/201708301750581313.jpg" alt="" title=""/><br/>拆线上电<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2017/8/201708301753273548.JPG" alt="" title=""/><br/>屏幕亮的一瞬间真的爽过<span style="text-decoration:line-through;">吸大麻</span><br/><br/>改过的程序（写入8MB Binary）放到Github上了，大家只要git clone就能用了<br/><a href="https://github.com/liyafe1997/Raspberry-W25Q64-Write-Binary" target="_blank">https://github.com/liyafe1997/Raspberry-W25Q64-Write-Binary</a><br/>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/118.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=118</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=118&amp;key=47b2dfe3</trackback:ping></item><item><title>美如画X3二代(安卓系统)拿root权限及开samba开机自启的方法和固件</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/96.html</link><pubDate>Sat, 20 Jul 2013 22:29:18 +0800</pubDate><guid>https://www.liyanfeng.com/post/96.html</guid><description><![CDATA[本人原创，非转载，已首发至论坛：<a href="http://www.hdpfans.com/thread-429766-1-1.html" target="_blank">http://www.hdpfans.com/thread-429766-1-1.html</a>。如需转载请注明来源！<br/>前几天新买的X3二代 安卓系统的。<br/>这台机子，官网上的介绍：<a href="http://www.mygica.cn/cpzsinfo.asp?id=157" target="_blank">http://www.mygica.cn/cpzsinfo.asp?id=157</a><br/> <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202230320273.jpg" alt="" title=""/><br/>之后上网一看，这台机子的资料真心少。。可以说不是少，而是根本没有！看看官方天猫销量可不小啊，但是就是没有人研究这机器呢。。看着A11资料又多，recovery又自由，我有点后悔买这机器了（现在研究出来了，不后悔了哈哈，<b>倒反看着A11的遥控器没鼠标功能觉得是硬伤。。</b>哈哈哈哈，而且这机子又有AV口）<br/>好吧，算我是第一个吃螃蟹的人。不指望找别人的资料教程了，自己研究。<br/>————下面是本人的研究过程，没兴趣者可跳过————<br/>我还算是经验丰富的。。root嘛，先看看su程序有没有。装个终端模拟器，su。。uid 100xx not allowed to su。。<br/>su程序倒有，但是app_xx用户没法运行。<br/>对了 我也尝试问过官方的人，不知为什么，他们老说已经root过了，要么就说不需要，说能自己装东西。。什么道理啊，能自己装东西就叫root过了？是和X米盒子那些联系在一起了吧。。。<br/>继续研究，尝试用adb。。这机子没USB client，没法连电脑，没办法。。。这是一大障碍。远程adb吧，联不上，看来adb服务没有运行。那就手动运行吧，没root权限，开了也没用，连是连得上，但是没权限，用adb root也没法提权。<br/>好吧，这条路死了，那就从rom下手。<br/>问官方，要到了刷机包，嗯没错，是个recovery包。我尝试捅RESET开机，嗯，进入recovery了，但是不像A11那种recovery是自由的可以自己操作的，只能自动刷update.zip。<br/>我尝试用它刷入su程序，失败。。我也不知为啥，因为这个recovery是定制的，没有过程（后来知道了，是签名限制）。<br/>然后我尝试把su程序弄进官方的那个刷机包，改了以后也刷不进去。。。晕了。把我的su去掉后，官方包也失效了，这下反应过来了，是签名限制。<br/>于是找了签名工具，签名。。解决问题！！！<br/><br/>我弄su的其中一个目的是开samba服务，android下我想到是安装samba filesharing这个软件。<br/>在折腾过程中，无意间打开Android的设置（正常情况下是进不去的，美如画把它隐藏了的），发现里面居然有个samba。。如图：<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202231313156.jpg" alt="" title=""/><br/>光在这里按打开，不用root权限。但是这里开了 开机不能自启。更重要的是改不了netbios(计算机名)，而且默认居然是localhost。。。这个我在我的电脑上一打开其实就打开了我的电脑本身，只能用\\IP地址来访问。<br/>我尝试了一下找smb.conf文件，但是目录都没权限，/data等浏览权限都没有（我的其他android机子是有的啊）。于是，继续折腾root，于是故事接上文。<br/>—————————本人研究过程故事结束—————————<br/><br/>——————————开启samba教程——————————<br/>1.刷上我的那个ROM（见最后）<br/>2.打开安卓自身设置，如下图，开启samba服务。（在这里开一次就OK了，开不开无所谓，目的是要系统生成samba配置相关文件）<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202231313156.jpg" alt="" title=""/><br/>3.用re管理器找到/data/app/samba/lib/smb.conf  （应该是这个，如果我记错了不是的话开终端用find -name smb.conf查找，记得先su拿权限）。<br/>按住它，选open with，然后选text editor。如下图<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202232097353.jpg" alt="" title=""/><br/>然后就改配置吧。。。里面什么netbios name通通改掉。注意有两个啊，最重要的是下面那个netbios，第一个server name最好也改改。<br/>然后保存文件，点右上角那几个点点，然后点save and exit，如图：<br/>  <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202232302113.jpg" alt="" title=""/><br/>4.设置开机自启samba：<br/>同样用re管理器找到/system/etc/init.godbox.sh，同样的方法打开。<br/>在最下面加上 如图<br/>/system/bin/nmbd -D &<br/>/system/bin/smbd -D &<br/>    <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202233148181.jpg" alt="" title=""/><br/>同样的方法保存。然后重启看看，是不是自己开了samba服务。<br/>对了默认共享的目录为/mnt。<br/><br/><b>改了配置文件后就不要去动设置里面那个samba了，不然你的配置可能会丢失！</b><br/>——————————开启samba教程结束——————————<br/><br/>好了，发出固件<br/>本rom改自官方4006版固件。<br/>。。说改也不叫改，对系统没有做任何的删减修改（也改不了，很奇怪的是那个system.img明明就是yaffs2但死活解不开），只是加了点内容：<br/>1.root权限(su程序，superuser.apk) 最重要是这个，嘿嘿！<br/>2.RE管理器(可用于修改配置文件，开samba用)<br/>3.我自己写的一个小程序:打开安卓设置，这个可以快速方便地调出安卓自身的设置，可以用于等下开samba<br/>(这个APK我已单独发出，详见：<a href="http://www.hdpfans.com/thread-429765-1-1.html" target="_blank">http://www.hdpfans.com/thread-429765-1-1.html</a>)<br/>4.自启管理器<br/>本来还想加个终端程序的，但是很奇怪的是弄进/system/app的都打不开。。要的自己下载吧。<br/><br/><b>刷机方法：<br/>把下载、解压得到的那个update.zip放入U盘根目录（不要改名），把U盘插入X3的USB口，关闭X3电源，用尖物捅X3后面的RESET，捅着然后打开X3电源，出现下面刷机过程中的那图中“正在安装…………”的字样就可以松开RESET了。</b><br/><br/>晒图：<br/>已取得root权限<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202233525746.jpg" alt="" title=""/><br/>圈的为我加进去的东西（那个打开安卓设置可是特色哦。上面我已放出单独APK下载地址）<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202234161283.jpg" alt="" title=""/><br/>刷机过程：<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202234365587.jpg" alt="" title=""/><br/>盒子来张特写：<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202235043822.jpg" alt="" title=""/><br/>已开启samba，局域网机子找到并打开文件夹：<br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202257102678.jpg" alt="" title=""/><br/>     <img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/7/201307202256473650.jpg" alt="" title=""/><br/><br/>ROM下载地址：<br/><a href="https://files.liyanfeng.com/Mygica%20X3%20%e4%ba%8c%e4%bb%a3%20rooted%20ROM(%e7%89%88%e6%9c%ac4006).rar">https://files.liyanfeng.com/Mygica X3 二代 rooted ROM(版本4006).rar</a><br/><br/>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/96.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=96</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=96&amp;key=efff41e3</trackback:ping></item><item><title>基于AVR单片机的上下课自动打铃系统的实现(放出原理图+程序原码)</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/95.html</link><pubDate>Thu, 04 Jul 2013 11:09:09 +0800</pubDate><guid>https://www.liyanfeng.com/post/95.html</guid><description><![CDATA[<div align="left">昨晚花一晚上把这些资料整理了一下，全部发出来了。</div><div align="left">由于补课没有铃。<font face="Times New Roman">3</font><font face="宋体">月份做了这个东西，已实际使用，稳定运行一个学期。</font></div><div align="left">上运行图：</div><div align="left"><img border="0" src="https://www.liyanfeng.com/upload/2013/7/201307041120214848.jpg" alt="" style="max-width:400px" /></div><p>&nbsp;</p><div align="left">硬件如下：<font face="Times New Roman">AVR ATmega16</font><font face="宋体">单片机，开发板（用到上面的：继电器、</font><font face="Times New Roman">LED</font><font face="宋体">走马灯、两个按钮）、门铃、</font><font face="Times New Roman">LED</font><font face="宋体">若干、</font><font face="Times New Roman">16Mhz</font><font face="宋体">无源晶振。</font></div><div align="left">&nbsp;</div><div align="left">硬件照片：</div><div align="left">开发板：</div><div align="left"><img border="0" src="https://www.liyanfeng.com/upload/2013/7/201307041117032144.jpg" alt="" style="max-width:400px" /></div><div align="left">AVR<font face="宋体">单片机：</font></div><div align="left"><img border="0" src="https://www.liyanfeng.com/upload/2013/7/201307041117412725.jpg" alt="" style="max-width:400px" /></div><div align="left">晶振：</div><div align="left"><img border="0" src="https://www.liyanfeng.com/upload/2013/7/201307041118102761.jpg" alt="" style="max-width:400px" /></div><p>&nbsp;</p><div align="left"><i><b>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;好了 照片晒完了，下面开始正文&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;</b></i></div><div align="left"><b>原理图如下：</b></div><div align="left"><img border="0" src="https://www.liyanfeng.com/upload/2013/7/201307041119093806.png" alt="" style="max-width:400px" /></div><div align="left">好吧我的能耐真大，这电路图不是用什么<font face="Times New Roman">CAD</font><font face="宋体">专业软件画的，而是用</font><font face="Times New Roman">Windows</font><font face="宋体">画 图板用鼠标一笔一划画的。。。所以效果不是很好，凑合着看吧，知道个大概就行了。（开发板上肯定还有其他资源，电路图中的资源也不止开发板上的。这个电路 图是本系统的原理图而不是开发板的全部电路图，画的只是和本系统有关的东西，开发板上其他无关的就不画了，也不需要画）</font></div><div align="left">简单说明下：</div><div align="left">L1~L8<font face="宋体">对应开发板上的</font><font face="Times New Roman">8</font><font face="宋体">个</font><font face="Times New Roman">LED</font><font face="宋体">；</font><font face="Times New Roman">D2~D6</font><font face="宋体">对应上面运行图上的那</font><font face="Times New Roman">5</font><font face="宋体">个红色&ldquo;上课指示灯&rdquo;；</font><font face="Times New Roman">D1</font><font face="宋体">为一盏绿色的</font><font face="Times New Roman">LED</font><font face="宋体">（运行图上注意点看，用透明胶包住的那个绿色</font><font face="Times New Roman">LED</font><font face="宋体">），用于监视程序是否在运行（晶振是否起振，是否死机）；</font><font face="Times New Roman">K1 K2</font><font face="宋体">用于选择上午下午（上午有早读，下午没有）。继电器不用说了，控制门铃开关用。</font></div><div align="left">下面放出源程序。（刚刚我已在程序中加入了很多注释了，后面还是要做下解析）：</div><div align="left">&mdash;&mdash;&mdash;&mdash;源程序（本程序版权归李彦锋所有）&mdash;&mdash;&mdash;&mdash;<br />#define&nbsp;&nbsp;uchar unsigned char<br />#define&nbsp;&nbsp;uint&nbsp;&nbsp;unsigned int<br />#define&nbsp;&nbsp;ulong unsigned long int<br />volatile uint nowtime;<span style="color: rgb(51, 153, 102);">//计时变量。然后下面的几个变量是一些逻辑控制的</span><br />volatile uint ledmode;<br />volatile uint shangkeledmode;<br />volatile uint shangkeledtime;<br />volatile uint class;<span style="color: rgb(51, 153, 102);">//上下课逻辑，上课为1，下课为0，见主函数</span><br /><br />#include &lt;iom16v.h&gt;<br />#include &lt;macros.h&gt;<br /><br />void port_init(void)<br />{<br />DDRB=0xFF;<br />PORTB=0x00;<br />DDRC=0xFF;<br />DDRA=0XFF;<br />DDRD|=0XF0;<br /><span style="color: rgb(51, 153, 102);">//初始化IO口</span><br />}<br /><br /><br />void timer0_init(void)<br />{<br /><br />TCCR0 = 0x00;<br />TCNT0 = 0x06;<br />OCR0&nbsp;&nbsp;= 0xFA; <br />TCCR0 = 0x03;<br /><span style="color: rgb(51, 153, 102);">//初始化timer0</span><br />}<br /><span style="color: rgb(51, 153, 102);">//timer0本系统中用于控制上下课指示灯闪烁</span><br />#pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF<br />void timer0_ovf_isr(void)<br />{<br />tm0rsf();<span style="color: rgb(51, 153, 102);">//别看漏</span><br />TCNT0 = 0x06; <br />}<br /><br /><span style="color: rgb(51, 153, 102);">//TIMER1 initialize - prescale:256<br />// WGM: 0) Normal, TOP=0xFFFF<br />// desired value: 1Sec<br />// actual value:&nbsp;&nbsp;1.000Sec (0.0%)</span><br />void timer1_init(void)<br />{<br />TCCR1B = 0x00; //stop<br />TCNT1H = 0x0B; //setup<br />TCNT1L = 0xDC;<br />OCR1AH = 0xF4;<br />OCR1AL = 0x24;<br />OCR1BH = 0xF4;<br />OCR1BL = 0x24;<br />ICR1H&nbsp;&nbsp;= 0xF4;<br />ICR1L&nbsp;&nbsp;= 0x24;<br />TCCR1A = 0x00;<br />TCCR1B = 0x04; <span style="color: rgb(51, 153, 102);">//start Timer</span><br /><span style="color: rgb(51, 153, 102);">//初始化timer1</span><br />}<br /><br />//timer1本系统中用于上课时间和下课时间计时<br /><br />#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF<br />void timer1_ovf_isr(void)<br />{<br />tm1rsf();<span style="color: rgb(51, 153, 102);">//哈哈可能有人漏看了这里，回调函数执行另一个函数，这样程序看起来更整洁，这是我的编程习惯^v^</span><br /><br />TCNT1H = 0x0B; <br />TCNT1L = 0xDC; <span style="color: rgb(51, 153, 102);">//重载高低值</span><br /><br /><span style="color: rgb(51, 153, 102);">//timer1回调函数</span><br />}<br /><br /><br />void init_devices(void)<br />{<br />CLI(); <br />port_init();<br />timer0_init();<br />timer1_init();<br />MCUCR = 0x00;<br />GICR&nbsp;&nbsp;= 0x00;<br />TIMSK = 0x05; <br />SEI(); <br />}<br /><br /><br />void delay(uint ms) <span style="color: rgb(51, 153, 102);">//这个就不用说了 死循环延迟</span><br />{<br />&nbsp; &nbsp; uint i,j;<br />&nbsp; &nbsp; for(i=0;i&lt;ms;i++)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;for (j=0;j&lt;2300;j++);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; }<br />}<br /><br />void tm0rsf()<span style="color: rgb(51, 153, 102);">//控制上课指示灯闪烁的函数，不喜欢写在回调函数里，这样程序看起来更工整。。。</span><br />{<br /><br />if(class==1)<span style="color: rgb(51, 153, 102);">//是否上下课，上课就闪，下课就不闪。</span><br />{<br />shangkeledtime++;<br />&nbsp; &nbsp; if (shangkeledtime==150)<span style="color: rgb(51, 153, 102);">//150ms闪一下。其他自己看吧。。。。</span><br />&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;shangkeledtime=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if(shangkeledmode==1) <span style="color: rgb(51, 153, 102);">//开灯，相应IO输出高电平</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; PORTA|=0X54;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC|=0x02;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;PORTD|=0x20;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;shangkeledmode=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;else <span style="color: rgb(51, 153, 102);">//关灯，相应IO输出低电平（接地）</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; PORTA&amp;=0X03;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC&amp;=0xFC;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;PORTD&amp;=0XDF;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; shangkeledmode=1;<span style="color: rgb(51, 153, 102);">//逻辑自己看吧。。。。</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp; }<br />}<br />else<br />{<br />&nbsp; &nbsp; PORTA&amp;=0X03;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC&amp;=0xFC;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTD&amp;=0XDF;<br />}<br />}<br /><br />void tm1rsf()<span style="color: rgb(51, 153, 102);">//timer1回调函数执行的函数</span><br />{<br />nowtime++;<span style="color: rgb(51, 153, 102);">//计时变量自增</span><br />if(ledmode==1)<span style="color: rgb(51, 153, 102);">//嗯这个就是控制D0 LED闪烁的了，主要就是看timer1是不是在走。</span><br />{<br />&nbsp; &nbsp; ledmode=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTA|=0x01;<br />}<br />else<br />{<br />&nbsp; &nbsp; ledmode=1;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTA&amp;=0XFE;<br />}<br /><br />}<br /><br />void ring()<span style="color: rgb(51, 153, 102);">//响铃函数，控制继电器的。。（PC7输出高电平）</span><br />{<br />PORTC=0xFF;<span style="color: rgb(51, 153, 102);">//因为PC口只有用到一个PC7所以不管这么多懒得算了直接全部输出高电位</span><br />delay(300);<br />PORTC=0x00;<br />delay(8300);<br />PORTC=0xFF;<br />delay(300);<br />PORTC=0x00;<br />delay(8300);<br />}<br />uchar key_press()<span style="color: rgb(51, 153, 102);">//检测K1K2是否按下。。</span><br />{<br />&nbsp; &nbsp; uchar j;<br />&nbsp; &nbsp; DDRD|=0X0F;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTD|=0X0F;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;DDRD&amp;=0XF0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;j=PIND;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;j=j&amp;0X0F;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if(j==0X0F)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; return 0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;else<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;return 1;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />}<br /><br />uchar key_scan()<span style="color: rgb(51, 153, 102);">//检测是K1还是K2按下。。</span><br />{<br />&nbsp; &nbsp; uchar key;<br />&nbsp; &nbsp; delay(10);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if(key_press())<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;key=PIND;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;key&amp;=0X0F;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;switch(key)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;case 0X0E: <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;key=1;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; break;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;case 0X0D:<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;key=2;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; break;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;default:&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;key=0;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; while(key_press());<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;else<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; key=16;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;return key;<br />}<br /><br />void main()<span style="color: rgb(51, 153, 102);">//好了主函数开始了。。。</span><br />{<br />&nbsp; &nbsp; uchar i,j;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;uint k,mode;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;uint ledmode;<br />init_devices();<span style="color: rgb(51, 153, 102);">//初始化IO。。上面有。</span><br /><br />k=0;<br />ledmode=1;<span style="color: rgb(51, 153, 102);">//逻辑自己看，不用解释。。。</span><br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;while(k==0) <span style="color: rgb(51, 153, 102);">//注意了 这一段是上电后等待按下K1K2的。</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if(ledmode==1)<span style="color: rgb(51, 153, 102);">//上电后LED走马灯在那狂闪（按下之前）</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTB=0XF0;delay(80);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ledmode=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; else{PORTB=0X0F;delay(80);ledmode=1;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; i=key_press();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if(i)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; {<span style="color: rgb(51, 153, 102);">//判断按的哪个</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; j=key_scan();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (j==1)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{mode=1;k=1;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (j==2)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{mode=2;k=1;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />if (mode==1)<span style="color: rgb(51, 153, 102);">//如果按的K1，也就是早上用，有早读的</span><br />{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;uint overzaodu;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;uint canoverzaodu;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;overzaodu=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;canoverzaodu=0;<br />&nbsp; &nbsp; PORTB=0XF3;<span style="color: rgb(51, 153, 102);">//早读上课时跑马LED亮上面2盏（亮上面。。代表上午^v^）</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;nowtime=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;class=1;<br />while(canoverzaodu==0)<br />{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (class==1)<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (nowtime==1200)<span style="color: rgb(51, 153, 102);">//先上20分钟的早读</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;class=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;nowtime=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;overzaodu++;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ring();<span style="color: rgb(51, 153, 102);">//早读下课打铃</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;else<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (nowtime==300)<span style="color: rgb(51, 153, 102);">//早读休息5分钟，接下来自己看吧</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;class=1;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;nowtime=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;overzaodu++;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ring();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ring();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC=0xFF;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;delay(300);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC=0x00;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (overzaodu==1)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;PORTB=0XF1;<span style="color: rgb(51, 153, 102);">//早读下课，LED多亮一盏</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (overzaodu==2)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;canoverzaodu=1;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTB=0XF0;<span style="color: rgb(51, 153, 102);">//早读结束，LED亮完上面4盏。。</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<span style="color: rgb(51, 153, 102);">//然后跳出早读while，进入到下面正常上课while--上课40分钟，下课10分钟，上课，下课&hellip;&hellip;&hellip;&hellip;无限循环。。。</span><br />}<br />}<br /><br />if (mode==2)<span style="color: rgb(51, 153, 102);">//按下K2，也就是下午用的</span><br />{<br />&nbsp; &nbsp; PORTB=0X0F;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;class=1;<span style="color: rgb(51, 153, 102);">//逻辑，上课为1下课为0</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ring();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ring();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC=0xFF;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;delay(300);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC=0x00;<span style="color: rgb(51, 153, 102);">//这都是打铃用的。。上课比较吵，要打5遍。（一个ring打两遍，两个ring后直接在这里控制IO再打一遍）</span><br />}<br /><br />nowtime=0;<br /><br />while(1<span style="color: rgb(51, 153, 102);">)//正常上课while，这里就不解释太多了，逻辑和上面早读的差不多的</span><br /><br />{<br /><br /><br />&nbsp; &nbsp;&nbsp;&nbsp;if (class==1)<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (nowtime==2400)<span style="color: rgb(51, 153, 102);">//是否够40分钟</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;class=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;nowtime=0;<span style="color: rgb(51, 153, 102);">//计时变量清零</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ring();<span style="color: rgb(51, 153, 102);">//打铃，下课打2遍就好了（一个ring两遍，具体看上面ring函数）</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;else<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if (nowtime==600)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;class=1;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;nowtime=0;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ring();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ring();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC=0xFF;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;delay(300);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;PORTC=0x00;<span style="color: rgb(51, 153, 102);">//上课打5遍铃，其他就不解释这么多了，逻辑一样的自己看就行。</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}<br />}<br />}</div><div align="left">&mdash;&mdash;&mdash;&mdash;源程序（本程序版权归李彦锋所有）&mdash;&mdash;&mdash;&mdash;</div><div align="left">再简单说下吧，程序中的逻辑就不说了。</div><div align="left">1.<font face="宋体">点亮</font><font face="Courier New">L1~L8</font><font face="宋体">为</font><font face="Courier New">PB0~PB7</font><font face="宋体">输出低电平（接地），因为那头接的是</font><font face="Courier New">VCC +5V</font><font face="宋体">的正电压。</font></div><div align="left">2.PC7<font face="宋体">输出高电位，继电器</font><font face="Courier New">B</font><font face="宋体">和</font><font face="Courier New">C</font><font face="宋体">导通，接通门铃，就响了。</font></div><div align="left">3.D1~D6<font face="宋体">我是直接把</font><font face="Courier New">LED</font><font face="宋体">的正负接在</font><font face="Courier New">IO</font><font face="宋体">口上的，所以输出电位的时候一高一低。其实可以</font><font face="Courier New">IO</font><font face="宋体">口上全接正然后统一接地，但是这样麻烦，反正有足够的</font><font face="Courier New">IO</font><font face="宋体">口，就这么干了。</font></div><div align="left">附：最早是用内部时钟，然后后来跑不准，折腾了我一个星期，后来才发现是内部时钟的问题，上了个晶振，解决问题。。。</div><div align="left">好了就说到这里，结束。</div>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/95.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=95</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=95&amp;key=d202e6a4</trackback:ping></item><item><title>给CPU动手术--开盖换导热硅脂</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/92.html</link><pubDate>Sun, 26 May 2013 20:25:46 +0800</pubDate><guid>https://www.liyanfeng.com/post/92.html</guid><description><![CDATA[<p>CPU:AMD Athlon 64 3200+ 默认频率2000Mhz(外频200Mhz)</p><p>从去年(2012年)底起，发现这款U的超频潜力。只要把内存分频降下去，HT总线倍频降下去，这U是很能超的，一下子就超到了2.52Ghz(外频252Mhz)。（就算降了内存到533模式，2520/8=315Mhz，也没差多少，比333Mhz就差18。指令比率改IT、CL=4速度还是不错的，比默认设置2T,CL5/6快，Win7体验指数内存还由原来的5.4变成5.5。HT总线倍频即使降到X4，也能252x4=1009，比默认的1000要快了。）。</p><p>冬天，过得很舒服，但是到了今年4月，情况不是那么好。表面温度有一次竟达到80度（天啊我都不知那时核心是多少度，很难想像啊）后蓝屏死机，之后在5月份由于蓝屏次数太多实在无法忍受打开了2年没有清理的机箱（全是灰啊，我也发微博和QQ空间说说给大家看了），情况有所好转，几本没蓝屏了。</p><p>但是，这两天又开始蓝屏了，并且是在60来度的时候蓝屏，温度并不高啊，怎么会蓝屏。用Everest，发现问题了。</p><p>手术前温度：（俗话说:&quot;人不可貌相&quot;，CPU也一个道理啊，表面温度看起来并不高，核心却达到了70多度，到80度时，离BSOD就不远了。。。）</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305261949165250.jpg" onload="ResizeImage(this,520)" /></p><p>问题就出来了，这是因为核心被&ldquo;焗&rdquo;（好吧，白话这个字读&quot;guo&quot;）在里面，热散不出来。这U已经6年了，肯定是里面的硅脂干了。费话不多说，开始动手术，开盖。</p><p>手术前来张正面照（表面硅脂已擦干净）：</p><p>&nbsp;</p><p>开刀啦，开盖啦。。（开盖有奖。。话说开盖会不会有奖呢？AMD不会跟我们玩这种游戏吧，谁有勇气把U打开了，然后就能看到AMD设置的奖品&ldquo;再来一块&rdquo;，哈哈。）：</p><p>为了保护后面的针角，用餐巾纸垫住</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305261954418817.jpg" onload="ResizeImage(this,520)" /></p><p>360度切一圈，切得差不多的时候，就可能用螺丝刀撬开了。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305261958563241.jpg" onload="ResizeImage(this,520)" /></p><p>成功开盖了，果真没有奖。。不过在盖子后面发现了一个AMD的Logo。</p><p>里面核心和盖子之间的导热硅脂已经干硬化了。。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262000304087.jpg" onload="ResizeImage(this,520)" /></p><p>CPU基板</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262002024231.jpg" onload="ResizeImage(this,520)" /></p><p>来张集体照</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262002446411.jpg" onload="ResizeImage(this,520)" /></p><p>然后，涂上新硅脂</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262003218533.jpg" onload="ResizeImage(this,520)" /></p><p>用刀片把粘盖子用的胶刮掉。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262004325408.jpg" onload="ResizeImage(this,520)" /></p><p>盖子也一样：</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262005218165.jpg" onload="ResizeImage(this,520)" /></p><p>然后，准备合盖。怎么粘住呢？想到了焊锡。。准备电烙铁和焊锡。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262005566612.jpg" onload="ResizeImage(this,520)" /></p><p>&nbsp;</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262006530354.jpg" onload="ResizeImage(this,520)" /></p><p>用两个夹子固定</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262007275083.jpg" onload="ResizeImage(this,520)" /></p><p>工作环境。。勿喷啊。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262008595870.jpg" /></p><p>开焊。发现似乎不粘锡。。。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262008286807.jpg" onload="ResizeImage(this,520)" /></p><p>锡不行，那就用松香吧。而且松香有吸附作用，能吸附杂质，看看放了松香把杂质吸了以后粘不粘锡。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262010320432.jpg" onload="ResizeImage(this,520)" /></p><p>焊好了。以为松香就能顶得住了，其实松香硬度很小的，放到机箱里一压散热器就不行了。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262012217878.jpg" onload="ResizeImage(this,520)" /></p><p>重新焊，想办法上锡</p><p>把锡用烙铁熔成一个珠，用镊子放上去，然后---热风枪出场。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262015314223.jpg" onload="ResizeImage(this,520)" /></p><p>效果图。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262016051178.jpg" onload="ResizeImage(this,520)" /></p><p>但是，上机箱上散热器后，在再次拨出散热器后，还是敌不过强大的大气压强。</p><p>那就算了呗，不用这种七七八八的固定方式了，就用300kPa的大气压强来固定吧，其实大气压真的很牛B，用来固定还是很稳的。</p><p>&nbsp;</p><p>最后，手术效果：</p><p>核心温度已和表面温度差不了多少，怎么烤怎么跑最多也就60来度了，上60都很少见，一般也就50来度。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262019120436.jpg" onload="ResizeImage(this,520)" /></p><p>手术成功，哈哈。</p><p>----------------------------------------------------------------------------</p><p>附：</p><p>超频后的Win7体验索引：</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/2013/5/201305262021482512.jpg" onload="ResizeImage(this,520)" /></p><p>（CPU默认频率，内存默认频率及时序下：处理器4.1，内存5.4）。</p><p>内存时序：</p><p><img src="/upload/2013/5/201305262023206413.jpg" alt="" /></p><p>对了，CPU电压是加了0.025V的，不然点不亮，BIOS自动恢复提示频率错误。</p><p>&mdash;&mdash;&mdash;&mdash;完&mdash;&mdash;&mdash;&mdash;</p>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/92.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=92</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=92&amp;key=23c30271</trackback:ping></item><item><title>晒老家的一老爷机</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/90.html</link><pubDate>Thu, 14 Feb 2013 23:43:05 +0800</pubDate><guid>https://www.liyanfeng.com/post/90.html</guid><description><![CDATA[先上照片<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142313411368.jpg" alt="" title=""/><br/><br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142314122728.jpg" alt="" title=""/><br/><br/>这机子如果没错的话应该是1999年的。<br/>目前还可以正常使用，Windows98系统，似乎没有重装过。当然，现在不用来上网啦，平时也没有人用。<br/><br/>桌面截图：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142324303842.jpg" alt="" title=""/><br/>属性：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142321116526.jpg" alt="" title=""/><br/>192MB的内存，如果我没记错的话应该是最早64MB的，大概是07年的时候加了条128MB还是两条64MB的了。反正是后来加的。<br/><br/>设备管理器：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142323391683.jpg" alt="" title=""/><br/><br/>Windows98的性能选项卡：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142325410371.jpg" alt="" title=""/><br/><br/>我的电脑：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142320001031.jpg" alt="" title=""/><br/>4GB的硬盘。。1GB的C盘只用了400多MB。。<br/><br/>网卡：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142326295656.jpg" alt="" title=""/><br/>没连止网线。<br/>Intel pro 百兆网卡。这块卡还是不错的。我没看到这快卡的PCB。家里也有一快intel pro 100mbps卡（有一台机子正在用着），那芯片很大，做工用料足，似乎还是防雷设计的。<br/>对了，这块网卡Windows7没有自带驱动，但是intel官网有win7的驱动，可以下载，32bit/64bit vista/win7 均可正常使用。<br/><br/>最后来看看显卡：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/2013/2/201302142330260387.jpg" alt="" title=""/><br/><br/>WinFast 3D。。好吧，没见过这牌子的卡。现在的人基本只知道（用过）NVIDIA、AMD(AIT)，Intel的集成显卡。我用过S3 Savage4的老显卡（1年前的现在——2012年还在用着，后来弄到台23寸液晶屏发现这卡分辨率达不到这么高，才买了快二手Geforce 4 MX4000），S3 Savage4是我了解并用过的老显卡了，曾经还用过NVIDIA的TNT2，那卡09年挂了。还有一快不记得芯片的老卡了，04年用06年挂掉的。。。总之，这WinFast 3D没用过。。而且显存2M。。打开Dxdiag，能开3D（不然怎么叫WinFast 3D呢）。（我用过的 S3 Savage4显卡显存8M，TNT2显存32M，另一个不知牌子的16M，还真没用过2M的）。<br/><br/>好了，图片就晒到这里，接下来介绍这机子其他信息。<br/>办公软件：WPS2005 个人版。原来是WPS2000+MS OFFICE 2000。WPS2005是我后来把它原来的WPS2000和OFFICE2000删掉再装的。用着还行，不算卡。<br/><br/>还有，之前回老家用这机子听歌，千千静听5.1.0（如果没记错的话应该是我2007年春节装的），还是可以的。还有，这机子没连网，然后应该也是07年春节，下载了一堆4399的flash游戏上去玩，还是不错的（64M内存的时候也差不多，感觉内存对这个Flash影响不大），上面装有FlashPlayer8，用IE打开，还算是流畅，有些比较卡吧。。至少是可以玩，而且感觉不错。有乐趣。。^v^<br/><br/>因为时间赶，所以这些就没有截图了。<br/><br/>好了，就晒到这里。]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/90.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=90</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=90&amp;key=97bab225</trackback:ping></item><item><title>用积木立路由——加强散热</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/57.html</link><pubDate>Sat, 05 May 2012 00:13:50 +0800</pubDate><guid>https://www.liyanfeng.com/post/57.html</guid><description><![CDATA[小时候玩的积木，在床底下堆积多年的积木派上用场了。<br/>我的941N装Openwrt之后经历的第一个夏天，看下能否熬过。<br/>平时用手摸顶盖都感觉有点热。现在立起来以后，上下左右都通风了，温度降了些。<br/>效果图：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/201205050014387280.JPG" alt="" title=""/><br/><br/>两块放在后面的顶端，一块放在前面：<br/><img onload="ResizeImage(this,520)" src="https://www.liyanfeng.com/upload/201205050016178860.JPG" alt="" title=""/>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/57.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=57</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=57&amp;key=aa206089</trackback:ping></item><item><title>给路由“打洞”，引出TTL接口</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/48.html</link><pubDate>Sun, 15 Apr 2012 22:59:02 +0800</pubDate><guid>https://www.liyanfeng.com/post/48.html</guid><description><![CDATA[<p>在这里讲到路由打洞大家别想到NAT哈。</p><p>我们今天讲的打洞是物理上的打洞，也就是给路由的外壳打洞。</p><p>为什么要这么做呢？因为玩路由难免会脱管、变（假）砖等，没法通过网络来管理了，那就只能TTL了。但是TTL又要拆开外壳，那有什么方法不开盖子直接接TTL呢？</p><p>有朋友直接把线引出来，但是我这没有好的位置也没有好的线，接口等，再加上我的已经焊好了，不麻烦了，所以我就没有采用这个方法。</p><p>那最简单的方法就是在TTL口的上方开个洞。</p><p>&nbsp;</p><p>OK，进入正题，请看图：</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152255545165.JPG" onload="ResizeImage(this,520)" /></p><p>裁纸刀上场。先量好大概位置，然后割出个轮廓。</p><p>&nbsp;</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152256544851.JPG" onload="ResizeImage(this,520)" /></p><p>割得挺深的了。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152258000008.JPG" onload="ResizeImage(this,520)" /></p><p>再割几下，翻过来，成这个样子，基本上脱离了，用手用力一顶就开了。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152259090031.JPG" onload="ResizeImage(this,520)" /></p><p>可惜呢，开了以后，发现量的位置不准，偏下了。于是，往上再打洞。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152259273134.JPG" onload="ResizeImage(this,520)" /></p><p>后面背光照。我是用这个方法来判断刀割的深度的，看看还要割多少。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152300087348.JPG" onload="ResizeImage(this,520)" /></p><p>好了，割好了，并放上路由器，下面就是TTL了。</p><p>其实下面多出来的部分也不白割，我可以贴张标签，标示针脚。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152300506452.JPG" onload="ResizeImage(this,520)" /></p><p>最后接上的效果，很酷吧，哈哈。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/201204152301095806.JPG" onload="ResizeImage(this,520)" /></p><p>为了不让小虫子进去，贴了个不干胶。要用的时候再撕开，总比开盖子好多了。</p>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/48.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=48</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=48&amp;key=da411a5b</trackback:ping></item><item><title>路由器安全运行了差不多一个月，截图纪念下</title><author>liyafe1997@126.com (liyafe1997)</author><link>https://www.liyanfeng.com/post/17.html</link><pubDate>Sat, 03 Mar 2012 12:01:04 +0800</pubDate><guid>https://www.liyanfeng.com/post/17.html</guid><description><![CDATA[<p>居然一个月都没有死机啊，哈哈。原来那个QOS插件，几天挂一次，后来更新了，貌似没问题了。</p><p><img title="" alt="" src="https://www.liyanfeng.com/upload/luyou.jpg" onload="ResizeImage(this,520)" /></p>]]></description><category>硬件</category><comments>https://www.liyanfeng.com/post/17.html#comment</comments><wfw:comment>https://www.liyanfeng.com/</wfw:comment><wfw:commentRss>https://www.liyanfeng.com/feed.asp?cmt=17</wfw:commentRss><trackback:ping>https://www.liyanfeng.com/cmd.asp?act=tb&amp;id=17&amp;key=00d7da02</trackback:ping></item></channel></rss>
