C8051系列单片机的特点
电
子
工
院系:电子信息工程学院
班级:电子信息工程
姓名:李雪锋
学号:程 系 统 综合案例 13-01班 [1**********]9
C8051系列单片机的特点
C8051F 具有上手快(全兼容8051指令集) 、研发快(开发工具易用,可缩短研发周期) 和见效快(调试手段灵活) 的特点,其性能优势具体体现在以下方面:
基于增强的CIP-51内核,其指令集与MCS-51完全兼容,具有标准8051的组织架构,可以使用标准的803x/805x汇编器和编译器进行软件开发。CIP-51采用流水线结构,70%的的指令执行时间为1或2个系统时钟周期,是标准8051指令执行速度的12倍;其峰值执行速度可达100MIPS(C8051F120等) ,是目前世界上速度最快的8位单片机。
增加了中断源。标准的8051只有7个中断源Silicon Labs 公司 C8051F系列单片机扩展了中断处理这对于时实多任务系统的处理是很重要的扩展的中断系统向CIP-51提供22个中断源允许大量的模拟和数字外设中断一个中断处理需要较少的CPU 干预却有更高的执行效率。 集成了丰富的模拟资源,绝大部分的C8051F 系列单片机都集成了单个或两个ADC ,在片内模拟开关的作用下可实现对多路模拟信号的采集转换;片内ADC 的采样精度最高可达24bit ,采样速率最高可达500ksps ,部分型号还集成了单个或两个独立的高分辨率DAC ,可满足绝大多数混合信号系统的应用并实现与模拟电子系统的无缝接口;片内温度传感器则可以迅速而精确的监测环境温度并通过程序作出相应处理,提高了系统运行的可靠性。
集成了丰富的外部设备接口。具有两路UART 和最多可达5个定时器及6个PCA 模块,此外还根据不同的需要集成了SMBus 、SPI 、USB 、CAN 、LIN 等接口,以及RTC 部件。外设接口在不使用时可以分别禁止以降低系统功耗。与其他类型的单片机实现相同的功能需要多个芯片的组合才能完成相比,C8051单片机不仅减少了系统成本,更大大降低了功耗。 增强了在信号处理方面的性能,部分型号具有16x16 MAC 以及DMA 功能,可对所采集信号进行实时有效的算法处理并提高了数据传送能力。
具有独立的片内时钟源(精度最高可达0.5%),设计人员既可选择外接时钟,也可直接应用片内时钟,同时可以在内外时钟源之间自如切换。片内时钟源降低了系统设计的复杂度,提高了系统可靠性,而时钟切换功能则有利于系统整体功耗的降低。
提供空闲模式及停机模式等多种电源管理方式来降低系统功耗
实现了I/O从固定方式到交叉开关配置。固定方式的I/O端口,既占用引脚多,配置又不够灵活。在C8051F 中,则采用开关网络以硬件方式实现I/O端口的灵活配置,外设电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。
复位方式多样化,C8051F 把80C51单一的外部复位发展成多源复位,提供了上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位、WDT 复位和引脚配置复位。众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。 从传统的仿真调试到基于JTAG 接口的在系统调试。C8051F 在8位单片机中率先配置了标准的JTAG 接口(IEEE1149.1)。C8051F 的JTAG 接口不仅支持Flash ROM 的读/写操作及非侵入式在系统调试,它的JTAG 逻辑还为在系统测试提供边界扫描功能。通过边界寄存器的编程控制,可对所有器件引脚、SFR 总线和I/O口弱上拉功能实现观察和控制。
C8051F 系列单片机型号齐全,可根据设计需求选择不同规模和带有特定外设接口的型号,提供从多达100个引脚的高性能单片机到最小3mmX3mm 的封装,满足不同设计的需要。 基于上述特点,Silicon Labs 公司C8051F 系列单片机作为SoC 芯片的杰出代表能够满足绝大部分场合的复杂功能要求,并在嵌入式领域的各个场合都得到了广泛的应用:在工业控制领域,其丰富的模拟资源可用于工业现场多种物理量的监测、分析及控制和显示;在便携式仪器领域,其低功耗和强大的外设接口也非常适合各种信号的采集、存储和传输;此外,新型的C8051F5xx 系列单片机也在汽车电子行业中崭露头角。正是这些优势,使得C8051单片机在进入中国市场的短短几年内就迅速风靡,相信随着新型号的不断推出以及推广力度的不
断加大,C8051系列单片机将迎来日益广阔的发展空间,成为嵌入式领域的时代宠儿
此系列单片机完全兼容MCS-51指令集,容易上手,开发周期短,大大节约了开发成本。C8051F 系统集成度高,总线时钟可达25M
电流检测技术与电路设计
在单片机检测电流的过程中,因为电流量是模拟量,并且对于电流量不能直 接进行读取,所以需要将电流量转化为电压量,再通过A/ D 转换器进行读取和处理。 单片机对模拟信号的读取是通过A/D转换器来实现的,使用了ADC0809芯片,关于芯片的介绍参考后面的内容,从电流量到电压量的转换时通过电流传感器来实现的,这是检测电流的关键。 下面先介绍电流传感器的基础知识,接着介绍实现单片机电流传感器所必须的器件和软件,然后逐步分析程序的各个只要模块以及程序的全貌。电流的检测在人们的生产和生活的过程中都是十分普遍的,特别是当电流 量是模拟信号时,给人们的检测带来了许多的不变,在利用现代科技的高度发达给对电流的检测带来了简便的方法,从而给全世界的人们的生产和生活都会带来极大的方便的。本装置是以8051和BS211单片机为核心,ADC0809作为信号转换器,DM74163N 作为分频器的电流检测电路。为实现电流数据采集和传输提供了极大的便利。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。
本设计使用单片机作为核心进行控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点。 2.2电流传感器工作原理 电流传感器是传感器的一种分类,其主要信号源是采集信号的电流大小!主要参数为其电流大小!检测方法一般是检测电流特性的器件,一般有电流表之类的! 工作原理主要是霍尔效应原理. 一、以零磁通闭环产品原理为例: 1、当原边导线经过电流传感器时,原边电流IP 会产生磁力线,原边磁力线集中在磁芯气隙周围,内置在磁芯气隙中的霍尔电片可产生和原边磁力线成正比的,大小仅为几毫伏的感应电压,通过后续电子电路可把这个微小的信号转变成副边 电流IS ,并存在以下关系式: IS* NS= IP*NP 其中,IS —副边电流; IP—原边电流; NP—原边线圈匝数; NS—副边线圈匝数; NP/NS—匝数比,一般取NP=1。
8 电流传感器的输出信号是副边电流IS ,它与输入信号(原边电流IP )成正比, IS一般很小,只有10~400mA。如果输出电流经过测量电阻RM ,则可以得到 一个与原边电流成正比的大小为几伏的电压输出信号。 2、传感器供电电压VA VA指电流传感器的供电电压,它必须在传感器所规定的范围内。超过此范围,传感器不能正常工作或可靠性降低,另外,传感器的供电电压VA 又分为正极供电电压VA+和负极供电电压VA-。要注意单相供电的传感器,其供电电压VAmin 是双相供电电压VAmin 的2倍,所以其测量范围要相供高于双电的传感器。 3、测量范围Ipmax 测量范围指电流传感器可测量的最大电流值,测量范围一般高于标准额定IPN 。
二、电流传感器主要特性参数
1、标准额定值IPN 和额定输出电流ISN IPN指电流传感器所能测试的标准额定值,用有效值表示(A.r.m.s ),IPN 的大 小与传感器产品的型号有关。 ISN指电流传感器额定输出电流,一般为 10~400mA,当然根据某些型号具体可能会有所不同。
2、偏移电流ISO 偏移电流也叫残余电流或剩余电流,它主要是由霍尔元件或电子电路中运算放大器工作状态不稳造成的。电流传感器在生产时,在25℃,IP=0时的情况下,偏移电流已调至最小,但传感器在离开生产线时,都会产生一定大小的偏移电流。 产品技术文档中提到的精度已考虑了偏移电流增加的影响。
3、线性度 线性度决定了传感器输出信号(副边电流IS )与输入信号(原边电流IP )在
测 量范围内成正比的程度。
4、 温度漂移 偏移电流ISO 是在25℃时计算出来的,当霍尔电极周边环境温度变化时,ISO 会产生变化。因此,考虑偏移电流ISO 的最大变化是很重要的,其中,IOT 是 指电流传感器性能表中的温度漂移值。
5、 过载 电流传感器的过载能力是指发生电流过载时,在测量范围之外,原边电流仍会增加,而且过载电流的持续时间可能很短,而过载值有可能超过传感器的允许值, 过载电流值传感器一般测量不出来,但不会对传感器造成损坏。
6、 精度 霍尔效应传感器的精度取决于标准额定电流IPN 。在+25℃时,传感器测量精度与原边电流有一定影响,同时评定传感器精度时还必须考虑偏移电流、线性度、 温度漂移的影响。
3.2 A/D转换子程序
EXTRN-INT :
PUSH ACC
PUSH psw
MOV PSW,#018H
MOV DPTR,#78FFH ;A/D转换器首地址
MOVX A,@DPTR
MOV R1,#030H ;存储A/D转换器的数据的地址
MOV @R1,A
POP PSW
POP ACC
RETI
首地址是78FFH ,当A/D转换结束时会向单片机发出中断请求信号,触发单片机的外部中断,此时单片机响应中断,进入中断服务程序,读取转换数据。
3.2 显示子程序
DISPLAY:
MOV A,31H ;将29H 中的16进制转换成10进制
MOV B,#10
DIV AB
MOV B-BIT,A
MOV A-BIT,B
MOV DPTR ,#NUMTAB ;制定查表启始地址
MOV R0,#4
DPL1:
MOV R1,#250 ;显示1000次
DPLOP:
MOV A,A-BIT ;取个位数
MOVC A,@A+DPTR
MOV P0,A
MOV P2.0
ACALL D1MS
SETB P2.0
MOV A,B-BIT ;取十位数
MOVC A,@A+DPTR
MOV P0,A
CLR P2.1 ;开十位显示
ACALL D1MS
SETB P21
DJNZ R1,DPLOP
DJNZ R0,DPL1
RET
D1MS:
MOV R7,#80
DJNZ R7,S
RET ;实验板上的7段数码管0~9数字的共阴极显示代码 NUMTAB:DB 03FH,06H,5BH,4FH,66H,06DH,07DH,07H,07FH,06FH
A/D转换程序
CS BIT P3.0 DAT BIT P3.1 CLK BIT P3.2 ADC DATA 30H
ORG 0000H
MAIN: MOV SP,#60H WAIT: ACALL TLC549
LCALL DELAY
ACALL TLC549 ;读取上次ADC 值,并再次启动AD 转换
MOV A,ADC
CPL A
MOV P1,A
SJMP WAIT
TLC549: CLR CLK
CLR CS ;选中TLC549
MOV R6,#8 TLCAD: SETB CLK
MOV C,DAT
RLC A
CLR CLK ;DAT=0,为读出下一位数据作准备 DJNZ R6,TLCAD
SETB CS ;禁能TLC549,再次启动AD 转换 SETB CLK
MOV ADC,A
RET DELAY: MOV R7,#250
DJNZ R7,$
RET
END
D/A转换程序 SCL BIT P3.0
SDA BIT P3.1
LOAD BIT P3.2
DAC DATA 30H
NUM DATA 31H
ORG 0000H
MAIN: MOV SP,#60H CLR SCL
CLR SDA
SETB LOAD
WAIT: MOV P1,#0FFH MOV A,P1 MOV DAC,A MOV NUM,#0 LCALL DAC5620 SJMP WAIT
DAC5620: MOV A,R1 CLR SCL MOV A,NUM LCALL SENDAD MOV A,R2 CLR SCL
MOV A,DAC LCALL SENDDB CLR LOAD SETB LOAD RET
SENDDB: MOV R7,#8 LPDB: SETB SCL RLC A
MOV SDA,C CLR SCL
DJNZ R7,LPDB RET
SENDAD: MOV R7,#3 SETB C
RLC A
LPAD: SETB SCL RLC A
MOV C,ACC.3 MOV SDA,C CLR SCL
DJNZ R7,LPAD RET
END