相关活动:【单片机忆往昔】你做的第一个单片机项目是什么?做过最牛的项目又是什么?(500元京东卡福利)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      看到题目,回想年前早成一文。已知有一些跑题,聊一聊,供一乐。

      刚开始编码时使用的是APPLE II,在上面编程用的是BASIC。那台机器俗称麦金托什。许多年后才知道,和苹果手机一样,那也是乔布斯主导做的。这一年是1990年。

      第一个任务,为Z80CPU写一个函数,语言是汇编,环境使用的是单板机,注意不是单片机。指令都要敲进去,在保存之前掉电那就是个灾难。这一年应是1991年。

      换个了环境,有了一台计算机,型号不记得了,产地是香港。这台机器的CPU也是Z80,显示器12英寸,绿色单显。和原来的机器不同,有操作系统,名称是CP/M,它支持文件操作,文件可以写入和调出,还能编辑。但实际操作时有一些难,因为editline不是很好用,这台机器还能打印,只要敲下命令,针式打印机就可以将程序打印出来,在纸上慢慢看,debug变容易了,毕竟比在屏幕上看要的内容要多。这台机器上还有EPROM写入卡,写入卡顶端有一个SOCKET,可以直接对EPROM烧录。

    开始摆弄单片机了,以前学的是Z80,后来说8031更容易一些,看了一下手册,是要容易许多。仿真器好贵,仿真器名称叫SICE,是南通的一家校办工厂生产的。一台价格要好几千块,可编辑还是editline。在Z80上写代码的进候,编译完程序后直接写芯片进行测试,出错,需要将芯片在紫外光灯下照射后才能重写,很麻烦。现有了仿真器,可以直接将程序在目标系统上调试,不用再写芯片了。写代码时还是要写汇编码。将汇编码翻译成机器码的过程叫汇编,计算机上有汇编程序,可它运行非常慢,名字叫MCS51,是复旦大学制作的。有听同事说起,一些同事能人脑汇编,不需要汇编程序,只用一支笔,就可以实现将汇编码转换二进制码,能够做到的人还很多,远不止一两个。听到后,知道自已还是很差劲,因为我做不到。

     使用DOS是从3.31开始的,版本还不错哟。用了很久才升到5.0,不过从5.0至6.0还是比较快的。记得那个时候内存条有2M的了。加了内存条,但DOS操作系统不支持访问所有的内存。为了让计算机跑的更快,内存充分利用,在报纸、杂志上寻找方法,是“计算机世界”上找到了描述内存管理的文章,作者已不可考。知道了DOS扩展的内存管理最起码有二个内存管理版本:XMS和EMS。XMS指的是640K至1M之间的空间,EMS指1M以后的空间。需要在CONFIG.sys环境下加载相应的驱动文件,才能访问。制作PCB时有用到一工具软件,名称叫PROTEL,版本号3.16。这个软件需要EMS的支持,这是我见过的第一个要求此内存规范的软件。后来一些游戏软件也要求这种内存规范,修改config.sys和autoexec.bat一直认为是很简单的事,可不停有人要我去处理这一类的问题,很忙。

     不经意间,家里添了一台286,感觉相当不错,还可以玩麻将游戏。也换过386,看过AST,当然也弄过COMPAQ.计算机的硬盘可是巨大的,20M,没多久我就换成40M。我找到一些资料,用于描述硬盘文件的组织形式,对debug应用程序有一些熟悉,在遇到误删文件时,如没有其它硬盘操作,还可以将其手工恢复,经常帮同事恢复文件,感觉非常良好。

         在办公室,我看了一个新奇的东西,WINDOWS2.0,台湾版本。安装时需要一大堆的软盘,有一张坏了,就不行了。多卷备份使用backup,恢复使用restore,备份,恢复就是这个机会让我学到了。windows蛮好看的,但不好用,仅是一个DOS下的应用程序,工作上基本用不到,我没有太关注它。那一年是1994年。

      病毒开始传播了,有好几种,有明确印象名称是DIR2。遇到它非常麻烦,因为手工删除要非常小心,在病毒程序运行的环境下,只要执行DIR命令就传播了,可DIR就是最常用的命令。手工删除费劲,一不留心又有了,没办法解决。直到后来有人给我了一个删毒程序,只要运行一次,就能把病毒去除。到现在还记的软件名字,kill!

     Dos是英文,而我使用环境是中文。字处理软件使用的是WPS,这个软件可是标记方式,即屏幕显示格式和真正打印出来的格式是不一样。通过不断的打印,根据打印结果,在需要改变格式的文本前面插入格式符。这种字处理的方式,一直以为很方便,直到有一天看到了WORD。了解到“所见即所得”.这种标记的方式,我以后在马克飞象看到了类似的应用。

     如何输入中文?一开始是拼音,当时拼音输入法没有什么联想输入,还要看着屏幕进行选择。速度太慢了。杂志上开始推广了一种新的输入法:五笔字型。一段时间内,我每天都花一定时间来练习五笔输入法。练习范本是邓小平文选,半本邓选下来,五笔输入法不再需要记忆,变成自然的生理反应。直到今天,我还没有见过对五笔这么熟悉的人。实际上整篇文字都是用五笔输入法写的。后来,我发现了一个五笔输入法的新用途,可以记录密码。如新浪网的账户密码,usriyvmqq,这样的码我能很轻松的记住,因为这就是新浪网这三个字的五笔输入码。

     中文如何在屏幕上显示,当然需要中文系统支持。使用过CCDOS,但对UCDOS印象最深。中文在屏幕显示时,有时会因为不对齐的原因显示错误,我会在显示错误前面去除或是添加一两个空格,用于消除这种显示错误。这种错误到现在还没有修正,有一些软件上还是会存在。简晶编写的中国龙编辑器,这个应用程序的色彩搭配,记忆深刻。那一段时间里,鲍岳桥,简晶给我留下了深刻的印象,在联众平台上我又一次看到了他们。

    不知不觉间有了网络,NOVELL,每台机器之间需要同轴电缆相连,接口是BNC。有一些机器不需要硬盘就能工作,真是太神奇,每个人还有不同的账号,在不同的终端面前,登录系统,环境居然是一样的,太酷了。可在家的时候没有网络,有文件需要交换,如何弄呢?如组装了兼容机后如何将常用软件COPY至新机器,那可不是一张软盘就可以搞定的!dos实在是太方便了,利用一根并口电缆将两台机器连接在一起,在一台机器上运行服务程序,在另一台机运行interlnk程序,就能组成简易网络。实现文件在两台机器之间COPY。我做了许多根电缆,供各处使用。直至2000年,才丢掉了它。

    领导给了我一个新的东西,MODEM,中文名是调制解调器。品牌hayes,通讯速度能达到14400BPS,只要拨个电话,对方也有MODEM,可以远程联网,还能发送文件。文件传输实现是太方便了,用一个XMODEM协议就可以了。在以后很长的一段工作过程中,使用的笔记本电脑上都要求有这个接口,发传真就用这个接口,将文件直接通过传真口输出,省去了打印过程。它还有一本说明书,上面描述了相关的AT指令集,如拨号就是ATDT,就通过那本说明书,知道了还有这种操作硬件设备的方法,若干年后,我在GPRS模块驱动上又看到了它。

    经常有人找我摆弄MODEM,说是连不上了,都是炒股的。有一天我去了证券公司机房找问题,看到了机架上一排排的MODEM,指示灯闪个不停,连机声音此起彼伏。噢,中国的股市开始了。

    有一天,同事参加外部研讨会,带回来了一个软件和一本小册子,通过小册子,我知道了PLM/51这个名字,我尝试了一段时间,这种语言编程还是蛮方便的。但仿真器调试时它不支持源码编译。不过问题不大,对着汇编码,很快就可以理解汇编的目标文件。小册子还有一段,讲的C51,我看了工具名称,KEIL。若干年了,我再次捡起单片机的时候,STM32,又看到了它。

    有人还和我说了一个应用,叫做电子邮箱,说只要你知道别人的EMAIL地址,就可以给它发邮件,当然别人也可以给你发邮件。邮件里能够包含文字和图片,甚至文件,到哪里才能找到这个东西呢?说是微软有,可以打个电话给微软。说实话,那个电话我打了,小姐和我讲,可以提供这个服务,每个月付费90元人民币。我看了一眼工资,想想还是算了。

    有人给我一个接入号,具体号码我已忘却了,因为变过数次,但最后一个号码我还记的,16300。说是可以接入INTERNET,并且给了我一份NETSCAPE,我尝试了一下,居然可以。我看到了YAHOO。先知道电子邮件,后来才知道浏览器。

    若干年后,使用UNIX在公司办公环境搭建了邮件系统,为公司同事提供电子邮件服务。几个月后服务器就运行故障了,寻找原因时发现了一个问题,由于对发送文件大小没有限制,并且没有监控,同事们将电子邮件变成交换电影的工具,蛮多同事还把电影保存在服务器上。空间耗光,所以服务才停了。拿邮件传递电影,从那时到现在,在其它地方我还没有见过。

    慢慢的,WINDOWS升级了,有了WINDOWS3.1,我在上面写了应用程序,我做了一个收费系统,电话计费,根据所拨打号码和通话时间进行计费。那个时候,计费方式变化频繁,长途与市话话费不同,本地电话还有区分,甚至一个电话区号下面的电话费率也是不同的,并且经常需要调整。原来的费率调整,需要重新更换EPROM,曾经的用户会回来更换,非常麻烦。这个系统的亮点,可以通过对计费终端打一个电话就能实现费率调整。通过双音频拨码,修改原来的费率文件,和原来相比,方便了许多。但系统一直不是很稳定,始终不知道原因,当时猜也许是因为开发工具不是正版的,那一年,花了3800元在北京联邦软件专卖买了一个工具,它的名称是VISUAL BASIC。版本4.0,使用的是个人支票。更换了开发工具,软件出故障的概率减少了许多,但长时间运行,计算机还是会死机,不知道原因,不知道如何解决。

    在镇江参加行业会议,我看了其它厂家的类似产品,它的环境和Windows完全不同,有一些象DOS,但他们的产品很稳定,这是为什么?我不明白,他们使的是什么,打听后,我知道了Xenix的名字,是unix的一种。

      网上传说有一种新应用,叫EBAY,可以购物。好有意思,我和太太在网上看好了一件风衣,它正在网上拍卖,我们两人约定了最高成交价格,如拍卖结束之前低于这个价格,就买。我们关注着拍卖过程,快到结束的时间了,价格还是低于预期,买了!付款用的PAYPEL。那个风衣,直到去年2019年冬天,我还在穿。

    卓越通过电子邮件向我推送了广告,6个正版VCD才不到60元,太便宜了。记得其中有二个片子,“喋血双雄”、“纵横四海”。这是我第二次网上购物。那时候的淘宝东西太少了,没有意思,支付宝好象也不及PAYPEL来的方便。

    即时聊天工具原本一直用的是ICQ,后来发现QQ用户变多了,有时也用,但号码一直不记,随用随申请,用一个丢一个。记得大部分都是5位的。直到有同事提醒我说,QQ号申请困难了,才注意到这个事,那一个好象是2002年。保留了我的最后一个QQ号,七位数,一直用到现在。

    打电话费用高,特别是长途电话,有朋友推荐了SKYPE,我还专门买了硬件和点卡,通过计算机打电话,但朋友们都不接我电话,特别是手机,说是这个号码从来没见过,很怪异,不敢接。还流行过一段时间的MSN,我用了好久。

    在工作中,公司和银行开始了一个项目,是软件,硬件相结合的产品。一个数据库在后台,前台的柜员在操作时访问该数据库,并且访问特殊硬件。在建立架构时,要求前台和后台完全分开,系统相对独立,能够在各个银行的环境下使用。太先进了。蛮长一段时间后,我才知道那种结构叫C/S结构,那一年是1996年。

    我开始和银行的同事一起合作,那时候正值银行数据大集中开始前期。即将开始而未开始,知道了小型机AS400,稍大一些的RS6000。更大一些的ES9000。机器对我来说,仅是一串数字而已。操作系统都类似。1997年,人机大战击败国际象棋大师卡斯帕罗夫的深蓝计算机实际上就是RS6000。

    和我合作的银行同事对C不是很熟,我问她拿什么语言写应用。回答说是fortan,后来是cobol,给我看了一段代码,那一次,见到了一直在传说中的开发语言。以前我只在教科书听过这两个名字。自已则开始写代码的时候是用汇编,后面使用的PASCAL,并且通过了考试,后来一直用C,在Windows上写代码时用过一段C++。多年以后,有同事请我处理WINDOWS下DLL的时候,他说用的是dephi,又见到了PASCAL,可语句和语法再也想不起来了。

    在计算机的各种杂志和报纸上,微软的windows和IBM的OS/2的广告战那是如火如荼。那时,windows我常见,但OS/2没有见过,OS/2是什么样子,非常吸引我。可一直都没有机会目暏真身。直到很久以后,才听说好象有一些中国银行的网点使用了这个操作系统。

    刚开始在UNIX下开发,问题很多,经常去一个论坛,看贴。记得那个论坛名字叫chinaunix,还记得有一个人名,叫老农。

    因为一直在UNIX下编写代码,编缉器选择不是很多,看银行同事用的VI,并且向我炫了各个技巧,技巧的内容是达到一个功能要按多少次键盘,以按键次数少的作为胜利者。VI太好用了,尽管后来我已不在UNIX环境下写代码,但在WINDOWS下还是喜欢用VI。           

     应用环境变了,原来这个世界上不仅仅有WINDOWS,还有XENIX。以前在计费系统时看到的东西,再次见到了。也开始知道了,当时WINDOWS的稳定性和XEMIX相比,还是有蛮大差距的。慢慢的,UNIX也升级了,那时产品品牌叫SCO。使用的服务器软件版本号是SCO openserver 5.0.使用一段时间后,还是觉的蛮好用,经常遇到的问题是超过8G的硬盘分区时需要注意一下,不然操作系统不能访问8G以后的空间。

     SCO OPERSERVER 操作系统还有安全模式,即有选择的加载驱动,便于系统出错后调整,非常好用。后来,我在WINDOWS上也看到同样的改变。

     命令行操作还是有一些麻烦。通过网络,了解到xwindow,尝试了一下,感觉不太好用,同样的硬件条件,性能比windows差了许多。

     这个项目的数据库应用开始了,数据库是什么?我以为操作语言会是SQL语句,银行同事和我讲,他们用的是CTREE。是有源码的,根本就不会用到SQL语句。可源码我是看不到的,资料的缺乏。Ctree我还是望而却步了。     

     软件开始有销售了,第一次是在烟台的一家银行。为接入系统,我在那家银行呆了近一月,最终完成了。那一年是2000年。在6年以后,客户给我打了个电话,接到电话的那一刻有些紧张。因为回想6年前工作不是一件很容易的事。通话过程中,客户和我说系统一直都在正常运行,他们也没有维护过,从来没关过机,还是我交付时的样子。给我电话是想询问当时合作开发时另一家公司技术人员的情况,找不到人了,想了解一些情况,自已维护。放下电话,我长出了一口气。

    linux在国内也开始流行了。redhat ,Turbolinux,红旗等等。在LINUX的开发也开始变多,特别在服务器端和嵌入式端。服务器端它可以 替代一些专用系统 ,嵌入式端主要是网络设备,可以利用LINUX的原有代码。我去一些公司,蛮多的人在谈论LINUX剪裁后大小和移植的方便。后来我在越来越多的地方见到LINUX。

    项目在开始变大,需要在许多文件协同修改,即修改不局限于一个文件。如变量改名等,在没有找到工具之前,这要花费很多时间和精力才能做到。我在SCO下找到了一个工具,非常好用,名字叫cscopt.我原来希望在WINDOWS下还能继续使用,可发现它不再更新了。一段时间后,我在WINDOWS端看到了sourceinght.。 开始有版本管理了,当前使用的是CVS,没有图形界面。多年以后,当我再次编码时,说现用的是SVN。一段时间后,又有人和我说git比较流行。

    项目还在持续。由于各个银行都讲究正版化,在数据库版权上投入直接影响到了在各个银行实际接入的数据库使用,这时,我看到了SYBASE,INFORMIX,ORCAL还有IBM的DB2,那时候数据库的小弟就是今天应用的大头,SQL SERVER。面对这么多数据库如何处理,难道真的每一个数据库都做一次?有一个同事用了一个新工具,微软的ODBC。   

    软件还在找机会实施。我请同事在福建一个地级市进行环境调查。主要是各家银行的计算机环境。很快调查结果出来了,一共存在着7-8种操作系统,还有一些从香港那边淘汰下来的主机,我知道名字的数据库在这个地级市我都能见到。看着调查结果,看着软件,我不再争取了。

    中文输入还是太慢了。一个南京的同事向我堆荐了IBM的语音输入产品viavoice。这个产品需要先行训练,说识别率非常高,听说有使用者能达到90%,我尝试了许多次,效果总是不理想,还是放弃了。不过,对着麦克风减一句“打开WORD”,计算机还真就打开了WORD软件,很酷。许多年了,我尝试对小米手机喊了小爱同学,好象它也听懂了。

    事情越来越多,我需要一个东西能保存做过的项目。多年的工作结历,服务和自身REVIEW,都需要将以前的工作内容保存下来。保存的东西要能检索,要能快速的找到,太不容易了。我看着垒成四十多厘米高硬盘,叹了口气。并且硬盘保存数据也不可靠,曾有一次,我写了近一个月的代码,做了一个检测产品,到了快生产的的时候,计算机硬盘损坏,损坏时没来及备份,不确定能否将代码找回。找到了一家数据恢复公司,说尝试一下,数据一定能回来一些,但那段代码能不能回来不保证,至少要一周才能给回应。等待期间,客户第一次要求订货,要的很急,不然就不要了。做了一个多月,不能放弃这个机会,可如果代码回不来,我虽然能重做可需要时间,一定赶不上。纠结的心情至今还能记起。祈祷了一周,回应来了,代码能找回来,我高兴的付了2000元。总算撑过去了,可祸不单行,没有多久,计算机被偷了。虽然最终公安帮我找了回来,可我对自已说,我再也不想经历第三次。需要保存好我的工作。在当有这个想法时,每做一次文档,每做一件需要记录的事,我都给自已发了一份邮件。我用的邮件系统是GMAIL。当谷歌出了问题,不能访问时。我去购买VPN,以维持工作习惯。可终规不方便,寻找一个产品以实现保存的功能,找到了EVERNOTE。我从一开始就是付费用户,因为我知道这个费用和购买硬盘比起来,还是便宜许多。那一年是2010年。

    可因为网络的原因,EVERNOTE切至印象笔记,那一年是2012年。切换的麻烦,时间之长,至今难忘。后来看着印象笔记置核心功能不顾,去搞一些噱头,非常担心这个保存服务再一次中断,又要给数据再找一个新家。为了避免这种情况,我格外支持它,每年都是付费用户,最贵的那一种,早早的把钱交了,希望它能长久。

       时过境迁,我还在做着和计算机相关的工作。也许是硬件,也许是软件。我和同事的年龄差距也越来越大,看着计算机各种软硬件的变化,很少有人能一块谈起以前的产品和工作环境。对于一些技术,我也不再有兴趣。

       我用手中的计算机写下这一段文字,用的是w10,输入法是五笔输入法,保存软件是印象笔记。这一年是2020年。