当多个同级别中断同时发出中断请求时,单片机中断系统将按照自然优先级别进行中断排序,并首先响应其中自然优先级别最高的中断。
在单片机与外部设备(简称外设)的数据传送过程中,单片机处于核心地位,所谓的数据输入和输出都是相对单片机而言。数据由外设传送至单片机,为“输入”,反之为“输出”。通常,单片机与外设的数据传送速度差别较大,因此,选择恰当的数据传送时间和传送时间间隔,是保证数据正确传送的关键。在单片机系统中,有三种解决该问题的方法,即程序控制传送、中断式传送和DMA传送。
逻辑运算可以分成字节逻辑运算和位逻辑运算两大类,其指令格式见表3-8。当逻辑运算指令的目的操作数是累加器A、程序状态字寄存器PSW或进位标志位CY时,PSW会受到影响,否则PSW不受影响。
(片内RAM)传送指令MOV(Move)把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。可以实现立即数到通用寄存器或主存的传送,通用寄存器与通用寄存器、主存或段寄存器之间的传送,主存与段寄存器之间的传送。该操作属于复制性质,不属于搬家性质。
在指令“MOV A,#12H”中,立即数#12H是源操作数,紧随操作码74H之后存放在ROM中。该指令执行时,单片机先从ROM中读取操作码74H,对操作码74H解码后,确定要进行的操作是将一个8位立即数送入累加器A,接下来单片机从紧邻操作码的下一个存储单元中取得立即数12H并送入累加器A。另外,该指令的目的操作数累加器A隐含在操作码中,没有明确给出。
单片机由中央处理器(含部分特殊功能寄存器)、内部RAM、程序存储器、各种外设(IO端口、定时器、串行接口、中断处理电路等等)及对应控制寄存器、时钟电路、复位电路等几部分组成。
中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。
Philips公司生产的与MCS 51单片机兼容的CMOS型单片机中,8XC552的功能最强,最具有代表性。它除了具有8051单片机的全部功能之外,又增加了大量的硬件:高速I/O、PWM、A/D、WDT、计数器的捕获/比较逻辑、串行总线I2CBUS等都集成在片内。
中断服务处理子程序可简称为中断服务处理程序或中断程序,用于处理单片机的中断事件,只能被单片机硬件调用执行,而不能通过子程序调用指令(ACALL或LCALL)调用执行。中断服务处理程序只能通过RETI指令返回。
AT89C系列与MCS 51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片(AT89C2051/1051),使整个硬件电路的体积更小。
前面列举的各项措施只解决了如何发现系统受到干扰和如何捕捉“跑飞”的程序,但仅此还不够,还要能够让单片机根据被破坏的残留信息自动恢复到正常的工作状态。硬件复位是使单片机重新恢复正常工作状态的一个简单有效的方法。硬件复位后CPU被重新初始化,所有被激活的中断标志都被清除,程序从0000H地址重新开始执行。
前面几项抗干扰措施都是针对I/O通道而言的。若干扰信号还未作用到CPU本身,则CPU还能正确地执行各种抗干扰程序;若干扰信号已经通过某种途径作用到CPU上,则CPU就不能按正常状态执行程序,从而引起混乱,这就是通常所说的程序“跑飞”。程序“跑飞”后使其恢复正常最简单的方法是让CPU复位,让程序从头开始重新运行。这种方法虽然简单,但需要人的参与,而且复位不及时。人工复位一般是在整个系统已经瘫痪,无计可施的情况下才不得已而为之的。因此在进行软件设计时就要考虑到万一程序“跑
由于数字量输入过程中干扰的作用时间较短,因此在采集数字信号时,可多次重复采集,直到若干次采样结果一致时,才认为其有效。例如通过A/D转换器测量各种模拟量时,如果有干扰作用于模拟信号上,就会使A/D转换结果偏离真实值。这时如果只采样一次A/D转换结果,就无法知道其是否真实可靠,而必须进行多次采样,得到一个A/D转换结果的数据系列,对这些数据系列进行各种数字滤波处理,最后才能得到一个可信度较高的结果值。
8XC51系列单片机是Intel公司生产的8位增强型单片机,它是以80C51为核心的一种8位微控制器,也是一种面向事件控制应用的优选芯片,它与现有MCS 51系列单片机的指令系统兼容,下面以8XC51GB为代表对8XC51系列单片机作一简要阐述。
开关量输入/输出通道和模拟量输入/输出通道,都是干扰窜入的渠道,要切断这些渠道,就要去掉外部与输入/输出通道之间的公共地线,实现彼此电气隔离以抑制干扰脉冲。最常用的隔离器是光电耦合器,其内部结构 图 9.5(a), 图 9.5(b) 为接入光电耦合器的数字电路。
从事单片机应用的开发人员都有过这样的经历:将调试好的样机投入现场进行实际运行时,总会出现这样或那样的问题。有的一开机就失灵,有的时好时坏,让人不知所措。为什么实验室能正常工作,到了现场就有问题呢? 主要原因是系统没有采取抗干扰措施,或措施不力。为此,本文专门介绍单片机应用系统的抗干扰技术,以增强产品在实际环境中的生存能力。
单片机以其体积小、重量轻、价格低及功能强等特点得到了广泛的应用,但单片机上一般仅集成 CPU 、RAM 和 I/O 接口,而无用户接口 (键盘和显示器) 及监控程序,因而单片机自身无编程功能,必须依赖单片机开发工具(又称单片机仿真器)。单片机开发工具有输入程序、编辑程序和调试程序的功能,目前国内使用较多的有 WAVE 、KeilC、MedWin 等,在此就 WAVE 仿真器作一简介。
共模干扰指的是干扰电压在信号线及其回线(一般称为信号地线)上的幅度相同,这里的电压以附近任何一个物体(大地、金属机箱、参考地线板等)为参考电位,干扰电流回路则是在导线与参考物体构成的回路中流动。
单片机应用系统的设计与开发主要包括五部分内容:方案论证,硬件系统的设计,系统软件的设计,系统仿真调试和脱机运行。各部分详细内容如图 8.1 所示。
D/A 转换器的输入为数字量,经转换后输出为模拟量。有关 D/A 转换器的技术性能指标很多,如绝对精度、相对精度、线性度、输出电压范围、输入数字代码种类等等。本节仅对几个与接口有关的指标作一简介。