CF与C单片机的异同点_第1页
CF与C单片机的异同点_第2页
CF与C单片机的异同点_第3页
CF与C单片机的异同点_第4页
CF与C单片机的异同点_第5页
全文预览已结束

下载本文档

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

文档简介

1、C8051F020与80C51单片机的异同点1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司开始对传统8051内核进行大的构造,主要是提高速度和增加片内模拟和数字外设,以期大幅度提高单片机的整体性能。其中美国Cygnal公司推出的C8051F系列单片机把80C51系列单片机从MCU时代推向SoC时代,使得以8051为内核的单片

2、机上了一个新的台阶。C8051F系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的CIP-51微控制器内核,采用流水线结构,单周期指令运行速度是8051的12倍,全指令集运行速度是原来的9.5倍。熟悉NCS-51系列单片机的工程技术人员可以很容易地掌握C8051F的应用技术并能进行软件的移植。但是不能将8051的程序完全照搬的应用于C8051F单片机中,这是因为两者的内部资源存在较大的差异,必须经过加工才能予以使用。其中C8051F020以其功能较全面,应用较广泛的特点成为C8051F的代表性产品,其性能价格比在目前应用领域也极具竞争力。C8051F020的内部电路包括CIP-51

3、微控制器内核及RAM、ROM、IO口、定时计数器、ADC、DAC、PCA、SPI和SMBus等部件,即把计算机的基本组成单元以及模拟和数字外设集成在一个芯片上,构成一个完整的片上系统(SoC)。本文将介绍C8051F020单片机与80C51的异同点(主要是不同之处)及初学者编程时应该注意的问题,并给出经过Cygnal开发工具IDE调试环境软件验证的源程序。2 相同点C8051F020单片机与80C51系列单片机的指令系统完全一样。掌握80C51单片机的人员可以很容易地接受C8051F020的应用技术并能完成相应软件的移植。3 主要硬件不同点3.1 运行速度C8051F020的指令运行速度是一般

4、80C51系列单片机的10倍以上。因为其CIP-51中采用了流水线处理结构,已经没有了机器周期时序,指令执行的最小时序单位为系统时钟,大部分指令只要12个系统周期即可完成。又由于其时钟系统比80C51的更加完善,有多个时钟源,且时钟源可编程,时钟频率范围为025 MHz,当CIP-5l工作在最大系统时钟频率25 MHz时,它的峰值速度可以达到25 MIs,C8051F020已进入了8位高速单片机行列。3.2 IO端口的配置方式C8051F020拥有8个8位的IO端口,大量减少了外部连线和器件扩展,有利于提高可靠性和抗干扰能力。其中低4个IO端口除可作为一般的通用IO端口外,还可作为其他功能模块

5、的输入或输出引脚,它是通过交叉开关配置寄存器XBR0、XBR1、XBR2(各位名称及格式如表1所示)选择并控制的,它们控制优先权译码选择开关电路如图1所示,可将片内的计数器定时器、串行总线、硬件中断、比较器输出及其它的数字信号配置为在端口IO引脚出现,这样用户可以根据自己的特定需要选择所需的数字资源和通用IO口。数字交叉开关是一个比较大的数字开关网路,这在所有80C51系列单片机上是一个空白。另外P1MDIN用于选择P1的输入方式是模拟输入还是数字输入,复位值为11111111B,即默认为数字输入方式。而80C51单片机的IO引脚是固定分配的,即占用引脚多,配置又不够灵活。C8051F020通

6、过优先权交叉开关译码器(如图2所示)控制数字开关网路,端口引脚的分配顺序是从P0.0开始一直到P3.7。当交叉开关配置寄存器XBR0、XBR1和XBR2中外设的对应使能位被设置为逻辑“1”时,交叉开关将端口引脚分配给外设,例如,如果UARTOEN位(XBR0.2)被设置为逻辑“1”,则TX0和RX0引脚将分别被分配到P0.0和P0.1。因为UART0有最高优先权,所以当UARTOEN位被设置为逻辑“1”时其引脚将总是被分配到P0.0和P0.1。未被设置的交叉开关分配端口可作为通用IO口。注意:当选择了串行通信外设(即SMBus、SPI或UART)时,交叉开关将为所有相关功能分配引脚。例如,不能

7、为UART0功能只分配TX0引脚而不分配RX0引脚。交叉开关寄存器被正确配置后,通过将XBARE(XBR2.6)设置为逻辑“1”来使能交叉开关。3.3 内部功能C8051F020内部带有数据采集所需的ADC和DAC,其中ADC有两个,一个是8路12位逐次逼近型ADC,可编程转换速率,最大为100 kSs可通过多通道选择器配置为单端输入或差分输入。内有可编程增益放大器PGA用于将输入的信号放大,提高AD的转换精度。可编程增益为:0.5、1、2、4、8或16,复位时默认值为1。另一个是8路8位ADC,可编程转换速率最大为500 kSs,其可编程放大增益为0.5、1、2、4,复位时默认值为0.5。有

8、2个12位的DAC,用于将12位的数字量转换为电压量,可产生连续变化的波形,两路信号可同步输出。3.4 外部接口C8051F020外设还增添了三个串行口。可同时与外界进行串行数据通信,SMBus兼容于I2C串行扩展总线;SPI串行扩展接口;两个增强型UART串口。C8051F020具有基于JTAG接口的在系统调试功能,片内的调试电路通过JTAG接口可提供高速、方便的在系统调试。4 软件编程举例鉴于C8051F020在硬件方面与80C51的不同之处,故它们在软件编程时也会有所区别,这种区别主要体现在初始化程序上。该程序是在Cygnal的开发工具即IDE调试环境中予以验证的。例:利用定时器T0定时

9、,在P1.2端输出一方波,方波周期为20 ms,已知晶振频率为12 MHz,采用中断的方式实现。采用C8051F020单片机实现的程序如下:从上面的程序中可以看出:在C8051F020软件编程中须首先设置看门狗定时器的工作状态,其次,要由内部振荡器控制寄存器OSCICN设置采用内部时钟还是外部时钟工作,若选择外部时钟可通过外部振荡器控制寄存器OSCXCN来选择适当的频率,本题目采用内部时钟,并通过时钟控制寄存器CKCON选择使用系统时钟的12分频。再次,若选择的IO口是低四个端口P0P3作为工作口,需要设定寄存器XBR0、XBR1、XBR2(复位值为0),在本设计中未用到数字资源,故XBR0、

10、XBR1的值为复位值,只需设定XBR2的值为40H允许功能选择开关即可,若本设计中的P1.2换为P4.2,则无需设定寄存器XBR0、XBR1、XBR2,因为高端口P4P7与交叉开关无关。最后还要选择所用IO口的输出方式,P0、P1、P2、P3口分别由POMDOUT、P1MD-OUT、P2MDOUT、P3MDOUT端口输出方式寄存器来选择,寄存器中的某位置0为漏极开路输出方式,置1则为推拉输出方式。另外,由于C8051F020的专用寄存器比一般51单片机多,而8051指令不能识别它增加的专用寄存器,公司提供了所有的专用寄存器及相应位的地址定义文件,用户只需加一条include(C8051F020.inc)指令即可。该程序只需将与上面提到的几点相关的指令去掉即为80C51的源程序(程序中已标

温馨提示

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

评论

0/150

提交评论