单片机仿真软件
标签: 单片机仿真软件
上传时间: 2013-10-30
上传用户:zhoujunzhen
用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码的收发技术除了持之以恒的毅力外,还需要相关的设备。设计本电路的目的就是给爱好者提供一个实用和训练的工具。 一、功能简介 本电路可以配合自动键体和手动键体,产生莫尔斯码控制信号,设有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
单片机系统软件抗干扰方法:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是: 消除模拟输入信号的嗓声(如数字滤波技术); 程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。1.1 指令冗余CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。1.2 拦截技术所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。1.2.1 软件陷阱的设计当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱:
上传时间: 2013-10-29
上传用户:大三三
新颖实用的单片机双积分A/D转换电路和软件:摘 要: 通过对双积分A/ D 转换过程及其原理的分析,结合8031 单片机定时计数器的特点,设计出一种新的A/ D 转换电路. 详细介绍了这种转换电路的硬件原理及工作过程,给出了实用的硬件电路与软件设计框图. 通过比较分析,可以看出这种A/ D 转换电路性能价格比较高,软件编程简单,并且转换速度和精度优于一般的A/ D 转换电路. 这种设计思路为数模转换器(A/ D) 的升级提高指出一个明确的方向.关键词:单片机; 定时/ 计数器; A/ D 转换; 双积分 双积分A/ D 及定时计数器原理:我们先分析双积分A/ D 转换的工作原理. 如图1 所示,积分器先以固定时间T 对待测的输入模拟电压Vi 进行正向积分,积分电容C 积累的电荷为
上传时间: 2014-01-18
上传用户:hewenzhi
单片机系统常用软件抗干扰措施:可靠性设计是一项系统工程,单片机系统的可靠性必须从软件、硬件以及结构设计等方面全面考虑。硬件系统的可靠性设计是单片机系统可靠性的根本,而软件系统的可靠性设计起到抑制外来干扰的作用。软件系统的可靠性设计的主要方法有:开机自检、软件陷阱(进行程序“跑飞”检测)、设置程序运行状态标记、输出端口刷新、输入多次采样、软件“看门狗”等。通过软件系统的可靠性设计,达到最大限度地降低干扰对系统工作的影响,确保单片机及时发现因干扰导致程序出现的错误,并使系统恢复到正常工作状态或及时报警的目的。一、开机自检开机后首先对单片机系统的硬件及软件状态进行检测,一旦发现不正常,就进行相应的处理。开机自检程序通常包括对RAM、ROM、I/O口状态等的检测。1 检测RAM检查RAM读写是否正常,实际操作是向RAM单元写“00H”,读出也应为“00H”,再向其写“FFH”,读出也应为“FFH”。如果RAM单元读写出错,应给出RAM出错提示(声光或其它形式),等待处理。2 检查ROM单元的内容对ROM单元的检测主要是检查ROM单元的内容的校验和。所谓ROM的校验和是将ROM的内容逐一相加后得到一个数值,该值便称校验和。ROM单元存储的是程序、常数和表格。一旦程序编写完成,ROM中的内容就确定了,其校验和也就是唯一的。若ROM校验和出错,应给出ROM出错提示(声光或其它形式),等待处理。3 检查I/O口状态首先确定系统的I/O口在待机状态应处的状态,然后检测单片机的I/O口在待机状态下的状态是否正常(如是否有短路或开路现象等)。若不正常,应给出出错提示(声光或其它形式),等待处理。4 其它接口电路检测除了对上述单片机内部资源进行检测外,对系统中的其它接口电路,比如扩展的E2PROM、A/D转换电路等,又如数字测温仪中的555单稳测温电路,均应通过软件进行检测,确定是否有故障。只有各项检查均正常,程序方能继续执行,否则应提示出错。
上传时间: 2013-11-02
上传用户:名爵少年
MCS51系列单片机软件控制复位的可靠方法:文章指出了一种广泛流传的误解:在MCS-51系列单片机中,只要用指令使程序从起始地址开始执行,就可以复位单片机,摆脱干扰。通过实验,揭示了软件控制复位的可靠方法。有的单片机(如8098)有专门的复位指令,某些增强型MCS-51系统单片机虽然没有复位指令,但片内集成了WATCHDOG电路,故抗干扰也不成问题。而普及型MCS-51系列单片机(如8031和8032)既然无复位指令,又不带硬件WATCHDOS,如果没有外接硬件WATCHDOG电路,就必须采用软件抗干扰技术。常用的软件抗干扰技术有:软件陷阱、指令冗余、软件WATCHDOG等,它们的作用是在系统受干扰时能及时发现,再用软件的方法使系统复位。所谓软件复位就是用一系列指令来模仿复位操作,这就是MCS-51系列单片机所特有的软件复位技术。现用一简单的实验说明。接于P1.0的发光二极管LED0用来表示主程序的工作情况,接于P1.1的发光二极管LED1用于表示低级中断子程序的工作情况,接于P1.2的发光二极管LED2用来表示高级中断子程序的工作情况,接于P3.2口的按钮用来设立干扰标志,程序检测到干扰标志后故意进入死循环或掉进陷井,模仿受干扰的情况,从而检验各种复位方法的实际效果。实验初始化程序如下:
上传时间: 2013-11-03
上传用户:sevenbestfei
KEIL C51开发软件操作使用视频教程
上传时间: 2013-10-16
上传用户:哇哇哇哇哇
随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C语言为主,市场上几种常见的单片机均有其C语言开发环境。这里以最为流行的80C51单片机为例来学习单片机的C语言编程技术。大家都有C语言基础,但是编单片机程序,大家还得找专门的书来学习一下。这里我们只介绍Keil这种工具软件的用法。学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(µVision)将这些部份组合在一起。下面我以一个实验举一个例子,一步一步学习Keil软件的使用。 首先我们看硬件原理图: 很明显,要点亮使发光二极管,必须使单片机的I/O口P1.0输出低电平。于是我们的任务就是编程序使P1.0输出地电平。1. 使用Keil前必须先安装。安装过程简单,这里不在叙述。2. 安装好了Keil软件以后,我们打开它。打开以后界面如下:
上传时间: 2013-11-07
上传用户:wtrl
ICCAVR软件中文使用说明书:一ImageCraft 的ICC AVR 编译器安装1 运行光盘上的SETUP.EXE 程序进行安装方法一a 打开我的电脑b 打开光盘驱动器所对应的盘符c 双击光盘中文件SETUP.EXE 的图标d 按照屏幕提示选定一个安装路径后进行安装方法二a 在开始菜单中选择运行项目b 在运行对话框中填入drive:\setup.exe注意drive 对应你的机器中的光盘驱动器盘符c 按确定键开始安装d 其余同方法一注意按上述方法进行安装后得到的是一个只可以使用30 天的未注册版对正式版用户还要进行第二步的注册才可得到一个无时间限制的正式版ICC AVR 正式版分标准版和专业版在标准版中有一些功能限制如代码的压缩工程和文件的配置检查在标准版中不可以使用
上传时间: 2013-10-23
上传用户:hwl453472107
MCS51_timer软件说明:快速计算MCS51系列单片机定时器时间常数。
上传时间: 2013-10-12
上传用户:whymatalab2