PC-1500与PC通讯
目录
第1章说明
PC-1500与PC通讯,需要借助软件E500Comm,该软件的下载方法:
访问 http://pan.baidu.com/s/1gd7XDkf
进入 public\Tools\E500Comm
下载最新的压缩包即可,本文是以E500Comm-14.11.23.rar为例进行说明的。
第2章音频通讯
音频通讯即通过模拟的声音信号实现数据传输,其效率较低(传输1K程序,需要大概1分钟)。
音频通讯需要底座(CE-150),以及音频线。音频线一根就行了,不过最好配齐两根。原配的音频线是单声道的,如果找不到也可以使用常见的双声道音频线代替,如下图所示:
图2.1
2.1 下载
下载就是把PC-1500机内(或磁带里的)的BASIC代码录制为PC上的wav文件。
音频线一端插入底座的MIC插孔(这是PC-1500输出音频信号的地方),另一端插入PC的MIC插孔。一定不要插入PC的Line In插孔。Line In和MIC都是PC音频输入的插孔,但它们有很大的区别:Line In直接把音频信号传给声卡,MIC会把音频信号放大后再传给声卡。PC-1500输出的音频信号很弱,使用Line In插孔,PC根本无法辨认。
运行Cool Edit 软件,新建一个波形文件,如下图所示:
采样率建议16000以上。声道固定为"单声道",采样精度固定为"8位"。
图2.2
单击下图的录音按钮,然后在PC-1500上运行CSAVE命令(或)。Cool Edit 将录音。CSAVE命令执行完毕,请单击下图的停止按钮。
图2.3
注意波形的最大值和最小值,两者的差值(即振幅)应尽量的大些。太小则说明采集到的信号太弱了。
图2.4
如果录制波形的振幅过小,就需要调整PC上麦克风的音量和麦克风加强,如下图所示:
图2.5
Cool Edit里单击【文件】【另存为】菜单项,将录好的音频保存到wav文件里,如下图所示:
图2.6
至此,PC-1500机内的代码即被保存到了wav文件里。这个wav文件是需要处理的,原因有两条:
1、录制的wav文件里,波形振幅还是太小,需要将振幅调大。否则PC上播放该wav文件时,PC-1500无法识别;
2、录制的wav文件比较大,可以只提取出必要的数据,减小wav文件的大小。
可使用E500Comm处理wav文件,其操作步骤为:
1、运行E500Comm。选择计算器为"PC-1500",然后单击"确定"按钮;
图2.7
2、程序主界面请单击"1.程序"按钮
图2.8
3、单击【文件】【打开...】菜单项,选择一个wav文件。E500Comm将读取wav文件里的BASIC代码,并显示出来,如下图所示:
图2.9
4、单击上图【文件】【保存】菜单项(或【另存为(WAV)...】菜单项),保存wav文件。
2.2 上传
上传就是把wav文件里的BASIC代码传给PC-1500。
2.2.1 操作
音频线一端插入底座的EAR插孔(这是PC-1500输入音频信号的地方,也就是"耳朵"),另一端插入PC的Line Out插孔。一定不要插入PC的耳机插孔。Line Out和耳机都是PC音频输出的插孔,但它们有很大的区别:Line Out是声卡直接输出的音频信号,耳机则是声卡输出的音频信号经放大后输出的。不使用耳机的原因一是音量太大,二是容易失真。
PC-1500上运行命令CLOAD,PC上播放wav文件。注意:PC上的能突然发声的程序请关闭,如:QQ。否则会打扰PC-1500接听wav文件。
2.2.2 音量
PC-1500接听声音文件,最难控制的就是音量。
如果wav文件是E500Comm保存所得,简单的把音量调整到最大即可(假定播放wav音频的软件是Windows Media Player,且其音量也为最大)。
至于其它途径获得的wav文件,如翻录磁带获得的wav文件,该如何精准的调节音量呢?笔者在这里介绍一个方法——使用 Cool Edit 查看Line Out输出的音频信号。具体做法为:
1、将插入PC-1500底座的EAR孔的音频线插头拔下来,插入PC的Line In插孔。也就是说:Line Out输出的音频信号直接进入Line In插孔;
2、PC上播放wav文件;
3、使用Cool Edit软件录制音频,查看音频波形的振幅。这个振幅最好在170以上。
2.3 直接将BASIC代码转换为wav文件
使用E500Comm,可以将BASIC代码直接转换为wav文件。如下图所示,在文本框内输入、修改BASIC代码,然后单击【文件】【另存为(WAV)...】菜单项即可将BASIC代码保存至wav文件。
图2.10
第3章串行通讯
串行通讯效率较高,但是需要通讯模块(CE-158)。这种通讯模块非常少见,限制了串行通讯的应用。
3.1 串行通讯线
串行通讯线是"9孔转25针"的。您可以找商家定制,连线图如下:
图3.1
如果是自己焊接,可以简化一下连线图:
图3.2
3.2 下载
下载就是把PC-1500机内的BASIC代码通过串行通讯传输给PC。
单击主界面上的"设置"按钮,弹出设置界面
图3.3
计算器当然得选择"PC-1500";
串口号是连接通讯模块的PC串口编号;
波特率越大传输越快,建议选为2400;
勾中"传输完毕后播放声音"则传输完毕后会播放声音。
单击"确定"按钮,进入主界面。如下图所示。
图3.4
单击上图的"4.程序"按钮,将弹出如下界面。按提示进行操作即可。
图3.5
3.3 上传
上传就是把PC上的BASIC代码通过串行通讯传输给PC-1500。
完成图3.3的配置后,单击图3.4的"1.程序"按钮。显示如下界面:
图3.6
首先在文本框内输入BASIC代码,或者单击"打开文件..."从文件里载入BASIC代码。E500Comm目前支持从wav文件、文本文件(ASC)、二进制文件(BIN)里载入BASIC代码。
编辑好待发送的BASIC代码后,单击"提示"按钮,将显示操作提示。如下图所示:
图3.7
按照上图的提示进行操作即可。
需要注意的是"延时设置":PC给PC-1500发送数据时,不能太快。否则PC-1500可能来不及反应,导致串行通讯失败。为此,上图里有"字符延迟"和"行延迟"。字符延迟就是每发送一个字符就等待这么长的时间。行延迟是遇到行结束符时,会额外的多等一会儿。遇到行结束符的等待时间=字符延迟+行延迟×该行字符数。显然,发送二进制数据时只有字符延迟有效,行延迟是用不上的。
还有一个问题需要说明:等待时间只能精确到15ms左右。也就是说设置等待1ms或14ms,实际等待时间可能都是15ms。
PC-1500与PC通讯的更多相关文章
- [转]仿91助手的PC与android手机通讯
仿91助手的PC与android手机通讯 原文 知道91助手和豌豆莢吧? 说到这两个东西,最让人好奇的应该是就是和手机的交互了.我之前有研究过电脑和安卓的交互,基本功能已经走通了,在这里我想分享一下. ...
- Mac下找不到gl.pc和glu.pc
在用pkg-config可以用来自动查找对应库的include和lib文件,方便编译.它主要通过PKG_CONFIG_PATH和/usr/lib/pkgconfig目录下的.pc文件进行自动配置.在c ...
- 从MOV PC,PC;(或者ADDPC,PC,#4 )看ARM的三级流水线过程
3级流水线如上图所示(PC为程序计数器),流水线使用3个阶段,因此指令分3个阶段执行. ⑴ 取指从存储器装载一条指令 ⑵ 译码识别将要被执行的指令 ⑶ 执行处理指令并将结果写会寄存器 以前学过的51单 ...
- Linux 内核PC/104 和 PC/104+
当前在工业世界中, 2 个总线体系是非常时髦的: PC/104 和 PC/104+. 2 个在 PC-类 的 单板计算机中都是标准的. 2 个标准都是印刷电路板的特殊形式, 包括板互连的电子的/机械的 ...
- 关于ARM的PC指针(什么时候PC+8,PC+4,PC-4,PC-8)转
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...
- 在多台PC上进行ROS通讯-学习笔记
首先,致谢易科(ExBot)和ROSWiki中文社区. 重要参考文献: Running ROS across multiple machines http://wiki.ros.org/ROS/Tut ...
- ARM获得PC指针为何PC=PC+8
http://blog.csdn.net/sddzycnqjn/article/details/7691534 R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指 ...
- pc send instructor pc ad
1. #include <string.h> #include <intrins.h> // 加入此头文件后,可使用_nop_库函数 #define MAIN_Fosc 11 ...
- 自制单片机之十七……PC与单片机RS-232串口的通讯和控制
这次我们来试着一步步的去掌握PC与单片机通过RS-232进行通讯和控制. 先说说我硬件的情况.我用的PC是个二手的IBM240小本本,十寸屏,赛扬400,机子很老了.但也有它的优点:1.串口,并口,P ...
- PC高级语言与施耐德、罗克韦尔、台达等PLC的Modbus通讯源代码(ModbusTCP.DLL/ModbusRTU.DLL)
1.0 通讯组件概述 该类通讯组件适用于基于PC高级语言的工业自动化控制系统,用于PC与可编程控制器(PLC).智能仪表等进行数据通讯.组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工 ...
随机推荐
- java提高篇---HashTable
在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相 ...
- 2016年10月29日 星期六 --出埃及记 Exodus 19:14
2016年10月29日 星期六 --出埃及记 Exodus 19:14 After Moses had gone down the mountain to the people, he consecr ...
- js动画 无缝轮播 进度条 文字页面展示 div弹窗遮罩效果
1.无缝轮播 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.a ...
- reactnativemodal
'use strict'; var React = require('react-native'); var Modal = require('react-native-modal'); var { ...
- IOS Bug分析
异常代码是SIGABRT.通常, SIGABRT 异常是由于某个对象接收到未实现的消息引起的. 或者,用简单的话说,在某个对象上调用了不存在的方法. iOS应用崩溃日志分析 分析iOS Crash文 ...
- 【leetcode❤python】232. Implement Queue using Stacks
#-*- coding: UTF-8 -*-#双栈法class Queue(object): def __init__(self): """ ...
- 【leetcode❤python】226. Invert Binary Tree
#-*- coding: UTF-8 -*- # Definition for a binary tree node.# class TreeNode(object):# def __init ...
- <转>如何改变讨好型人格 | 你根本不需要讨好任何人
在我过去二十多年的生命里一直是一个“讨好者”. 我总是活在别人对我的期待中,我总是不停的追逐着别人对我的认可,我总是像个卑微的奴才一样去满足别人的需求. 但就和大多数的“讨好者”一样,我们越是寻求别人 ...
- FreeSWITCH第三方库(其他)的简单介绍(三)
FreeSWITCH使用了大量的第三方库,本文档主要介绍关联相关库的信息: 音频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5486753.html 视频相关 ...
- How to crack interviews ...
Code practice: Leetcode: www.leetcode.com HackerRank: www.hackerrank.com Topcoder: https://www.topco ...