- 积分
- 0
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2013-1-2
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 bqiang492 于 2013-1-2 11:57 编辑
今天家里的打印机3119突然不工作了,用了2年多了,估计是硒鼓的计数器满了,正好是元旦放假所以决定自己刷一下芯片。在网上找到了个差不多的教程于是根据上面的思路做了一下,果然打印机又能工作了。下面说一下详细过程。
拆下硒鼓上面的pcb然后把上面的24c04弄下来。怎样烧录?自己diy一个烧录器或者会单片机的自己写个代码,或者有编程器的更好。反正自己想办法,我是用单片机自己刷的。
我把自己的数据读了出来,具体在图片里面,下面我们分析一下上面的数据。
00--0f是打印机硒鼓型号不能改。
20-2f是出厂日期 30-3f是硒鼓型号,下面刷的时候要改这个,否者打印机可能会记住这个硒鼓的数据而导致修改无效。
40-47为初始化标识不要改动,如果刷成00打印机会帮你改回来。后面的1389应该是打印计数0x1389=5001,打印了5000张了,那个9e应该是校验或者标识,具体不清楚,等下要把47-4f全刷成0的。
50-5f应该表示为这个硒鼓被初始化为xerox的不用改。
60-7f就不知道是什么了,反正全刷0,但是7c要写回ff,不写不知道行不行,反正我这样写了。
OK.数据看完了,下面再具体说说我是怎样改的(24c04和24c08的读写基本一样的):
for(i=0;i<8;i++) AT24c08_write(0x48+i,0);//48--4f全写00
for(i=0;i<16;i++) AT24c08_write(0x60+i,0);//60--6f全00
for(i=0;i<16;i++) AT24c08_write(0x70+i,0);//70--7f全00
AT24c08_write(0x7c,0xff);//帮7f写回ff,网上那个教程说的,具体我也不清楚
AT24c08_write(0x2B,0x32);//下面这两步是改硒鼓出厂型号的,这里我把201001改成2010201
AT24c08_write(0x3c,0x35);//这里我把10012267改成10012265 因为上面加了2所以下面减2防止它哪里有什么校验之类的,如果不这样操作不知道行不行,有兴趣的朋友可一验证一下。
下面是我修改后写入的数据,各位可以参考一下。
|
评分
-
查看全部评分
|