PC-1500收集整理记

1 计算器    1

1.1 存储卡    2

1.2 取出"牛皮糖"    4

1.3 打磨键盘按钮    6

1.4 通电    7

2 底座    10

2.1 去除充电电池    10

2.2 更换打印机    13

2.3 更换打印头    14

2.4 装纸    15

2.5 按键、开关    16

2.6 MICEAR    17

3 串行通讯    18

3.1 改动电路    19

3.2 USB供电    21

3.3 串行通讯线    23

3.4 串行通讯    23

3.4.1 超级终端    24

3.4.2 PC-1500PC传输程序(文本格式)    27

3.4.3 PCPC-1500传输程序(文本格式)    29

3.4.4 传输二进制代码    31

 

 

1 计算器

大概是1990年,还在上初中的我第一次接触到SHARP计算器。那是一款比PC-1500辈分还要高的计算器,它令我印象深刻的功能:编写一个函数到计算器里,输入自变量的数值即可得到因变量的数值。再加上它精巧的外观,当时我就对它着了迷。

可惜的是,当时在市面上买不到这种计算器。因此,拥有一台SHARP计算器只能是一个梦想。现在好了,借助淘宝网终于实现了这个梦想。

因为年代过于久远,从淘宝网上购买的PC-1500应该都是从垃圾堆里捡出来的,能不能用起来根本搞不清楚。因此我总共购买了6PC-1500计算器,4个底座,1个串行通讯模块。经过一番折腾,竟然还能凑好两套。下面是整理好的整体图:

能有这样的结果,需要感谢"78621维修车间"和"比夫"的几篇博文。

"78621维修车间"的四篇博文网址如下:

http://cbps99.blog.163.com/blog/static/93048910201142491412918/

http://cbps99.blog.163.com/blog/static/930489102011543824806/

http://cbps99.blog.163.com/blog/static/93048910201162617846/

http://cbps99.blog.163.com/blog/static/93048910201212042542715/

"比夫"的一篇博文网址如下:

http://www.zmdz.com/bbs/forum_read.asp?id=43530

1.1 存储卡

收集到的6PC-1500,只有1台没配存储卡,其余的都配上了16KB的存储卡(CE-161)。

存储卡安装在PC-1500的背面,如下图所示:

首先把上图红色框内的盖子抠开,然后用手指勾住盖子上方的凹槽向下拉。这样,存储卡就可以被取出来了。

下图中,存储卡的左下角有个小白点,它的上方是白色的写保护开关。应该把这个开关拨到上方,否则就无法对存储卡进行写操作。

如果PC-1500没有配存储卡,那么就不会有小白点。写保护开关有,但它是黑色的,如下图所示:

把存储卡取出来,有什么用呢?"78621维修车间"写的博文是更换了存储卡内部的CR2032纽扣电池。这样,存储在卡里的数据,能够维持两年不丢失。我感觉换上新电池难度比较大,并且用了几年后又得换。关键是这么一通麻烦后实际的意义并不是很大。因此,采取了比较极端的做法——直接把旧电池取出来了。

打开存储卡稍微容易些,使用螺丝刀撬开就行。装起来有些麻烦:需要把卡装入盒子,并且V形弹簧要顶住上方的伸缩盖。

1.2 取出"牛皮糖"

使用十字螺丝刀拧开PC-1500背后的8颗螺丝,如下图所示:

打开PC-1500就可以看到"牛皮糖"了(在下图红色框内。实在不知道它叫什么,只是觉得它特别像牛皮糖)。

上图下端侧面有4个小螺丝,如下图所示。拧开后就可把上图牛皮糖及其所在金属片整个取下来。然后把牛皮糖从金属片上剥离开来。

1.3 打磨键盘按钮

有两台PC-1500ENTER按钮按下去之后无法弹起来,主要原因是按钮长期受到挤压,侧面变形了,导致有时会卡住。解决方法就是把按钮取出来,然后用锉刀将按钮侧面打磨平整。

使用螺丝刀拧开下图所示的11个螺丝(有两个在黄色带子的下面)。

将板子移开,即可看到键盘按钮。如下图所示。

注意:千万别把按钮弄乱了,否则重新排放一遍是比较费时的。

取出需要打磨的按钮,将其侧面打磨平滑,再放回原位。

1.4 通电

PC-1500装上四节1.5V5号电池(1.2V的充电电池也是可以的),如下图所示:

盖上电池盒盖,此时PC-1500的显示如下:

它的含义是——是否清除内存?请按红色的CL键,然后输入命令NEW0,如下图所示:

按下Enter键,即可清除PC-1500的内存。

同样的方法执行NEW256将清除存储卡上的内存。如果PC-1500未安装存储卡或存储卡被写保护,则会出现错误提示ERROR 25

PC-1500上输入STATUS0,再按下Enter键,即可查询PC-1500的剩余内存。如下图所示:

下表是机型及可用内存表

无存储卡

16K存储卡

PC-1500 

1850 

18175

PC-1500A 

5946 

22271 

 

 

2 底座

PC-1500配上底座(CE-150)就有了非常拉风的功能:可以打印、绘图,可以通过并口外接打印机,还可以连接磁带机存储数据……

2.1 去除充电电池

下图是底座的外观:

我买了4个底座,坏了2个。损坏率50%。为什么会这么高呢?原因在于底座内部有5节充电电池,即使不使用底座,它们也会处于放电状态,时间一长就会漏液。碱性溶液就会腐蚀底座。

因此,拿到底座后,需要把5节充电电池取出来。可使用一字螺丝刀撬开底座,如下图所示:

撬开后的样子

现在,就可以打开底座了。如下图所示:

上图红色框的部分就是安装充电电池的位置。电池已经被我取出,已经被腐蚀成这个样子了:

电池上的文字:

"78621维修车间"为底座更换了充电电池,我没这么做——再次漏液怎么办?我是这么做的——直接借用底座的外接电源,如下图所示:红色的为正极、蓝色的为负极。

底座接通外接电源(9V)后,即可充当充电电池的角色。5节充电电池是6V,这里的9V电压会不会太大?经过我的实际测试没有发现任何问题。

最后,来一张底座电源适配器的图片。买了4个底座才搜集到一个电源适配器,不容易啊。根据该电源适配器的规格(9V500mA12W、直流插头外径5.5mm,电压是内负外正)可以网购一款电源适配器代替它。注意:一定不要购买质量差的电源适配器,它会导致PC-1500无法与底座正常通讯。

2.2 更换打印机

我在4个底座之间相互替换了打印机,其操作比较容易,需要动三个地方:

2.3 更换打印头

购买的4个底座,打印头里的墨水都干了。导致打印不出东西。为此,网购了几个打印笔,将其换上。

首先是打开打印机盖子。方法是:将右边红色框内的开关推到最左边,然后使用手指扣住左边红色框内侧面的凹槽,将其向上打开。

更换打印头的方法如下图所示:使用手指拨开打印笔后端的塑料弹片,然后使用针形物将打印笔挑出来。新的打印笔,先安装头部,然后向下按压即可装入。装好一只笔后,向左拨动打印头(绝对不要向右拨动),旋转90度后,更换另一支打印笔。直至所有的打印笔更换完毕。请注意黑、蓝、绿、红四支打印笔的安装顺序。

2.4 装纸

打开打印机的盒盖,右手拿着纸卷将其插入打印滚轮后方的进纸孔

左手向上滚动打印滚轮(黑色的橡胶滚轮),这样打印纸就被带出来了。然后把纸卷连带滚轴放入纸槽内。注意滚轴要放到滚轴槽内,如下图所示。

纸卷滚轴也是个稀罕物,4个底座只收集到一个,其直径大概为8mm。如下图所示

注意:打印纸可以使用收银机、POS机的热敏打印纸代替。其规格为57×30mm,即纸的宽度是57mm,纸卷的外径是30mm,内径要大于8mm

2.5 按键、开关

因为没有底座的说明书,以下都是我的猜测,希望是正确的。请参考下图

按钮1是用来进纸的。打印完毕,按下它即可进纸。到合适位置后,即可把打印部分撕切下来(打印纸出口处有锯齿状的切纸器)。

开关2用来打开打印机顶盖。

开关3REMOTE开关,可用来控制磁带机。连上磁带机,需要把它拨到ON的位置,即可与磁带机交换数据。不连磁带机时,请把它拨到OFF的位置。

开关4PRINT开关。连接外接打印机时需要拨到P的位置,否则就拨到黑点的位置。

2.6 MICEAR

通过底座的MICEAR插孔,即可将程序保存到磁带上,也可以从磁带上读取程序。

"78621维修车间"和www.pc1500.com网站介绍了另一种方法:把程序保存成PCWAV文件,也可以播放WAV文件载入程序。这种方法我测试了,CSAVE似乎没有问题,但是CLOAD一直不成功。

使用磁带、WAV文件保存、载入程序效率太慢。因此,不再做深入研究。

 

3 串行通讯

网购了一个PC-1500通讯模块(CE-158)。下面是它的图片:

它与PC-1500的接口

数据通讯口有两个:上方是并行口,它被一个红色的盖子盖住了;下方是25孔的串口。

3.1 改动电路

CE-158内部需要41.2V5号充电电池。充电电池存在漏液问题,因此需要改动电路。拧开底部的四个螺丝

继续拧开四周的4个螺丝

卸下顶壳后,继续拧开下图所示的两个螺丝。

下图红、黑两条线本来是连接充电电池组的正、负极的,现在把它们焊接到下图所示的红、蓝圈内。红圈为正极,蓝圈为负极,千万不要焊错了。

重新安装好,自此CE-158电路改动完毕。它的原理就是借用外部供电设备提供的电力。外部供电电压最好是4.8V41.2V充电电池串联电压),不过根据我的实测:5V~9V都是可以的。也就是说:底座(CE-150)的电源适配器可以给通讯模块(CE-158)供电。

3.2 USB供电

上节说到:可以使用底座的电源适配器给通讯模块供电。不过这不是很方便。"比夫"的博文里提到:使用USB给通讯模块供电,这是个非常好的想法。

下图就是我自做的USB供电线:

说明:

1、直流插头的外径为5.5mm,电压是内负外正;

2、网上可以购买这样的线,其名称为"USBDC5.5"。但一定要注意它的DC插头是否为内负外正。

3.3 串行通讯线

PC的串口一般都是9针的,CE-158的接口是25孔的,需要一根"9孔转25针"的串口线。获得这根串口线的方法:

1、网购时要求店家定制。因为我网购了一根线,结果连接方法不正确,最后自己改接了线;

2、自己购买9针头、25孔头、数据线,自己焊接。

不管什么方法,哪根线与哪根线连接是关键。具体的连接如下图所示

还有更为简单的连接方法:

3.4 串行通讯

串行通讯前,需要注意的事项:

1、把通讯模块的开关拨到ON的位置,通电后需要等待40秒以上再打开PC-1500PC-1500过早开机就会显示:CHECK 8,提示通讯模块供电不足;

2PCPC-1500发送数据时,因为PC-1500的反应比较慢,所以每发送一个字符都要等待一段时间;

3Windows 文本文件的行结束符是回车(CR,十六进制的0D)和换行(LF,十六进制的0A),而PC-1500的行结束符是回车。两者相互传输数据时,需要对行结束符进行相互转换。

3.4.1 超级终端

Windows上的串口通讯软件很多,但是这里只介绍超级终端。因为它有一些特有的功能,如:自动转换行结束符,每发送一个字符后可以等待一段时间。

Windows7操作系统上,不再自带超级终端程序。可以上网下载这个程序,或者从WindowsXP操作系统上复制过来。具体的,需要复制两个文件:

C:\Program Files\Windows NT\hypertrm.exe

C:\WINDOWS\system32\hypertrm.dll

把这两个文件放在同一个文件夹内,即可通过鼠标双击hypertrm.exe运行超级终端程序。

超级终端首先会要求输入连接的名称,这个名称可以任意输入。这里输入pc-1500,然后单击"确定"按钮,如下图所示:

进入如下界面。请选择串口号,单击"确定"按钮

接下来的界面需要注意两个参数:"位/秒"就是波特率。PC-1500只支持11030060012002400这五种波特率。经过试验,波特率110通讯失败,所以这里我选择了2400。数据流控制里,请选择"无"。原因在于:通讯模块(CE-158)的25针串口的DTRRTS始终为低电平,所以给PC-1500发送数据时,硬件握手一定失败;PC-1500PC发送数据时,要求PC端串口的RTS为高电平,即便选择"无"数据流控制,超级终端也会设置RTS为高电平的。

单击上图的"确定"按钮,现在超级终端就可以和PC-1500通讯了。

不过因为要转换行结束符,还需要一些设置工作。其操作如下:

单击超级终端的【文件】【属性】菜单项

进入"设置"页面,单击"ASCII码设置"按钮

显示如下界面。红色框内的4项设置比较重要

"以换行符作为发送行末尾"勾中此项,超级终端会将 0D ?? 替换为0D 0A ??(要求??不是0A),也就是将行结束符由0D更换为0D 0A;不勾中此项,超级终端会将0D 0A替换为0D

"字符延迟"与"行延迟":超级终端每发送一个字符就会等待一段时间,只要这个字符不是行结束符,等待时间就采用"字符延迟",否则等待时间就采用"行延迟"。上图的含义:每发送一个字符等待0.025秒,发送一行后等待1秒。注意:Windows不是一个实时操作系统,等待的时间基本上都是0.015秒的整数倍。也就是说设置延迟为1514,则实际延迟可能都是0.015秒;而设置延迟为16,则实际延迟可能是0.03秒。

3.4.2 PC-1500PC传输程序(文本格式)

PC-1500上按MODE按钮,进入PRO状态,输入如下代码:

10 PRINT 10

20 PRINT 20 

然后在PC-1500上执行如下命令

OUTSTAT0

SETCOM2400,8,N,1

SETDEVCO

CSAVEa

PC端将接收到如下信息(<CR>就是回车,即0D

10 PRINT 10<CR>

PC-1500发完此行后等待2

20 PRINT 10<CR>

PC-1500发完此行后等待2

<CR> 

程序发完,PC-1500会再发送一个回车符

可见:

1PC-1500发送的程序以回车为行结束符;

2PC-1500每发送完一行,都会等待2秒;

3PC-1500把程序发送完毕后,会额外发送一个回车符。PC端程序如果发现两个相邻的回车符,就可以认为PC-1500的程序发送完毕了;

4、如果PC-1500没有BASIC代码,那么CSAVEa不会发送任何字符。

因为Windows文本文件的行结束符是回车加换行,因此需要将PC-1500发送来的数据做处理:把回车替换为回车加换行。还记得超级终端的如下设置吗?它就是专门做这个转换工作的。

所以,对于超级终端而言,重要的是如何把PC-1500发送来的数据保存到文件里去。其操作步骤如下:

单击【传送】【捕获文字】菜单项

单击"浏览"按钮,选择一个文件。然后单击"启动"按钮。

现在,超级终端做好了接收数据并把数据写入上图选中文件的准备了。

PC-1500上执行如下命令

OUTSTAT0

SETCOM2400,8,N,1

SETDEVCO

CSAVEa

CSAVEa执行完毕后,单击超级终端【传送】【捕获文字】【停止】菜单项。

至此,超级终端就完成了接收PC-1500数据,转换行结束符,保存至文件的工作。

3.4.3 PCPC-1500传输程序(文本格式)

记事本编辑的如下代码并不能直接传给PC-1500。因为Windows文本文件的行结束符为回车加换行,直接发给PC-1500会因为不识别换行符而导致传输失败。

因此,把文本格式的BASIC代码由PC传给PC-1500,首要的工作就是把回车加换行符替换为回车符。所幸的是超级终端的如下设置自动完成此项工作。

PC-1500一样,PC端发送完代码后,也应该发送一个回车符给PC-1500,"告诉"PC-1500整个程序传输完毕了。为此,记事本编辑BASIC代码时,需要在最后有两个行结束符。检验方法就是在记事本里按下Ctrl+End,插入符与最后一行代码之间要有一个空行,这个空行里请不要输入任何字符,包括空格。

最后就是延迟时间。PC-1500反应比较慢,PC把整个代码一股脑的发给它,则会导致通讯失败。为此,需要设置延迟时间。下图是超级终端里的延迟设置:

"字符延迟"用来保障PC-1500来得及接收数据;"行延迟"用来保障PC-1500来得及将文本格式的代码行翻译成机器内部的二进制格式。

注意上图的数值都是经验值,如果在传输时出现错误,请适当增大延迟时间。

具体操作如下:

PC-1500上执行如下命令

OUTSTAT0

SETCOM2400,8,N,1

SETDEVCI

CLOADa

超级终端上单击【传送】【发送文本文件】菜单项,如下图所示:

选择要发送的代码文件,超级终端就开始传输代码给PC-1500了。这里顺便提一下:超级终端发送文件的功能缺少进度显示,你搞不清楚文件已经传了多少了?大概还要传多久……

3.4.4 传输二进制代码

CSAVEaCLOADa分别替换为CSAVECLOAD即可传输二进制的BASIC代码。

传输二进制代码的优势:效率高。CSAVEa每发送完一行就会等待2秒;CSAVE不存在这个问题。CLOADa时,PC每发送完一行就要等大概1秒,CLOAD就不存在这个问题了。

传输二进制代码的缺点:首先是可读性差,传给PC的二进制代码人工无法阅读(当然,做个程序把二进制代码转换为文本格式也是可行的,就是不知难度有多大);其次,超级终端无法用来传输二进制代码,因为它过于聪明了。下图的设置,不管勾与不勾,超级终端都会对行结束符做相应的转换。这是传输二进制代码所不希望的。

所以,要在PCPC-1500之间传输二进制代码,需要单独编写一个串行通讯程序。笔者在PC-E500PC通讯程序的基础上,增加了与PC-1500通讯的功能。程序下载地址:浏览http://pan.baidu.com/s/1gd7XDkf 再进入 public/Tools/E500Comm

最后,大致说一下二进制代码的格式。使用CSAVE将得到如下数据(十六进制)。

地址

字节

数据

0

5

01 40 43 4F 4D

固定。经测试这五个字节不可能是二进制代码的头五个字节

5 

16 

31 32 33 34 35 36 37 38 39 30 41 42 43 44 45 46

CSAVE的参数,这里就是

CSAVE"1234567890ABCDEF"

最多16字节,不足的补00H

21 

2 

01 00 

随机数。0x01000x00C5,还有可能是其它数值。

23

2 

00 07 

总字节数 - 28

25 

2 

01 08 

随机数 + 总字节数 - 27

27 

n 

00 0A 05 F0 97 31 30 0D

二进制代码,字节数n=总字节数-27

最后一个字节一定是0DH

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值