单片机C8051F020及其在仪器和仪表中的应用

发布者:数字舞者最新更新时间:2010-08-04 来源: 电子元器件应用 关键字:单片机  仪器仪表  电子配料秤 手机看文章 扫描二维码
随时随地手机看文章

1 引言

    当前,随着科学技术及工农业生产水平的不断提高,对相应的仪器仪表也提出越来越高的要求,因此,仪器仪表需扩展大量的外围功能部件来满足仪器仪表复杂性、高性能及智能化的要求。  

    这种方法虽然满足了仪器的复杂性要求,但随之而来的问题是由于系统扩展的过于复杂而造成系统可靠性降低,故障率增加,查找故障困难,从而失去了智能化仪器仪表的优势,如果能够将功能复杂的众多外围功能部件全部或大部分集成到系统所使用的单片机内部,则可大大提高仪器仪表系统的可靠性,同时又使系统的成本得以降低,还可利用单片机片内资源在不增加硬件成本的情况下增强仪器的性能,因而该方案是提高仪器仪表可靠性及性能的行之有效的方法,而美国Cygnal公司的C8051F020单片机便是1款可满足复杂高性能仪器仪表要求的单片机。   

    C8051F020单片机是集成在1块芯片上的混合信号系统级单片机,具有与MCS51内核及指令完全兼容的微控制器。除了具有标准8051机的数字外设部件外,片内还集成了数据采集与控制系统中常用的模拟部件和其它数字外设及功能部件,主要包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压 比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、可编程计数器/定时器阵列、定时器、I/O端口、电源监视器、看门狗定时器和时钟振荡器等,且该单片机内部具有JTAG和调试电路,通过JATG接口可以使用安装在最终应用系统产品上的单片机进行非侵入、全速及在系统调试。   

2 功能与特点   

    (1)25MIPS高速流水线式与8051机完全兼容的CIP-51内核。   

    (2)真正12位100KBps、8通道带可编程增益放大器的ADC。   

    (3)真正8位500KBps,带可编程增益放大器的ADC。   

    (4)5个16位通用定时器。   

    (5)具有5个捕捉/比较模块的可编程计数/定时器阵列。  

    (6)内部电压基准。   

    (7)内置温度传感器(±3℃)。   

    (8)片内看门狗定时器,时钟源及VDD监视器。   

    (9)64个通用数字I/O端口。   

    (10)具有I2C/SMBUSSPI及两路UART、串行接口。   

    (11)64KB系统可编程FLASH存储器。   

    (12)4352(4096+256)Byte片内RAM。   

    (13)64KB地址的外部存储器接口。   

    (14)内部FLASH存储器可实现在系统编程,即可作程序存储器也可作非易失性数据存储器。 

    (15)工作电压为2.7V~3.6V,典型值为3V,I/O、RST、JTAG引脚均允许5V输入电压。   

     (16)全系列工业级电路(-45℃-+85℃)。  

    (17)片内JTAG仿真电路,提供全速的电路内仿真,不占用片内用户资源,支持断点、单步、观察点、运行和停止等调试命令、支持存储器和寄存器校验和修改。   

3 内部功能部件   

3.1CPU   

    C8051F020CPU的主要特点如下:   

    (1)与标准8051机完全兼容,支持标准的ASM51、KeilC高级语言;   

    (2)具有高速指令处理能力,机器周期由MCS51标准的12个系统时钟周期降为1个系统时钟周期,且70%的指令时间为1-2个机器周期,指令处理能力大大提高;   

    (3)增加了中断源,由MCS-51标准7个中断源增加至22个中断源;   

    (4)增加了复位源,标准的MCS51只有外部引脚复位,而C8051F020增加了7种复位源,使系统可靠性大大提高;   

    (5)增加了内部能独立工作的时钟源。   

3.2 存储器   

3.2.1 数据存储器   

    C8051F020具有标准8051机的程序和数据地址配置,包括256字节的RAM,其中高128字节为2个地址空间,用间接寻址访问的高128字节和用直接寻址访问的SFR地址空间,低128字节用户可用直接或间接寻址方式访问,此外,C8051F020还具有位于外部数据存储器地址空间的4KB的RAM和外部数据存储器接口(EMIF),这个4KB的RAM可以只映射到片内也可以映射到64KB外部数据存储器地址空间,还可同时映射到片内和片外(4KB地址以内在片内存储器空间访问,4KB以上经过EMIF访问)。外部数据存储器接口用于访问最多64KB的外部扩展RAM。   

3.2.2 程序存储器   

    C8051F020的程序存储器包含64KB的FLASH,该存储器以512B为1个扇区,可以在系统编程,且无需在片外提供编程电压,该程序存储器未用到的扇区均可由用户按扇区作为非易失性数据存储器使用。  

3.3 I/O与数字交叉开关   
  
    C8051F020单片机除具有标准的8051机端口P0~P3外,还具有附加的4个8位I/O口。这样,I/O口总数可达64个,每个端口I/O引脚都可设置为推挽或开漏输出。最为独特的功能是引入了数字交叉开关,它可将内部数字系统资源分配给P0、P1、P2和P3端口的I/O引脚,并可将片内计数器/定时器、串行总线、中断源、A/D转换输入、比较器输出以及微控制器的其它数字信号配置为在上述I/O引脚输出,这就允许用户根据自己的特定应用选择通用I/O和所需数字资源的组合。   

3.4 可编程计数阵列   

    除了内部提供5个16位的通用定时/计数器外,C8051F020还提供1个片内编程的计数器/定时器阵列(PCA),PCA包括1个专用的16位计数器/定时器,5个可编程的捕捉比较模块,时间基准可以是下面的6个时钟源之一:系统时钟/12;系统时钟/4;定时器0溢出;外部时钟输入;系统时钟和外部振荡频率/8。每个捕捉模块都有6种工作方式:边沿触发捕捉、软件定时器、高速输出、8位脉冲宽度调制器,频率输出、16位脉冲宽度调制器。   

3.5 多类型串行总线端口   

    C8051F020内部具有2个全双工UART、SMBUS/I2C总线和SPI总线,每种串行总线都完全用硬件实现,都能向CIP51产生中断,这些串行总线不共享定时器、中断或I/O端口,所以允许用户全部同时使用。  

3.6 A/D转换器   

    C8051F020内部有2个ADC子系统。   

3.6.1 12位A/D转换器ADC0   

    该转换器由逐次逼近型ADC、多通道模拟输入选择器和可编程增益放大器组成,ADC工作在100KBPS的最大采样速率时可提供真正的12位精度,ADC0的8个外部输入通道都可被配置为两个单端输入或1个差分输入,ADC0的第9个输入通道为内部温度传感器,同时内部提供1个2.34V基准电压,可编程增益放大器的增益可用软件设置,从0.5~16以2的整数次幂递增,允许用软件事件、硬件信号触发转换或进行连续转换。  

3.6.2 8位A/D转换器ADC1   

    除了12位的ADC子系统ADC0外,C8051F020还有1个8位ADC子系统,即ADC1,它有1个8通道输入多路选择器和可编程增益放大器,该ADC工作在500KBps的最大采样率时可提供真正的8位精度,ADC的基准电压可在电源电压引脚(AV+)和外部VREF引脚之间选择,ADC1的可编程增益放大器的增益可被编程为0.5、1、2或4,ADC1也有灵活的转换控制机制,允许用软件命令,定时器溢出或外部信号输入启动ADC1转换,用软件可以使ADC1与ADC0同步转换。
   
3.7 D/A转换器   

    C8051F020内部有2个12位电压DAC,每个DAC的输出摆幅均为0V~VREF-1LSB,CPU可通过SFRS控制数模转换和比较器,CPU可将任何1个DAC置于低功耗关断方式,DAC为电压输出模式,与ADC共用参考电压,允许用软件命令和定时器2、定时器3及定时器4的溢出信号更新DAC的输出。   

3.8 JTAG   

    C8051F020片内具有JTAG接口和逻辑,为生产和在系统测试FLASH存储器的读和写操作,以及非侵入式在电路调试提供边界扫描功能,片内接口完全符合IEEE1149.1规范。
   
4 C8051F020单片机在仪器仪表中的应用   

    C8051F020是1种集成了众多功能部件、功能强大的单片机,适合于要求硬件功能强大,运算速度快,工作环境恶劣,可靠性高,扩展功能强及低功耗的应用系统。下面以1个实际的仪器仪表系统即电子配料秤为例给出C8051F020在仪器仪表中的具体应用方法。电子配料秤是1种广泛应用于食品加工、饲料、添加剂、农药、化工、冶金等行业中的配料称重仪器。对电子配料秤的主要要求是具有高速、高精度、高可靠性及高稳定性,而且在整个生产过程中需要动态连续或间歇性动态连续运行,称重配料系统均以单片机为核心,其硬件电路框图如图1所示。  

  
图1 电子配料秤的硬件电路框图   

    图1所示的电子配料秤虽然基本能满足生产的需要,但是由于系统扩展的外围功能器件较多,造成系统的电路复杂,故障率高,调试困难,编程复杂。经反复分析论证,我们以C8051F020为核心重新设计了电子配料秤,如图2所示。   


  
图2 以C8051F020为核心的电子配料硬件框图  

    使用C8051F020可使系统扩展的外围电路及接口电路数量大大减少,提高了系统的可靠性及稳定性,同时为系统的功能扩展及软硬件升级提供了方便。系统中利用了C8051F020的以下资源以简化原电路设计。   

(1)可编程增益放大器PGA   

    电子配料秤将被测物体的重量通过拉或压等形式将重量传递给称重传感器,称重传感器通常采用电阻应变桥式,其输出电压摆幅均为0V~数百mV,故需将此信号放大后才能提供给A/D转换器,可编程增益放大器的增益可根据称重传感器的满量程值和A/D转换器的参考电压值设置。   

(2)A/D转换器   

    C8051F020单片机具有12Bit分辨率的ADC和10Bit分辨率的ADC,这里使用12Bit分辨率的ADC,12Bit分辨率ADC的采样速率高达100KBps,利用C8051F020片内的ADC,一方面简化了原外围扩展的ADC,另一方面,其12Bit的精度和100KBps的采样速率使得本系统的测量精度和测量实时性大为提高,满足了本系统的动态精度要求和实时性要求,从而使本系统的前向通道更加稳定。   

(3)程序和数据存储器   

    C8051F020单片机片内具有64KByte的大容量FLASH程序存储器和4305Byte的数据存储器。这样可以满足电子配料秤存储复杂算法程序及大量数据的要求,同时为系统的软件升级预留了足够的空间,且简化了原外扩的程序及数据存储器。由于C8051F020支持在系统编程使得本系统的软件升级极为方便。   

(4)具有丰富的可编程数字I/O资源   

    本系统无须进行任何的外部I/O扩展即能满足本系统对I/O的需求,同时可使系统的人机通道和输入/输出开关量与CPU的联系更加通畅,而片内的12BitDAC更加完善了本系统的后向通道。  


(5)具有丰富的软件资源   

    为本系统使用C51等高级语言编程创造了良好的环境,高级语言编程环境可使本系统软件实现真正的模块化,也可使各种编程算法变得简单容易,同时也更加完善,因而大大改善了本系统的软件升级能力。   

(6)在线调试   

    由于片内具有JTAG和调试电路,通过JTAG可在生产现场对电子配料秤进行现场调试,因而便于解决生产中遇到的各种实际问题。   

(7)串行通信   

    C8051F020提供了UART、I2C、SPI等多种串行总线,故允许以多种方式来进行外部设备的扩展,同时更有利于构成多级分布式测控系统。

    利用C8051F020片内提供的功能强大、种类繁多的模拟与数字功能部件,可在基本不用进行外围电路扩展的情况下构成1个高速、高精度、易于扩展升级的连续动态配料称重电子秤系统。   

5 结束语   

    C8051F020是目前8位单片机中功能较强的1种,利用其强大的功能,无论是进行现有仪器仪表的升级换代还是复杂高性能的智能仪器仪表设计,都是非常理想的,因而该电路是智能仪器仪表的核心“单片机系统”的理想选择。

关键字:单片机  仪器仪表  电子配料秤 引用地址:单片机C8051F020及其在仪器和仪表中的应用

上一篇:一种基于AT89C51低频信号源的设计
下一篇:基于MCS-51单片机的IEEE-488接口设计

推荐阅读最新更新时间:2024-03-16 12:29

基于MSP430单片机的四旋翼 PID Control种群遗传算法
PID Control种群遗传算法: #include io430x14x.h #include stdlib.h #include sys.h #include Control.h #define col_MAX 50 //群体空间大小 #define var_p 65 //变异概率:65 对应的变异概率约等于0.001,655 为0.01 rand():0-65535 #define epoch_MAX 200 //进化代数 void inherit(void) //遗传进化PID { unsigned int colony ={ 62267,15
[单片机]
一种uIP TCP/IP协议栈在51系列单片机上的实现
一 引言   随着信息技术的不断发展,以及人们对日常生活舒适度、方便度要求的提高,信息家电、智能仪表等产品越来越频繁的出现在我们的生活当中;人们也越来越热衷于把家电、仪表等设备连接到Internet 中,从而可以方便、及时的对它们进行远程察看、远程控制。把这些设备接入Internet ,就需要考虑TCP/IP 网络协议的实现。   51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
[单片机]
一种uIP TCP/IP协议栈在51系列<font color='red'>单片机</font>上的实现
基于C8051F330便携式生理参数监测仪设计
    随着人们生活水平的提高,越来越多的人希望通过简便的方式了解身体基本状况。因此人体生理监护仪开始出现并呈不断增多的趋势,已经由过去的单一测试仪发展为现在的多参数监护仪。 在实际生活中,生理参数监测仪多是基于PC机平台的多参数测量、价格昂贵、体积庞大、不便于移动。现在多数生理参数监测仪无法准确的实时测量人体运动时的生理参数,导致有些人特别是老年人运动强度过大,对身体造成较大伤害。而教练员因无法准确掌握运动员运动时生理参数变化,而不能“因材施教”,有针对性的制定训练方案,所以运动员训练方式都是大众化训练。综上所述,开发一种体积小、价格低,基于嵌入式系统的便携式生理参数监测仪就具有重要的意义。 1 系统方案     本系统采用
[嵌入式]
精确到千分之一秒的单片机秒表程序(带仿真)
这个秒表程序是51hei单片机开发光盘里面附带的一个程序,可精确到千分之一秒,附件里面有仿真文件和hex文件.下载地址: http://www.51hei.com/bbs/dpj-19342-1.html #include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char sbit duxa=P2^6; sbit wexa=P2^7; sbit k1=P1^2; sbit k2=P1^3; sbit k3=P1^4; uchar temp,qian,bai,shi,ge; uint num,a,shu; uchar
[单片机]
51单片机串口通信
这节我们主要讲单片机上串口的工作原理和如何通过程序来对串口进行设置,以及根据所给出的实例实现与PC 机通信。 一、原理简介 51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。 与之前一样,首先我们来了解单片机串口相关的寄存器。 SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器
[单片机]
51<font color='red'>单片机</font>串口通信
51单片机流水灯控制(5种方法)
实现流程: 1. 新建一个工程(新项目) 2. 查看原理图确定需求(流水灯)对应LED引脚在单片机上的哪个引脚 3. 编写程序(通过查看原理图可以看到我们需要控制整个P2口以控制8个LED灯) 4. 编译程序,下载程序至开发板 5. 查看效果(调试) 进制转换表(因为单片机首先处理的是十六进制的数据,所以我们需要将二进制控制需求转换成十六进制去写代码): 控制代码: #include REGX52.H //头文件 #include Delay.h #include intrins.h /* ---------------------------------------------
[单片机]
51<font color='red'>单片机</font>流水灯控制(5种方法)
单片机startup.a51文件内容的详解
1.标号 IDATALEN EQU 80H ; the length of IDATA memory in bytes. 这里IDATALEN只是一个标号而已,和idata不是一回事!你要是愿意,这段程序里的IDATALEN你完全可以改成dog呀,pig呀,playboy呀这些标号(其实我的理想是过猪一样的生活,不愁吃喝,无忧无虑,可惜做不到),上面的这一句是说程序里面凡是用到IDATALEN的地方其实就是可以看成是80H这个数,你用80H去代替IDATALEN是完全对的。 之所以取IDATALEN这么个名字,只是为了好记,表明和idata有一点点关系,不至于你的程序长了,假使你本来是用了playboy作为标号的,写到
[单片机]
一个单片机串行数据采集/传输模块的设计
在微机测控系统中,经常要用到A/D转换。常用的方法是扩展一块或多块A/D采集卡。当模拟量较少或是温度、压力等缓变信号场合,采用总线型A/D卡并不是最合适、最经济的方案。这里介绍一种以GNS97C2051单片机为核心,采用TLC2543 12位串行A/D转换器构成的采样模块,该模块的采样数据由单片机串口经电平转换后送到上位机(IBM PC兼容机)的串口COM1或COM2,形成一种串行数据采集串行数据传输的方式。经实践调试证实:该模块功耗低、采样精度高、可靠性好、接口简便,有一定实用价值。 1 主要器件介绍 1.1 TLC2543串行A/D转换器 模块采用TI公司的TLC2543 12位串
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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