设在字节变量ASCHEX中存放着一个用ASCII码表示的16进制数字,先要将它转换成控制数码管显示的7段代码, 并存入RESULT单元(字节变量)。试编出完成这一任务的程序
上传时间: 2017-09-12
上传用户:tyler
用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码的收发技术除了持之以恒的毅力外,还需要相关的设备。设计本电路的目的就是给爱好者提供一个实用和训练的工具。 一、功能简介 本电路可以配合自动键体和手动键体,产生莫尔斯码控制信号,设有16种速度,从初学者到操作高手都能适用。监听音调也有16种,均可以通过功能键进行选择。可以按程序中设定好的呼号自动呼叫,设有听抄练习功能,听抄练习有短码和混合码两种模式,分别对10个数字和常用的38个混合码模拟随机取样,产生分组报码,供爱好者提高抄收水平之用,速度低4档的听抄练习是专为初学者所设,内容是时间间隔较长的单字符。设有PTT开关键,可以决定是否控制发射机工作,不需要反复通断控制线。无论当前处于呼叫状态还是听抄状态只要电键接点接通则自动转到人工发报程序。4分钟内不使用电路将自动关闭电源,只有按复位键才能重新开始工作。先按住听抄练习键复位则进入短码练习状态,其它功能不变。从开机到自动关机执行每个功能都有不同的莫尔斯码提示音。本电路具有较强的抗高低频干扰的能力和使用方便的大电流开关接口,以适应不同的发射设备。 二、硬件电路原理硬件电路如图1所示。设计电路的目的在于方便实用,以免在紧张的操作中失误,所以除了听抄练习键外其它键没有定义复用功能。各键的作用在图中已经标出。PTT控制在每次复位时处于关闭状态,每按动一次PTT功能键则改变一次状态,这样可以使用软件开关控制发射。 PTT处于控制状态时发光二极管随控制信号闪亮。考虑到自制设备及淘汰军用设备与高档设备控制电流的不同,PTT开关管采用了2SC2073,可以承受500mA的电流,同时还增加了无极性PTT开关电路,无论外部被控制的端口直流极性如何加到VT3的极性始终不变,供有兴趣的爱好者实验。应该注意,如果被控制的负载是感性,则电感两端必须并联续流二极管,除自制设备外成品机在这方面一般没有什么问题。手动键只有一个接点,接通后产生连续的音频和发射控制信号。在本电路中手动键的输入端是P1.5 ,程序不断检测P1.5电平,当按键按下时P1.5电平为0,程序转入手动键子程序。 自动键的接点分别接到P1.3和P1.4 ,同样当程序检测到有接点闭合时便自动产生“点”或“划”。音频信号从P输出,经VT1放大后推动扬声器发音。单片机的I/O口在输入状态下阻抗较高,容易受到高低频信号干扰,所以在每个输入端口和三极管的be端并联电阻和高频旁路电容,确保在较长的电键连线和大功率发射时电路工作稳定。图2是印刷电路版图,尺寸为110mmX85mm,扬声器用粘合剂直接粘接在电路版有铜箔的面。 三、软件设计方法 “点”时间长度是莫尔斯电码中的基本时间单位。按规定“划”的时间长度不小于三个“点”,同字符中“点”与“划”的间隔不小于一个“点”,字符之间不小于一个“划”,词与词之间不应小于五个“点”。在本程序中用条件转移指令来产生“点”时间长度。通过速度功能键功可以设置16种延时参数。用T0中断产生监听音频信号,并将中断设为优先级,保证在听觉上纯正悦耳。T1用于自动关机计时,如果不使用任何功能四分钟后将向PCON 位写1,单片机进入休眠状态,此时耗电量仅有几个微安。自动键的“点”或“划”以及手动键的连续发音都是子程序的反复调用。P1.2对地短接时自动呼叫可设定为另一内容。为了便于熟悉汇编语言的读者对发音内容进行修改,这里介绍发音字符的编码方法。莫尔斯码的信息与计算机中二进制恰好相同,我们可以用0表示“点”,用1表示“划”。提示音、自动呼叫、听抄内容等字符是预先按一定编码方式存储在程序中的常数。每个字符的莫尔斯码一般是由1至6位“点”、“划”组成,也就是发音次数最多6次。程序中每个字符占用1个字节,字符时间间隔不占用字节,但更长的延时或发音结束信息占用一个字节。我们用字节的低三位表示字节的性质,对于5次及5次以下发音的字符我们用存储器的高5位存储发音信息,发音顺序由高位至低位,用低3位存储发音次数,发音时将数据送入累加器A,先得到发音次数,然后使A左环移,对E0进行位寻址,判断是发“点”还是“划”,环移次数由发音次数决定。对于6次发音的字符不能完全按照上述编码规则,否则会出现信息重叠,如果是6次发音且最后一次是“划”我们把发音次数定义为111B,因为这时第6次位寻址得到的是1。如果第6次发音是“点”,那么这个字符的低三位定义为000B。字符间隔时间由程序自动产生,更长的时间隔或结束标志由字节低三位110B来定义,高半字节表示字符间隔的倍数,例如26H表示再加两倍时间间隔。如果字节为06H则表示读字符程序结束,返回主程序。更详细的内容不再赘述,读者可阅读源程序。四、使用注意事项手动键的操作难度相对大一些,时间节拍全由人掌握,其特点是发出的电码带有“人情味”。自动键的“点”、“划”靠电路产生,发音标准,容易操作,而且可以达到相当快的速度,长时间工作也不易疲劳。在干扰较大、信号微弱的条件下自动键码的辨别程度好于手动键码。初学者初次使用手动键练习发报要有老师指导,且不可我行我素,一旦养成不正确的手法则很难纠正。在电台上时常听到一些让对方难以抄收的电码,这可能会使对方反感而拒绝回答。使用自动键也应在一定的听抄基础上再去练习。在暂时找不老师的情况下可多练习听力,这对于今后能够发出标准正确的电码非常有益。
上传时间: 2013-10-31
上传用户:sdq_123
一个通用的24C01-24C256共9种EEPROM的字节读写操作程序,此程序有五个入口条件,分别为读写数据缓冲区指针,进行读写的字节数,EEPROM首址,EEPROM控制字节,以及EEPROM类型。此程序结构性良好,具有极好的容错性,程序机器码也不多
上传时间: 2013-12-17
上传用户:003030
8051核的DES源代码 使用C语言写的基于51核的DES原码,变量定义使用汇编。占用了130字节RAM,比我所见到的包括汇编编写的都要快。
上传时间: 2013-12-25
上传用户:zhouchang199
LRC校验函数说明及程序源码, 错误校验用于 ASCII 模式。这个错误校验码是一个 8 位二进制数,可作为 2 个 ASCII 十六进制字节传送。计算 LRC 码时,仅设备地址、功能代码、数据块字节参加
上传时间: 2014-10-28
上传用户:zyt
ucosII 2.84版源码,在S3C44B0上的移植。必须用RVDS2.2开发环境,因为移植的汇编代码针对RVDS2.2做了堆栈8字节对齐的修正。
上传时间: 2014-01-23
上传用户:kytqcool
名字:wqh.exe 类型:感染性 是否加壳:是 壳型:UPX 大小:9.50 KB (9,728 字节) 版本:v1.0 原理:用API函数写的感染性病毒 。 说明:本病毒可以感染全盘exe文件。 清除程序是cq.exe,感染后运行不了exe类型。把cq.exe和cq.bat放到硬盘主目录。如:c:\ d:\ e:一个即可。运行cq.bat即可解除感染。 by 海的浪花 联系源码 QQ:283771780 hacker-hacekrs@163.com
上传时间: 2016-02-02
上传用户:dapangxie
定点十进制数转为二进制浮点操作数 入口:定点十进制整数在 R1,R2,R3中,其中R1为高字节 [如1: R1=00H,R2=00H,R3=01H] 定点十进制小数在 R4,R5,R6,R7中,其中R4为高位字 [如0.1: R4=10H,R5=00H,R6=00H,R7=00H] 数符为7BH位,0表正,1表负 出口: R4,R5,R6,R7.其中R4为阶码,R5,R6,R7为尾数
上传时间: 2014-12-22
上传用户:GavinNeko
UDP安全传输(完整源码) 1、自动分包组包 2、支持一次性发送任意大小的包 3、支持安全控制 4、根据丢包率和网速度动态控制发包速度(因时间的局限此功能未很好的实现) 5、对于用户透明的接口(开发人员不用关心实现细节可以和使用其它UDP控件一样简单的使用本类) 接口的简单说明,使用本类很简单 当想要发送大数据包或者具有安全控制的数据包就使用方法 SafeSendBuff 即可:) 当然接收方必须使用本类(即服务端。因为偶需要自动处理分包、组包、重发等细节) 给事件成员OnDataCase付值即可该事件是接收到数据时触发 具体使用方法请见演示程序 DemoClient.exe 为接收窗体 DemoServer.exe 为发送窗体 发送202575字节的东西需要3秒时间
上传时间: 2016-04-04
上传用户:change0329
点阵汉字显示软件, 源码 当前针式打印机采用24针进行字符打印,字符点阵采用24×24的排列方式,用72个字节来保存。将所有字符的点阵数据按一定的秩序排列在一起就形成了点阵字库。为了对字库中所保存的字模进行可视化浏览,以设计出更好的打印方式,特设计一个点阵汉字显示工具。
上传时间: 2016-04-24
上传用户:xfbs821