4.1 编程的步骤、方法和技巧4.1.2 编程的方法和技巧 4.1.3 汇编语言程序的基本结构 4.2 汇编语言源程序的编辑和汇编 4.2.1 源程序编辑 4.2.2 源程序的汇编 4.2.3 伪指令 计算机在完成一项工作时,必须按顺序执行各种操作。这些操作是程序设计人员用计算机所能接受的语言把解决问题的步骤事先描述好的,也就是事先编好计算机程序,再由计算机去执行。汇编语言程序设计,要求设计人员对单片机的硬件结构有较详细的了解。编程时,对数据的存放、寄存器和工作单元的使用等要由设计者安排;而高语言程序设计时,这些工作是由计算机软件完成的,程序设计人员不必考虑。 4.1.1 编程步骤 一、分析问题 首先,要对需要解决的问题进行分析,以求对问题有正确的理解。例如,解决问题的任务是什么?工作过程是什么?现有的条件,已知的数据,对运算的精确和速度方面的要求是什么?设计的硬件结构是否方便编程等等。 二、确定算法 算法就是如何将实际问题转化成程序模块来处理。 解决一个问题,常常有几种可选择的方法。从数学角度来描述,可能有几种不同的算法。在编制程序以前,先要对不同的算法进行分析、比较,找出最适宜的算法。 ? 三、画程序流程图 程序流程图是使用各种图形、符号、有向线段等来说明程序设计过程的一种直观的表示,常采用以下图形及符号:椭圆框( )或桶行框( )表示程序的开始或结束。 矩形框( )表示要进行的工作。 菱形框( )表示要判断的事情,菱形框内的表达式表示要判断的内容。 圆圈( )表示连接点。 指向线(→)表示程序的流向。 流程图步骤分得越细致,编写程序时也就越方便。
上传时间: 2013-10-10
上传用户:18888888888
SPMC75低功耗操作:本应用例介绍如何设置使SPMC75F2413A进入节电模式。1.2 模式简介SPMC75F2413A有标准模式和两种节电模式(等待模式和就绪模式),相应功能如下: 标准模式(Normal)芯片在标准模式下运行耗电最大,所有的外设都可用。 等待模式(Wait)等待模式下,只有CPU掉电停止工作以降低功耗。其它外设保持着先前的状态并且功能可用。一旦唤醒,CPU将继续工作,执行接下去的指令。 就绪模式(Standby)就绪模式下所有的模块都变为无效,此时功耗达到最小。唤醒后,CPU复位并回到标准运行模式。其它外设可以通过软件分别设置关闭。就绪模式下所有功能都会关闭,只有系统时钟仍在工作。如果按键唤醒功能为有效,这两种模式都可以通过按键唤醒。具体唤醒源的分类及唤醒功能的介绍请参考《SPMC75F2413A编程指南》。【注意】如果MCP定时器3或定时器4已经处于PWM输出模式时,芯片不会进入等待或就绪模式。同样在仿真模式下也无法进入等待或就绪模式。
上传时间: 2013-11-20
上传用户:ming52900
如何使用高级触发测量程序跑飞:LA系列逻辑分析仪内部集成了32位的定时器、32位的计数器和高速比较模块,高效的使用以上模块资源可以使您的测量事半功倍。逻辑分析仪在实际应用中主要作用有:1.观察波形,看看测量波形中是否存在毛刺、干扰、频率是否正确等;2.时序测量,对被测信号进行时序校对,看看操作时序是否符合要求。3.辅助分析,利用逻辑分析仪完善的协议分析功能来进行辅助分析;4.查错功能,利用逻辑分析仪强大的触发功能来进行错误捕获。当单片机的PC值(程序计数器)对没有程序的地方进行取指时,称为程序跑飞。程序跑飞的原因有多种,主要有以下原因:1) 客观原因:单片机受到外界强干扰造成PC值寄存器改变;2)程序Bug:用户程序调用函数指针,对非程序空间进行对用。以80C51单片机为例子,当程序跑到非用户程序区时,单片机使用PSEN对外部程序进行取指,使用逻辑分析仪可以设置触发条件,当使用PSEN对外部程序进行取指时进行记录,把出错情况前后的状态记录下来进行分析,查找出错原因。如80C51的取指范围正确为0x0000~0x3fff,则当对0x3fff以上地址进行取指时为程序跑飞。分析80C51对外部程序取指的时序,如图1所示。
上传时间: 2013-10-11
上传用户:panpanpan
如何导入ASM文件到工程(视频教程)
上传时间: 2013-10-22
上传用户:胡萝卜酱
用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码的收发技术除了持之以恒的毅力外,还需要相关的设备。设计本电路的目的就是给爱好者提供一个实用和训练的工具。 一、功能简介 本电路可以配合自动键体和手动键体,产生莫尔斯码控制信号,设有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
RS-485的传输线如何合理屏蔽为了减少电磁耦合,防止大的共模干扰损坏器件,传输线最好加屏蔽。屏蔽接法如下,其中电容为几μF。
上传时间: 2013-10-15
上传用户:momofiona
如何开始DSP的开发
标签: DSP
上传时间: 2013-10-15
上传用户:zhengjian
如何写好状态机
标签: 状态
上传时间: 2013-10-31
上传用户:YYRR
教你如何把UCos-ii_在STM32上的移植
上传时间: 2013-10-22
上传用户:sz_hjbf
菜鸟如何学习嵌入式【附推荐书籍及学习视频】
上传时间: 2013-11-12
上传用户:hopy