C8051F与80C51系列单片机的不同初始化

发布者:legend9最新更新时间:2006-12-31 来源: 国外电子元器件关键字:定时器  传感  看门狗 手机看文章 扫描二维码
随时随地手机看文章

1 引言

近30年来,世界各主要电子元器件生产厂商纷纷推出自己各具特色的单片机产品。而在百花齐放的单片机家族中,80C5l系列一直扮演着重要的角色。该单片机在教学、科研等领域已经成为入门单片机并成为单片机应用的首选,该产品以其易读性好、扩展能力强而著称,从而成为广大从事单片机开发者最熟悉、最具代表的机型。但人们往往在熟悉80C51单片机之后又选择别的系列单片机开发产品,这是因为80C51具有运算速度慢、功耗大、内部资源少等不足,所以限制了其使用范围。Cygnal公司推出的C805lF系列单片机既弥补了80C51系列的不足,又与MCS—5l指令集兼容。C805lFxxx系列单片机是完全集成的混合信号系统级芯片,具有与8051指令集完全兼容的CIP-51内核。它在单片内集成了构成一个单片机数据采集或控制系统所需要的几乎所有模拟和数字外设及其它功能部件。这些外设或功能部件包括:ADC、可编程增益放大器、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、定时器、可编程计数器/定时器阵列(PCA)、内部振荡器、看门狗定时器及电源监视器等。这些外设部件的高集成度为设计小体积、低功耗、高可靠性、高性能的单片机应用系统提供了很大的方便,同时也可以使整体系统的成本大大降低。

熟悉MCS—51系列单片机的工程技术人员可以很容易地掌握C8051Fxxx的应用技术并进行软件移植。但不能将8051的程序直接应用于C8051F单片机中,因为这两种系列的单片机内部资源存在较大的差异,因此,完全照搬、移植是行不通的,必须经过“改良”(主要是初始化控制字的改写)才能正确运行。本文以C8051Fxxx系列单片机中资源最丰富、功能最多、运算速度最快(达到100MIPS)的C8051F12X系列为例,介绍其与80C51的主要不同之处以及开发时应注意的问题,同时给出了其完整的、且经过运行验证的源程序。



2 结构差异

C8051F12X单片机与8051单片机在结构上的最大区别有四点:外引脚采用交叉开关配置;系统时钟源多样且控制灵活;内部特殊功能寄存器SFR种类数量增多;具有基于JTAG接口的在系统调试功能。下面主要介绍前三部分内容。

2.1 可编程数字I/O和交叉开关

可编程数字I/O和交叉开关是一个大的数字开关网络,它允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的微控制器不同,这种结构支持所有的功能组合。可通过设置交叉开关控制寄存器(XBR2、XBR1和XBR0)将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配置为在端口I/O引脚出现,这就使用户可以根据自己的特定应用选择通用端口I/O和需数字资源的组合。而不同于8051单片机的引脚基本是固定分配的。C8051F系列通过优先权交叉开关译码器来控制数字开关网络,优先权交叉开关译码器的值由交叉开关控制寄存器(XBR2、XBR1和XBR0)来配置,如图1所示。优先权交叉开关译码器按优先权顺序从P0.0开始,可以一直分配到P3.7,它为数字外设所分配的端口引脚的优先顺序是按系统默认的顺序,即:串行通信UART0具有最高优先级,TX0和RX0分别被分配到P0.0和P0.1 串行通信SPI具有次高优先级,详细的端口引脚的优先分配顺序表请参考有关资料。如果不选择某个资源,则优先顺序表中的下一个功能将填充这个位置。图2所示是三个交叉开关控制寄存器(XBR2、XBR1和XBR0)中各位的含义,它们的复位值均为00000000。

当交叉开关配置寄存器XBR2、XBR1和XBR0中外设的对应位被设置成逻辑1时,交叉开关将端口引脚分配给外设;如果一个数字外设的允许位未被设置成逻辑1,则其端口不能通过引脚访问。未被设置的交叉开关分配端口可当作标准连续的I/O口使用。在系统复位后,默认的寄存器XBR2、XBR1和XBR0的值均为零,即所有I/O引脚被强迫成输入口(带上拉),且不与内部资源连通。这样,没有输出的系统显然无意义,所以,无论如何都应置XBR2的第6位为1,使交叉开关允许以便引出输出信号。

  2.2 系统时钟源

C8051F12X的系统时钟可以取自内部振荡电路、外部振荡电路(包括晶振,RC振荡,陶瓷谐振电路)和锁相环PLL电路,锁相环PLL电路的输入源可选择来自内部振荡电路,也可以选择外部振荡电路,通过PLL的倍频作用可以提高时钟频率。C8051F12X系统内的振荡电路如图3所示。要产生所需的系统时钟,通常要设置8个寄存器:OSCXIN、OSCICN、OSCICL、CLKSEL、PLLOCN、PLLOFLT、PLL0DIV、PLL0MUL,其中后4个是有关PLL的寄存器。

2.3 特殊功能寄存器SFR结构

与MCS—51的SFR不同的是,C8051F12X的SFR由图4所示的多页组成,共有5页,页号为0、1、2、3、15。各个SFR分布在不同的页里,像XBR0、XBR1、XBR2、OSCXIN、OSCICN、LLOCN、PLLOFLT等定位在15页里,定时器有关的寄存器TCON、TMOD、TH、TL等定位在0页里。在读写各个SFR之前,必须先切换到相应的页,可使用“MOV SFRPAGE,#页号”指令来进行切换。各个SFR所在哪些页,请查看相关的资料。

3 应用举例

该例中要用的引出脚有一个串行异步通信UART和一个外中断INT0。按照系统默认的优先顺序,P0口被内部资源引出而占用,其中P0.0为UART通信的RX端, P0.1为UART通信的TX端,P0.3为外中断INT0输入引脚,其它端口为通用I/O口。P1口为具有上拉电阻的输入口,P2口为通用推挽的输出口,P3口也是通用推挽输出口。具体如下:

$include(c8051f120.inc)

ORG 00H

JMP RESET ;程序入口

ORG 03H

JMP EX_INT ;外中断INT0入口

ORG 0BH

JMP TIME_0 ;定时器0中断入口

ORG 100H

RESETMOV, WDTCN,#0DEH 禁止看门狗

MOV WDTCN,#0ADH

MOV SFRPAGE, #0FH ;取特殊功能寄存器的15页

MOV OSCXCN,#01100111B ;外用时钟源选择晶体,频率范围在30MHz以下

ORL PLL0CN,#00000111B ;用外部晶振作为PLL的源

MOV PLL0DIV,#00000001B ;PLL的输入除系数1(复位后默认)

MOV PLL0MUL,#00000010B ;PLL的倍频系数为2(25MHz晶振)

MOV PLL0FLT,#00010001B ;PLL的滤波参数(复位后默认为00110001B)

MOV R4,#0 ;延迟一会儿,使晶振稳定

NNOP1:MOV R5,#0


DJNZ R5,$

DJNZ R4,NNOP1

MOV CLKSEL,#00000010B ;系统时钟源用晶振再经锁相环PLL二倍频,产生50MHz的时钟

ANL OSCICN,#01111111B ;允许外部振荡,禁止内部振荡

MOV XBR2;#01000000B ;使能交叉译码开关(这条指令很重要)

MOV P2MDOUT,#11111111B ;P2口置成输出方式

MOV P3MDOUT,#11111111B ;P0口置成输出方式(复位默认为0__开漏)

MOV XBR1,#0000100B ;允许外中断0连到端口

MOV SFRPAGE, #0H ;取特殊功能寄存器的0页(因为有关定时器、中断的SFR在0页)

SETB EX0 ;允许外中断0

SETB IT0 ;INT0下降沿中断

MOV TMOD,#21h ;设置定时器0为方式1, 定时器1为方式2

MOV CKCON,#08h ;选定时器0时钟为系统时钟,定时器1时钟为系统时钟除以12

MOV TH1,#242 ;(50/12)MHz的时钟产生9600波特率的计数初值为242

SETB TR0 ;接通定时0

SETB TR1 ;接通定时1

CLR ET1 ;禁止定时器1中断

MOV SCON,#50H ;串口工作于方式1,允许接收,单机工作

SETB ET0 ;允许T0中断

SETB PT0 ;T0的中断优先级高

SETB EA ;开中断

MOV SP,#30H ;栈底在30H单元

MAIN: . ;以上是程序的初始化

. ;主程序

JMP MAIN

****** 定时中断子程序 *******

TIME_0:PUSH ACC

MOV TH0,#0H

MOV TL0,#0H

CPL P2.2 ;在P2口的D2脚输出方波

POP ACC

RETI

******* 外中断子程序 *******

EX INTPUSH ACC

MOV A,P1 ;从P1口取一字节

CPL A

MOV P3,A ;送出一字节

POP ACC

RET

关键字:定时器  传感  看门狗 引用地址:C8051F与80C51系列单片机的不同初始化

上一篇:基于C8051F系列单片机的低功耗设计
下一篇:基于Holtek单片机的遥控探照灯系统实现

推荐阅读最新更新时间:2024-05-13 18:16

视觉传感器在包装机械中的应用
在不久之前,设计质量控制系统的工程师还不得不在若干种检验选项中做出选择,没有一种完全令人满意。这些选项包括昂贵的单用途视觉系统,多阵列低功能光电 传感器 ,以及易受疲劳和精力不集中影响的人眼检验。然而,如今最先进的视觉传感器正将传统方法的最佳性能与史无前例的速度、精确度、尺寸及成本优势相结合。 本文将比较各类传感选项的功能,并证明为什么视觉传感成为工业传感器市场中增长最快的领域。 视觉传感的基本原理 光电传感器包含一个光传感元件,而视觉传感器具有从一整幅图像捕获光线的数以千计的像素。图像的清晰和细腻程度通常用分辨率来衡量,以像素数量表示。Banner 工程公司提供的部分视觉传感器能够捕获 130 万像素。因此,无论距离目
[传感器]
利用MSP430F5529定时器捕获功能,实现信号周期或频率的测量
// 这个程序利用TIMER A0生成1KHz的方波,从引脚P1.3输出,送到引脚P7.4, // 再利用TIMER B0测量周期。为测试方便,引脚P1.0输出32KHz的ACLK, // 引脚P2.2输出12MHz的SMCLK. // ACLK = LFXT1 = 32kHz; SMCLK = MCLK = 12MHz // // MSP430F5529 // ------------------------- // /|| XT1IN|- // | | | 32kHz // --|RST XT1OUT|- //
[单片机]
51单片机-代码参考
前面的篇章我们都是在普及知识,真正使用好定时器还是需要重新拟定新的书写方案的,我们参考了宋老师的书写方式,在他的代码基础上我们进行小修改成就实用的工程代码。 1.代码解析 void ConfigTimer0(unsigned int ms) { unsigned long tmp; //临时变量 tmp = 11059200 / 12; //定时器计数频率 tmp = (tmp * ms) / 1000; //计算所需的计数值 tmp = 65536 - tmp; //计算定时器重载值 tmp = tmp + 13; //补偿中断响应延时造
[单片机]
NO.15 MSP432定时器使用实例——流水灯
  上一篇文章我们讲了定时器Timer的基本概念和如何调用定时器。这次我们来尝试在MSP432中使用定时器完成流水灯这个小实验。   流水灯是我们从真正意义上进行对单片机进行时间控制。   这个实验主要是控制我们开发板上的LED进行1s亮,1s灭,循环进行。   首先,我们打开CCS中ResourceExplorer的TiDrivers下的案例——timerled。   我们将其导入到我们的工作区中,我们再打开timerled.syscfg这个文件,查看本工程的相关配置。      我们要增加其他Timer也非常简单,只要点击ADD这个按钮就可以配置相关内容。   我们其次打开timerled.c这个主文件,
[单片机]
NO.15 MSP432<font color='red'>定时器</font>使用实例——流水灯
意法半导体与 Eyeris 合作开发车内监控全局快门传感器解决方案
服务多重电子应用领域的全球半导体领导者意法半导体(STMicroelectronics,简称ST) 近日宣布,与全球视觉人工智能 (AI) 软件和车内传感器融合技术的领导者Eyeris达成合作,通过集成 Eyeris 的先进深度神经网络产品组合,将意法半导体全局快门传感器应用延伸到车内监控领域,利用视觉空间感知功能全面了解车辆内部情况。这个先进的感知解决方案可支持汽车安全便利功能,包括驾驶员状态监控系统 (DMS)、乘客状态监控系统 (OMS)、儿童人体存在检测、物体识别、手势控制和活动预测。 意法半导体的 230万像素 VG5761 全局快门传感器的线性动态范围高达 98 dB,可产生清晰图像,能够在任何光线和环境条件下捕获
[汽车电子]
意法半导体与 Eyeris 合作开发车内监控全局快门<font color='red'>传感</font>器解决方案
STM32系统定时器SysTick
1. SysTick系统定时器概述 学习完STM32的中断,下来就要学习STM32的定时器。就像电话最基本的功能是与人通话一样,定时器最基本的功能就是定时(STM32有些定时器的功能强大得超乎想象,当然不是今天要学的SysTick),定时器的使用步骤无非就是设置定时时间,然后等待超时,超时会触发中断或者设置某个标志位:若是触发中断自然要去执行中断处理函数,处理函数和中断源的绑定工作在启动文件的中断向量表已经明确,我们负责实现与之对应的中断处理函数即可;若是查询标志位则轮询访问该标志位,发生改变后再执行其他处理操作。 定时器涉及到中断,那就跟前面学习的EXTI、NVIC以及中断优先级等概念扯上关系了。系统定时器SysTick
[单片机]
STM32系统<font color='red'>定时器</font>SysTick
正确选择流量传感
影响流量传感器的因素较多,原理有十余种,类型不少于200种,有人对美国现场千余台流量传感器进行了调查,发现其中60%所选择的方法不太合适,而即使选择的方法合适,又有约一半以上在安装和布局上有问题。正确选择,并非易事。归纳起来,正确选择流量传感器取决于六个因素:传感器技术参数、流体特性、流动的状态、安装、环境、经济性。 传感器技术参数 总量、流量 总量(单位为m3或k g),多用于贸易核算,准确度居于首位。流量(瞬时量单位为m3/h,k g/h),多用于流程工业,是控制系统的信息源头,重复性是首位。 连续,开关 一般流量传感器的输出为连续量,而开关量可用于简单的二位式控制或设备保护,要求可靠性良好。 准确度 准确度不仅取决传感
[测试测量]
日本开发出可检测人体动作的CNT传感
  日本产业技术综合研究所(产综研)纳米管应用研究中心Super Growth CNT研究小组主任研究员山田健郎,开发出了利用单层碳纳米管(CNT)的柔性应变传感器。粘贴在衣服和身体上,可检测膝盖屈伸、手指活动及呼吸发声等人体动作。有望用于医疗及保健领域,诸如在康复治疗时在不妨碍患者活动的情况下监控动作等。   该应变传感器将配过向的单层CNT薄膜粘贴在具有伸缩性的高分子基板上,利用CNT膜的电阻变化检测应变。可检测大至280%的应变。产综研表示,该检测能力相当于“原金属制应变传感器的约50倍”。对于150%以下的应变,该传感器具有可反复使用1万次以上的耐久性。另外,该传感器对于应变的响应性为14ms,“在可测量100%以上大型应
[医疗电子]
热门资源推荐
热门放大器推荐
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved