C8051 F04X 系列单片机中文手册_第1页
C8051 F04X 系列单片机中文手册_第2页
C8051 F04X 系列单片机中文手册_第3页
C8051 F04X 系列单片机中文手册_第4页
C8051 F04X 系列单片机中文手册_第5页
已阅读5页,还剩258页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c8051f04x中文手册1. 系统概论 c8051 f04x 系列单片机是集成在一块芯片上的混合信号系统级单片机,分64个i/o端口管脚(如c8051f040/2)或者32个i/o端口管脚(如c8051f041/3)两类,同时有一个can2.0b 集成控制器。其最突出的特征见下表,涉及的主要设备特征在1.1中详解。. 25mips高速流水线式cip-51控制器内核. can2.0b 控制对应的有32个信息对象,且每一个都有它自己的屏蔽位. 在系统,全速,非插入式调试接口. 有12位的adc(c8051f040/1)或10位的adc(c8051f042/3),带有pga和模拟复用开关. 对于1

2、2位的adc(峰峰值为60伏)的高压差分放大输入可通过编程得到. 有8位的多通道dac,带有pga和模拟复用开关. 有两个12位dac,通过编程更新时序. 64kb的可编程flash存储器. ram可存储4352(4096+256)字节. 外部内存接口可寻址64k字节. spi,smbus/i2c和(2)uart串行接口通过硬件实现. 5个16位通用定时器. 可编程计数/定时阵列有6个捕捉/比较模块. 片内有看门狗定时器,vdd监视器,温度传感器由于有片内vdd监视器,看门狗定时器和时钟震荡器,c8051f04x系列单片机称得上是真正独立的片上系统。通过使用软件可以用程序很好的管理模拟和数字外

3、设flash存储器甚至还有在系统重新编程能力,可提供非易失数据存储,并允许现场更新8051程序。片内jtag调试支持功能允许对安装在最终应用系统上的单片机进行非侵入失式(不占用片内资源),全速在系统调试。该调试系统支持和修改存储器和寄存器,支持断点,观察点,单步及运行和停机命令。在使用jtag调试时所有的模拟和数字外设都可全功能运行。每个单片机都可在工业温度范围-45-+85 内采用 2.7伏到3.6v 的工作电压,端口i/o,/rst和jtam引脚允许5v的输入信号电压。c8051f040/2为100脚封装,c8051f041/3为64脚tqfp封装(原理框图见图1.1和图1.2)。1.1

4、cip-51 cpu 1.1.1. 8051完全兼容c8051 f04x 系列单片机使用cygnal的专利:cip-51微控制器内核cip-51。cip-51与mcs-51的指令完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。它的内核具有标准8052的所有外设部件,包括个16位的计数器/定时器,一个全双工uart,256b内部ram空间,128b特殊功能寄存器sfr地址空间及8/4b宽i/o端口。1.1.2. 全面改进部分cip-51采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。在标准的8051中,出mul和div以外,所有指令都需要12或24个系统

5、时钟周期,最大系统时钟频率为12-24mhz。而对于cip-51内核,70的指令执行时间位1或2系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。cip-51 共有109条指令,下表列出了指令条数和执行时间时所需的系统时钟周期数的关系执行周期数 1 2 2/3 3 3/4 4 4/5 5 8 指令 26 50 5 14 7 3 1 2 1cip-51工作在最大系统时钟频率25mhz时,它的峰值速度达到25mips。图1-3给出的8位控制器内核工作在最大系统时钟时的峰值速度的比较关系。1.1.3. 改进特点 c8051f04x系列单片机在cip-52内核的内部和外部有几项关键性改进,提高

6、了整体性能,更易于在实际中使用。 扩展的中断系统为cip-51提供20个中断源(标准的8051只有7个中断源),cip-51允许大量的模拟和数字外设中断微控制器。由中断驱动的系统需要较少的单片机干预。但有更高的执行频率。在设计多任务实时系统时,这些新增加的中断源是非常有用的。 单片机可有7个中断源:1个片内vdd监视器,1个看门狗定时器(wdt),1个时钟丢失检测器,1个比较器0提供的电压检测器,1个强制软件复位,cnvstr0输入引脚及/rst引脚。/rst引脚是双向的,可接受外部复位或由内部产生的上电复位信号输出到/rst引脚。除了vdd监视器和复位输出引脚以外,每个复位源都可以由用户软件

7、禁止。vdd监视器可以控制monen引脚。在上电复位之后的单片机初始化期间,可以永久地使用wdt。单片机内部有个能够独立工作的时钟发生器,在复位后会默认为系统时钟。如有需要,时钟源可以在运行时切换到外部振荡器,外部振荡器可以使用晶体谐振器、rc振荡器或外部时钟源产生的系统时钟。这种切换功能在低功耗系统中是非常有用的,它允许单片机在需要时,从低频率(节电)的外部晶体振荡器切换到高速(可达25mhz)的内部振荡器,或者由高速的振荡器切换到低速振荡器工作。片内时钟和复位电路如图1.41.2. 片内存储器 cip-51有标准的8051程序和数据地址配置。它包括256b的数据ram,其中高128b为2个

8、地址空间:用间接寻址访问通用ram的高128b;用直接寻址访问128b的sfr地址。cip-51 sfr 地址空间可寻址256个sfr页,这样,cip-51就可以提供很多sfr的要求来控制和配置许多外围设备特征。空间数据ram的低128b可用直接或间接寻址方式访问。前32字节为4个通用工作寄存区,接下来的16字节既可以字节寻址又可以位寻址。c8051f040/1/2/3中的cip-51还另有位于外部数据存储器地址空间的4kb的ram块和外部数据存储器接口(emf),可以只访问片内数据存储器,也可以映射在外部存储器地址空间。这个4kb的ram块在整个64kb外部数据存储器地址空间被寻址(有4k边

9、界重叠)。外围数据存储器地址空间可以只映射在片外,也可以映射在片外,还可以同时映射(4kb以内的在片内存储器空间,4kb以上的经过emif)。emif可以设置为复用模式或非复用模式。单片机的程序存储器包含64kb的flash。该存储器以512b为一个扇区,可以在系统编程,且不需要在片外提供编程电压。从0xee00-0xffff的512b被保留。还有一个位于地址0x10000-0x1007f的128b扇区,该扇区可作为一个小的软件常数表。图1.5给出了单片机系统的存储器结构。1.3. jtag调试和边界扫描 c8051f04x系列具有片内jtag调试电路。通过4脚jatg接口并使用安装在应用系统

10、中的单片机就可以进行非侵入式,全速的在系统调试。该jtag接口完全符合ieee1149.1标准,为生产和测试提供完全的边界扫描功能。.cygnal的的调试系统支持观察和修改存储器,寄存器,断点,观察点,堆栈指示器及单步执行,不需要额外的目标ram程序存储器,定时器或通信通道。在调试时所有的模拟和数字外设都正常工作。当单片机单步执行或遇到断点而停止运行时,所有的外设除adc和smbus外都停止运行以便保持同步。开发套件c8051f04dk具有开发应用代码所需要的全部硬件和软件,并可包括对 单片机进行在系统调试。开发套件中包括开发者工作室软件,调试器,1个集成的8051汇编以及1个被称为ec的rd

11、-232至jtag协议转换模块。套件中还有1个目标应用板,上面有对应的单片机和一大块扩展区域。套件中还包括rs-232和jtag电缆及1个电源适配器。开发套件需要运行窗口95/98/me/nt/2000,并有1台可用rs-232串口的计算机。如图1.6所示,pc机通过rs-232与ec连接,一条6在的扁平电缆将ec与拥护的应用板连接起来,扁平电缆中包括4个jtag引脚和vdd及gnd。ec从应用板取电源,在2.7到3.6伏时,其供电电流大约为20ma。如果不能从目标板上提取足够的电源,可以将套件中提供的电源直接连到ec上。对于开发和调试嵌入式应用来说,该系统的调试功能比采用标准单片机仿真器要优

12、越的多。标准的单片机仿真器应使用在板仿真芯片和目标电缆上,还需要在应用板上留有单片机的插座。cygnal的调试环境既便于使用又能保证精确模拟外设的性能。 1.4. 可编程数字i/o和交叉开关f04x 系列单片机具有标准8051的端口(p0,p1,p2,p3)。在f040/2中有4个额外的8位i/o口 (4,5,6,7),因此总共有64个多功能的i/o端口。i/o端口的工作情况与标准8051相似,并有一些改进。每个端口i/o引脚都可以被推挽或漏极开路输出。在标准8051中固定的弱上拉可以被禁止,这为低功耗应用提供了进一步节电能力。 最大的改进是数字交叉开关。这是一个很大的数字开关网络,允许将内部

13、数字系统资源分配给p0,p1,p2,p3的端口。如图1.7。与具有标准复用数字i/o的微控制器不同,这种结构可支持所有的功能组合。可通过设置开关交叉控制寄存器,将片内的计数器/定时器,串行总线,硬件中断,adc转换启动输入,比较器输出以及微控制器内部的其他数字信号配置为在i/o引脚输出。允许用户根据自己特定的应用选择通用端口i/o和所需数字资源的组合。1.5. 可编程计数器阵列除了5个16位的通用计数器/定时器外,c8051f04x系列单片机还有1个片内可编程计数器/定时器阵列pca。pca包括1个专用的16位计数器/定时器时间基准和6个捕捉/比较模块。时间基准的时钟可以是下面6个时钟源之一:

14、系统时钟/12,系统时钟/4,定时器0溢出,外部时钟输入ecl,系统时钟以及外部振荡器/8.每个比较/捕捉模块都有6种工作方式:边缘触发,捕捉软件定时器,高速输出,频率输出,8位脉冲宽度调制器和16位脉冲宽度调制器。 pca捕捉/比较模块的i/o及外部时钟输入eci可以通过数字交叉开关连到单片机的i/o引脚。见图1.81.6.控制局域网 c8051f04x系列单片机带有can控制器,利用can协议可以执行一系列的信息交换。can控制器很容易在can网络实现信息交流并和basic can 2.0a和2.0b兼容。can控制器包含有1个can内核,ram信息块(从c8051独立出来),有一个信息处

15、理状态机和控制寄存器。 can控制器的速率可以达到1mb/秒,cygnal can拥有32个信息对象,每一个都有自己的屏蔽位用于接受或过虑收到的信息。收到的数据,信息体和屏蔽对象都储存在can的信息ram中。所有用于接收和发送数据的协议函数都是由can控制器自动完成,而不需要mcu的参与。因此,can通讯时占用cpu的带宽是最小的。c8051配置can控制器,通过c8051中的特殊功能寄存器来接收和发送数据的。1.7. 串行端口c8051fo4x 系列单片机有2个增强的全双工uart,一个增强spi总线及i2c/smbus。每种串行总线都完全用硬件实现,都能向cip-51产生中断,因此很少需要

16、cpu的干预。这些串行总线不共享定时器中断或端口i/o,所以可以按需要使用任何一个或全部。1.8. 12位模/数转换器c8051f040/1有一个片内12位sar adc(adc0),一个9通道输入多路选择开关及可编程增益放大器。当adc工作在100ksps的最大采样速率时可提供真正的12位精度,inl为1lsb。c8051f042/3与c8051f040/1类似,但分辨率为10位。adc0的电压基准介于dac0输出和外部vref引脚之间。在c8051f040/2中,adc0有它专门的vref0输入引脚;在c8051f041/3中,adc0和8位adc2共享vrefa输入引脚。片内还有一个15

17、 ppm/ 的电压基准,可提供本身的adc转换基准,也可通过vref引脚提供给其他的系统元件用。adc完全由cip-51通过特殊功能寄存器控制。有一个输入通道被连到内部温度传感器,其它8个通道接8个外部输入。通道的每一对都可被配置为2个单端输入或1个差分输入。系统控制器可以关断adc以节省功耗。可编程增益放大器接在模拟多路选择器之后,增益可用软件设置(具体为0.5,1,2,4,8或16),对于不同的adc通道输入电压,可以选择不同的增益,或需要放大一个具体较大直流偏移的信号时,(在差分方式中,dac可用于提供直流偏移),这个放大环节是非常有用的。a/d转换可有4种启动方式:软件命令;定时器2溢

18、出;定时器3溢出或外部信号输入。允许用软件,周期性的定时器溢出或外部输入信号触发进行转换。一次转换完成可以产生一个中断,或者用软件查询状态位来判断转换结束。在转换完成时,10位或12位转换结果数据被锁存到2个特殊寄存器sfr中,在软件控制下这些数据字可以是左对齐或右对齐。当adc数据在或者不在某个特定的范围之内,adc的窗口比较器可以中断控制器。adc可以用后台方式持续监视一个关键电压,当转换数据位于规定的窗口之间时才向控制器申请中断。 (见图1.10 adc原理框图) 1.9. 8位模/数转换器 c8051f040/1/2/3有一个片内8位sar adc(adc2),一个8通道输入多路选择开

19、关及可编程增益放大器。当adc工作在500ksps的最大采样速率时可提供真正的8位精度,inl为+/-1lsb。c8051fo41/3与c8051f040/2类似,但分辨率为10位。adc0的电压基准介于dac0输出和外部vref引脚之间。8个输入引脚可用于测量有用并且可以编程为差分输入或单端输入方式。cip内核微控制器可以通过特殊寄存器完全控制adc。adc2电压基准可以在模拟供给源(av+)和外部vref引脚之间选择任何一个。在c8051f040/2中,adc2有它自己专门的vref2输入引脚; 在c8051f041/3中,adc2和12/10位adc0共享vrefa输入引脚。系统控制器可

20、以关断adc2以节省功耗。可编程增益放大器接在模拟多路选择器之后。对于不同adc输入,可以选择不同的增益,当需要放大一个具体较大直流偏移的信号时,差分方式dac可用于提供直流偏移,这个放大环节是非常有用的。增益可用软件设置(具体为0.5,1,2或4)。允许用软件,定时器溢出或外部输入信号控制adc2转换。adc2转换甚至可以和adc0软件转换命令同步。一次转换完成可以产生一个中断(允许中断时),或者用软件查询状态位来判断转换结束。在转换完成时,8位转换结果数据被锁存到1个特殊寄存器sfr中。1.10.比较器和dacc8051f040/1/2/3系列单片机内部有2个12位dac和3个比较器。单片

21、机通过特殊功能寄存器来控制与每个比较器和dac之间的数据和控制接口。单片机可以将任何一个dac或比较器置于低功耗关断方式。 每个比较器都有软件可编程的滞后和响应时间,每个比较器都能在上升沿或下降沿产生中断,或者两个边沿都产生中断。比较器的输出状态可以用软件查询。这些中断能将单片机从睡眠方式唤醒。可通过设置交叉开关将比较器的输出接到i/o引脚。dac为电压输出方式,有一个灵活的时序安排装置。通过软件改写或者定时器2,3,4溢出,这个装置可以随着dac输出量的改变而修正自己的量。在c8051f040/2中,dac基准电压由专门的vrefd输入引脚来提供;在c8051f041/3中,dac基准电压由

22、内在的电压基准提供。dac在作为比较器的参考电压或者为adc差分输入提供偏移电压时非常有用。2. 极限参数 参数状态最小值典型值最大值单位通电情况下环境温度-55125储存温度-65150引脚相对dgnd的电压(vdd和端口i/o除外)-0.3vdd+0.3vv端口i/o引脚/rst相对dgnd的电压-0.35.8vvdd引脚相对dgnd的电压-0.34.2v通过vdd,av+,dgnd及agnd的最大总电流800ma端口引脚的最大输出灌电流100ma其他i/o引脚的最大输出灌电流50ma端口引脚的最大输出拉电流100ma其他i/o引脚的最大输出拉电流50ma*注意:超过这些极限参数将导致器件

23、永久性损坏。这里只标明主要的一些参数,其他的一些在说明书上有的参数就不在此细表。 在极限状态下的扩展周期可能会影响器件设备的可靠性3.直流电气特征 参数 条件 最小值 典型值 最大值 单位模拟电源电压 * 2.7 3.0 3.6 v模拟电源电流 内部refadc,adc比较器都工作 1.7 tbd ma模拟电源电流 内部refadc,adc比较器都 0.2 tbd ua(模拟子系统不工作) 不工作,振荡器被禁止 模拟与数字电源之差 0.5 v (|vdd-av+|)数字电源电压 2.7 3.0 3.6 vvdd=2.7v,clk=25mhz 10 ma数字电源电压(cpu工作) vdd=2.7

24、v,clk=1mhz 0.5 mavdd=2.7v, clk=32khz 20 ma数字电源电压(cpu不工作,vdd=2.7v,clk=25mhz 5 ma不访问flash) vdd=2.7v,clk=1mhz 0.2 mavdd=2.7v, clk=32kh 10 ma数字电源电流(停机方式) 震荡器不运行 0.2 ua保持ram数据时的 1.5 ua数字电源电压额定工作温度范围 -40 +85 *注:模拟电源av+必须大于1v才能使vdd监视器工作。4.引脚和封装定义 引脚名称 引脚号 类型 说明 f040/2 f041/3 vdd 37,64 24,41 数字电源,范围+2.7-3.6

25、v 90 57dgnd 38,63 25,40, 数字地89 57av+ 8,11 3,6 模拟电源,范围+2.7-3.6v 14agnd 9,10, 4,5 模拟地13tms 1 58 数字输入 带内部上拉的 jtag测试模式选择tck 2 59 数字输入 带内部上拉的jtag测试时钟 tdi 3 60 数字输入 带内部上拉的jtag测试数据输入。tdi在tck上升沿被锁存 td0 4 61 数字输入 带内部上拉的jtag测试数据输入。数据在tck的下降沿从td0引脚输出,td0输出是1个三态驱动器/rst 5 62 数字i/o 芯片复位引脚。内部电压监视器的漏极开路输出。当vdd小于2.7

26、伏时为低电平,外部驱动信号可以通过将该引脚置为低电平使系统复位。xtal1 26 17 模拟输入 晶体输入。该引脚为晶体或陶瓷谐振器的内部振荡器电路反馈输入。为了得到精确的内部时钟,可以在xtal1和xtal2之间接上1个晶体或陶瓷谐振器。如果被外部cmos时钟驱动,则该引脚成为系统时钟。xtal 2 27 18 模拟输入 晶体输出。该引脚是晶体或陶瓷谐振器的激励驱动器。monen 28 19 数字输入 vdd监视器。当连接高电平时,使能内部vdd监视器,当vdd小于2.7伏时,强制系统复位当连接低时,内部监视器被禁止。vref 12 7 模拟i/o 参考电压输出;或者dac参考电压输入(仅f

27、021/3)vrefa 8 模拟输入 当配置为输入时作为adc0和adc1的电压基准vref0 16 模拟输入 当配置为输入时作为adc0的电压基准 vref2 17 模拟输入 当配置为输入时作为adc1的电压基准vrefd 15 模拟输入 当配置为输入时作为 dac的电压基准ain0.0 18 9 模拟输入 adc0通道输入0ain0.1 19 10 模拟输入 adc0通道输入1ain0.2 20 11 模拟输入 adc0通道输入2ain0.3 21 12 模拟输入 adc0通道输入3hvcap 22 13 模拟i/o 高差分电压放大器 hvref 23 14 模拟输入 高差分电压放大器基准

28、hvain+ 24 15 模拟输入 高差分电压放大器正极信号输入hvain- 25 16 模拟输入 高差分电压放大器正极信号输入cantx 7 2 数据输出 can网络控制发送的输出引脚canrx 6 1 数据输入 can网络控制接收的接收引脚dac0 100 64 模拟输入 数模转换器输出口0,dac0端电压输出 dac1 99 63 模拟输入 数模转换器输出口1,dac1端电压输出 p0.0 62 55 数字i/o 端口0位0p0.1 61 54 数字i/o 端口0位1p0.2 60 53 数字i/o 端口0位2.p0.3 59 52 数字i/o 端口0位3p0.4 58 51 数字i/o

29、 端口0位4ale/p0.5 57 50 数字i/o ale信号。用于选通外部存储器的地址总线/rd/p0.6 56 49 数字i/o /rd信号。外部存储器读选通信号,端口0位6/wd/p0.7 55 48 数字i/o /wd信号。外部存储器写选通信号,端口0位7ain2.0/a8 模拟输入 adc1的0通道输入;端口1位0;外部存储器/p1.0 36 29 数字i/o 地址总线位8ain2.1/a9 模拟输入 端口1位1;/p1.1 35 28 数字i/o ain2.2/a10 模拟输入 端口1位2;/p1.2 34 27 数字i/o ain2.3/a11 模拟输入 端口1位3;/p1.3

30、 33 26 数字i/o ain2.4/a12 模拟输入 端口1位4;/p1.4 32 23 数字i/o ain2.5/a13 模拟输入 端口1位5;/p1.5 31 22 数字i/o ain2.6/a14 模拟输入 端口1位6;/p1.6 30 21 数字i/o ain2.7/a15 模拟输入 端口1位7;/p1.7 29 20 数字i/o a8m/a0/p2.0 46 37 数字i/o 外部存储器地址总线位8(多路器模式) 外部存储器地址总线位0(非多路器模式) 端口2位0a9m /a1 /p2.1 45 36 数字i/o 端口2位1a10m/a2/p2.2 44 35 数字i/o 端口2

31、位2a11m/a3/p2.3 43 34 数字i/o 端口2位3a12m/a4/p2.4 42 33 数字i/o 端口2位4a13m/a5/p2.5 41 32 数字i/o 端口2位5a14m/a6/p2.6 40 31 数字i/o 端口2位6a15m/a7/p2.7 39 30 数字i/o 端口2位7 ain0.?/ 54 47 模拟输入 外部存储器的地址/数据总线位0(多路器模式)ad0/do/p3.0 数字i/o 外部存储器的数据总线位0(非多路器模式) 端口3位0,adc0输入ain0.?/ 53 46 模拟输入 端口3位1,adc0输入ad1/d1/p3.1 数字i/oain0.?/

32、 52 45 模拟输入 端口3位2,adc0输入ad2/d2/p3.2 数字i/oain0.?/ 51 44 模拟输入 端口3位3,adc0输入ad3/d3/p3.3 数字i/oain0.?/ 50 43 模拟输入 端口3位4,adc0输入ad4/d4/p3.4 数字i/oain0.?/ 49 42 模拟输入 端口3位5,adc0输入ad5/d5/p3.5 数字i/oain0.?/ 48 39 模拟输入 端口3位6,adc0输入ad6/d6/p3.6 数字i/oain0.?/ 47 38 模拟输入 端口3位7,adc0输入ad7/d7/p3.7 数字i/op4.0 98 数字i/o 端口4位0

33、p4.1 97 数字i/o 端口4位1p4.2 96 数字i/o 端口4位2p4.3 95 数字i/o 端口4位3p4.4 94 数字i/o 端口4位4ale/p4.5 93 数字i/o ale信号。用于选通外部存储器的地址总线端口4位5/rd/p4.6 92 数字i/o /rd信号。外部存储器读选通信号,端口0位6/wd/p4.7 91 数字i/o /wd信号。外部存储器写选通信号,端口0位7a8/p5.0 88 数字i/o 外部存储器的地址总线位8(非多路器模式) 端口5位0a8/p5.1 87 数字i/o 端口5位1a8/p5.2 86 数字i/o 端口5位2a8/p5.3 85 数字i

34、/o 端口5位3a8/p5.4 84 数字i/o 端口5位4a8/p5.5 83 数字i/o 端口5位5a8/p5.6 82 数字i/o 端口5位6a8/p5.7 81 数字i/o 端口5位7a8m/a0/p6.0 80 数字i/o 外部存储器地址总线位8(多路器模式) 外部存储器地址总线位0(非多路器模式) 端口6位0a9m/a1/p6.1 79 数字i/o 端口6位1a10m/a2/p6.2 78 数字i/o 端口6位2a11m/a3/p6.3 77 数字i/o 端口6位3a12m/a4/p6.4 76 数字i/o 端口6位4a13m/a5/p6.5 75 数字i/o 端口6位5a14m/

35、a6/p6.6 74 数字i/o 端口6位6a15m/a7/p2.7 73 数字i/o 端口6位7ad0/do/p3.0 72 数字i/o 外部存储器的地址/数据总线位0(多路器模式) 数字i/o 外部存储器的数据总线位0(非多路器模式) 端口7位0,ad1/d1/p7.1 71 数字i/o 端口7位1ad2/d2/p7.2 70 数字i/o 端口7位2ad3/d3/p7.3 69 数字i/o 端口7位3ad4/d4/p7.4 68 数字i/o 端口7位4ad5/d5/p7.5 67 数字i/o 端口7位5ad6/d6/p7.6 66 数字i/o 端口7位6ad7/d7/p7.7 65 数字i

36、/o 端口7位7 5. 12位模/数转换器(adc0,c8051f040/1 only) c8051f040/1的adc0子系统包括一个9通道的可配置模拟多路开关amux0,一个可编程增益放大器pga0,一个100ksps12位分辨率的逐次逼近型adc(adc中集成了跟踪保持电路和可编程窗口检测器,如图5.1.)。amux0,pga0,数据转换方式及窗口检测器都可以用软件通过特殊功能寄存器来配置(如图5.1. )。adc0电压基准控制详见page 99 的f040/2单片机或者 page 101 的f041/3单片机。只有当adc0控制寄存器adc0cn中的ad0en位置1时,adc 子系统使

37、能。当ad0en位为0时,adc0 子系统处于低功耗关断状态。5.1. 模拟多路开关和pga amux可以通过4个外部模拟输入引脚(.ain0.0-0.3),端口3(可以优化配置为模拟输入引脚),高压差分放大器,或者片内温度传感器(温度传输函数如图5.11)将模拟信号输入进adc中。可将amux输入对编程为工作在差分或单端方式。并允许用户对每个通道选择最佳的测量方法,甚至可以在测量过程中改变方式。在系统复位后,amux的默认方式为单端输入。有3个与amux相关的寄存器:通道选择寄存器amxosl(如图5.4),配置寄存器amxocf(如图5.12),端口管脚选择寄存器amx0prt(如图5.6

38、)。在表5.4中给出了每种配置下各通道的功能。 pga对amux输出信号的放大倍数由adc配置寄存器adc0cf中的ampgn2-0确定。pga增益可用软件编程为0.5,2,4,8或16。复位时的默认增益为1。? 5.1.1.模拟输入配置 模拟开关通过外部模拟输入引脚(i/o的3端口,见page 185的结构图)接收信号,有一个高压差分放大器和一个片内温度传感器。(见图5.2.) 模拟信号在差分或单端测量时可以从4个外部输入引脚(ain0.0-0.3)输入。另外端口3的i/o口引脚被设置为模拟信号输入。此设置由端口管脚配置寄存器(amx0prt)来选择。端口3的任何引脚都可以被选择同时作为am

39、ux的输入。端口3的单和双引脚能各自独立的配置为amux输入。(注意:单和双端口引脚被作为“线或”同时选择时将会导致短路)这样,使用端口3时就可以进行差分测量(差分放大的引脚在端口3的奇偶端口间选择)。见图5.2 在差分测量中,高电压差分放大器(hvda)可以拒绝高于60v的共模电压,此电压高于adc的参考电压(0到vref伏)。通过使用amux,hvda输出能选择作为adc的输入。(见page 38 的介绍。)amx0cf:amux0 配置寄存器(c8051f040/1/2/3) r r r r r/w r/w r/w r/w-port3ichvda2cain23icain10ic 位7 位

40、6 位5 位4 位3 位2 位1 位0复位值:00000000 ;sfr地址:0xba位7-4:未使用。读=0000b,写=忽略。位3:port3ic:3端口奇偶输入对配置位0:3端口奇偶引脚为独立的单端输入1:3端口奇偶引脚各自为+,-差分输入位2:hvda2c:hvda 2的补码位0:hvda 输出测量(作为独立的单端输入)1:hvda的结果为2的补码位1:ain23ic:ain0.2和ain0.3输入对配置位0:ain0.2和ain0.3为独立的单端输入1:ain0.2,ain0.3为+,-差分输入位0:ain10ic:ain0.0和ain0.1输入对配置位0:ain0.0和ain0.1

41、为独立的单端输入1:ain0.0,ain0.1为+,-差分输入注意:对于被配置成差分输入的通道,adc0数据字格式为2的补码amx0sl:amux0通道选择寄存器 r r r r r/w r/w r/w r/w-amx0ad3amx0ad2amx0ad1amx0ad0 位7 位6 位5 位4 位3 位2 位1 位0复位值:00000000 ;sfr地址:0xbb位7-4:未使用。读=0000b,写=忽略。位3-0:amx0ad3-0:amx0地址位0000-1111b:根据下表5.5选择adc输入 amx0prt:3端口选择寄存器r r r r r/w r/w r/w r/wpain7enpa

42、in6enpain5enpain4enpain3enpain2enpain1enpain0en 位7 位6 位5 位4 位3 位2 位1 位0复位值:00000000 ;sfr地址:0xbd位7:pain7en:引脚7作为模拟输入位 0:p3.7不选为amux的模拟输入 1:p3.7选为amux的模拟输入位6:pain7en:引脚6作为模拟输入位 0:p3.6不选为amux的模拟输入 1:p3.6选为amux的模拟输入位5:pain7en:引脚5作为模拟输入位 0:p3.5不选为amux的模拟输入 1:p3.5选为amux的模拟输入位4:pain7en:引脚4作为模拟输入位 0:p3.4不选为amux的模拟输入 1:p3.4选为amux的模拟输入位3:pain7en:引脚7作为模拟输入位 0:p3.3不选为amux的模拟输入 1:p3.3选为amux的模拟输入位2:pain7en:引脚2作为模拟输入位 0:p3.2不选为amux的模拟输入 1:p3.2选为amux的模拟输入位1:pain7en:引脚1作为模拟输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论