飞思卡尔单片机编程 下载本文

相反,如果在PLACEMENT-END部分没有声明“SSTACK INTO RAM”,则堆栈被分配在RAM区域中已分配空间的后面。请参见例6。 例6

SEGMENTS

……

RAM = READ_WRITE DATA_NEAR 0x2000 TO 0x3FFF;

?? END

PLACEMENT

??

PAGED_RAM, DEFAULT_RAM INTO RAM; ?? END

STACKSIZE 0x100

在这个例子中,如果RAM区域中已经分配的变量占用了4个字节(从0x2000到0x2003),则堆栈放在这四个字节的后面,从0x2103到0x2004,初始的堆栈指针指向0x2103。

STACKYOP命令方式:

当使用STACKTOP命令方式时,如果在PLACEMENT-END部分声明了“SSTACK INTO RAM”,同样,堆栈区就被放在RAM区域的起始部分,初始的栈顶则由STACKTOP指定。若没有相应的声明,则初始的栈顶由STACKTOP指定,而堆栈的大小则根据处理器的不同由编译器自

行设定,其大小足够装下处理器的PC寄存器的值

本文来自CSDN博客,转载请http://blog.csdn.net/lyh4567169/archive/2010/04/27/5533761.aspx

举例分析“自举电路”如何增大电路的输入阻抗

举例分析“自举电路”如何增大电路的输入阻抗

在电路设计过程中,常常可以利用自举电容构成的自举电路来改善电路的一些性能指标,比如增大电路的输入阻抗、提高电路的增益以及扩大电路的动态范围等等,在这里,我举一个自举电路的例子来详细说明它是如何增大电路的输入阻抗的。

首先,show一个很普通的原理图如下,

在上图中,为了使得运放在静态时能够正常工作,必须得在同相输入端与地之间加上一定阻值的电阻。经过简单分析可知这里引入的是一个电压串联负反馈,熟悉运放工作原理的人一眼就可以看出这个电路的输入电阻为:

很显然,这样的输入电阻相对而言实在过小,图中放大电路因此从信号源索取的电流就会相应很大,信号源内阻的压降随之增大,信号电压损失自然也就越大。所以,我们得想办法把它的输入电阻给提高一下,这时,我们可以设置一个自举电路的形式来有效的解决这个问题,解决办法如下图所示:

仅仅多加入了一个电容器,这个电路的输入电阻就“今非昔比”了。利用瞬时极性法可以判断出,电路中除了通过R4接反向输入端引入一个负反馈外,还通过R1接同相输入端而引入了一个正反馈,此时,R2和R3两个电阻并联在一起了。需要说明的是,这里电容(C1、C2)的选取值是比较大的,它们相对于交流信号来说相当于短路。正反馈的结果使得输入端的动态电位随之升高,也就是这种通过反馈使得输入端的动态电位升高的电路,称之为“自举电路”。

由于电容器C2很好的“通交隔直”特性,使得R1两端的压降即为(uP-uN),此时通过电阻R1的电流为:

我们再来看看这个电路的输入电阻情况,可得出如下方程式:

显而易见,对于该运放来说,由于电路中引入了深度负反馈,因此uP、uN几乎是相等的,那么Ri就会趋于极大值了,输入电阻也就得到了大幅度地提高,该电路的性能指标也因此得到了良好的改善。

本文结论:由此分析可知,在阻容耦合放大电路中,常常可以在引入负反馈的同时,引入合适的正反馈,以此提高电路的输入阻抗,来有效改善电路的性能指标。

头文件由三部分内容组成:

①头文件开头处的版权和版本声明(版权信息、文件名称,标识符,摘要、当前版本号,作者/修改者,完成日期、版本历史信息。)。

②预处理块。

③函数和类结构声明等。 注意:

? 为了防止头文件被重复引用,应当用ifndef/define/endif 结构产生预

处理块。

? 用#include 格式来引用标准库的头文件(编译器将从标准库目录开始搜

索)。

? 用#include “filename.h” 格式来引用非标准库的头文件(编译器将从

用户的工作目录开始搜索)。

? 头文件中只存放“声明”而不存放“定义”。 ㈡、头文件的作用

早期的编程语言如Basic、Fortran 没有头文件的概念,C++/C 语言的初学者虽然会使用头文件,但常常不明其理。这里对头文件的作用略作解释:

①通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。

②头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

基于飞思卡尔xs128单片机的简单定时中断(PIT)

电子制作 2009-10-08 21:47:40 阅读1129 评论13 字号:大中小

刚开始接触这款单片机,由于看的书基本上都是以dg128为原型来讲解的,故很多东西都是按照dg128的情况来移植到xs128上的,导致出了很多错误。像定时器模块这部分,查了很多资料,最后发现xs128没有dg128所具有的MDC模数计数器模块,相对应的是定时模块PIT,然后在网上疯狂的找了很多资料,总结下来,自己花了一晚上弄了个最最简单的定时中断程序,实现1秒钟LED灯的闪烁。