历史上的今天
今天是:2024年11月10日(星期日)
2020年11月10日 | 基于Launchpad的串行莫尔斯电码发射器
2020-11-10 来源:elecfans
该项目展示了如何使用MSP430G2231单片机构建一个小巧的莫尔斯发报机。

该设备可以通过两种模式传输:
-串行接口,从一个COM端口获得字符,并把它们转换为莫尔斯电码
-通过手册,使用按键进行编码。
在串行模式下,以15个字/每分钟的速度从COM端口一次一个字符的读取和传输莫尔斯代码。为了更好地理解莫尔斯电码是如何工作的,可以阅读这个。
莫尔斯按键的输出引脚连接到单片机的一个引脚作为编码引脚,从而得到一个纯CW模式(CW模式是指单载波模式,即输出的频率为一个单频的信号,和他对应的有扫频模式或调制模式等)。
设备由两节AA电池供电,当不发送电波时保持持续低功耗模式。您应该为八路缓冲器添加用四节AA电池提供的第二电源,以增强射频功率。
第1步:物料清单及工具

这些是你需要为这个项目准备的:
物料清单
-德州仪器的MSP430G2231单片机
-1个74HC240八路缓冲器(74HC240是一片功能强大的三态缓冲器,芯片内部集成了8路带有施密特触发器输入特性的反向缓冲器。)
- 1个晶振(工作频率应在10/12m CW波段 (24/28Mhz))
- 2个220欧的电阻
-2个1K电阻
-2个LED指示灯(最好使用不同的颜色)
-2个按键(已经包括在Launchpad中,你可以为莫尔斯编码的按键选个舒适的按键)
-2节AA电池(你可能想为74HC240使用一个单独的6V(4AA)供电)
-1m 电线(9 AWG标准)
工具
-烙铁
-焊锡
-剥线器
-无焊面包板或条状铜箔面包板
-TI的Launchpad
-mini-usb线
第二步:硬件及电路图
正如你从原理图上看得到的,单片机被用来给莫尔斯的开-关切换的。
将振荡输出到八路缓冲器;然后将放大的信号通过长导线天线传输。
LED1将显示操作模式(串行或手动),LED2将表明该设备是否在发送。
当第一次按动按键开关,设备将进入手动模式:接着在按键将作为普通的莫尔斯编码键发送莫尔斯代码
如果要返回到串行模式,只需按下RST按键。
您可以很容易的使用面包版和Launchpad建立一个莫尔斯发射器(尽管它可能显得太杂乱)。

正如你从照片可以看到,我已经在一个Launchpad上粗略的完成了他,但我今后会专门制作一张PCB。
步骤3:软件
程序会一遍一遍的发送编码,直到UART接收到数据,然后将接收到的数据编码成莫尔斯编码,将点和线的组合加载到输出引脚上,最后返回数据
代码已经有非常清晰的注释,所以你应该不难理解它。
而当我需要建立一个莫尔斯码表的时候困难来了,因为没有已知的算法,能够直接将串行输入的内容直接译成莫尔斯编码。为了适应G2231上面512字节的RAM 我不得不用一些点和线的组合定义,。
史海拾趣
|
1、电子技术资料尽量看西方英文原版的 理由:电子技术发源于西方,那边的人对许多电路问题有很深的认识,研究的很细,条理很清晰,对产品开发的指导性强。尽管国内也有人在研究,但有真正指导生产意义的刊物太少,市面上 ...… 查看全部问答> |
|
COMSTAT ComStat ClearCommError(m_hCom,&dwErrorFlags,&ComStat); 这个函数用于清除硬件错误和获取状态(我是的重叠操作) 我WriteFile后,ReadFile前怎么这个结构的cboutbuf永远是0,为什么不是我写入的字节 单步调试N此不知为何?恭请高手解 ...… 查看全部问答> |
|
这是初始化的一段代码,我初始化后,再往芯片发送随机数就不成功,我怀疑是初始化后熔断了熔丝造成的, 熔丝代码: ucData[0]= (uchar)CM_FAB; ucReturn = cm_BurnFuse(ucData[0]); i ...… 查看全部问答> |
|
cmd文件内一段代码如下: _EVENT72 = EVENT72;_EVENT73 = EVENT73;_EVENT74 = EVENT74;_EVENT75 = EVENT75;_EVENT76 = EVENT76;_EVENT77 = EVENT77;_EVENT78 = EVENT78; CCS 4内,debug运行后报错: absolute symbol \"_EVENT72\" being ...… 查看全部问答> |
|
stm8与51核变量定义区域比较: 1)idata与@tiny: 熟悉51核的都知道,idata是定义内部ram地址的,而stm8的@tin ...… 查看全部问答> |




