C8051F350单片机24位ADC测试程序

版权申诉
5星 · 超过95%的资源 3 下载量 95 浏览量 更新于2024-10-30 收藏 1.34MB ZIP 举报
资源摘要信息:"C8051F350实验例程" 知识点: 1. C8051F350单片机概述: C8051F350是Silicon Labs公司推出的一款高性能8位微控制器(MCU),属于C8051F系列。它采用公司特有的CIP-51微控制器核心架构,该核心与Intel 8051内核指令集兼容,但是拥有更高性能。C8051F350特别适合用于对性能要求较高的嵌入式应用,例如工业控制、仪器仪表和智能传感器等领域。 2. 24位ADC(模数转换器): ADC是将模拟信号转换为数字信号的模块,在C8051F350单片机中,24位ADC指的是具有24位解析度的模数转换器。这意味着它可以将模拟信号细分至2^24(16,777,216)不同的级别,从而提供更高的测量精度和分辨率。这样的高精度ADC在需要高分辨率数据采集的场合(如精密测量、数据采集系统等)非常有用。 3. 单片机测试程序: 测试程序通常用于验证单片机的功能是否按预期工作。在该例程中,测试程序将检查C8051F350单片机的各个功能模块,包括CPU、存储器、I/O端口、定时器、串行通信接口以及关键的ADC模块。测试程序通过执行一系列指令来检测单片机的响应和性能,确保其在实际应用中能够可靠地工作。 4. 单片机编程与开发: 开发C8051F350单片机程序时,工程师通常会使用C语言或者汇编语言。在使用C语言时,可能会用到Silicon Labs提供的软件开发工具,如Keil C51、IAR Embedded Workbench等。这些工具能够帮助开发者编译代码、调试程序,并且能够将编译好的程序烧录到单片机内部。 5. 实验例程的应用场景: 实验例程通常是为了教学或研发目的而设计,帮助开发者理解单片机的基本操作和特定功能。通过运行实验例程,开发者可以学习如何初始化ADC模块,配置各种参数,并且读取ADC转换结果,从而对ADC模块进行实际测试和应用。这对于学习如何在更复杂的系统中集成和使用C8051F350单片机具有很高的价值。 6. 压缩包子文件的文件名称列表: "软件例程"可能指的是包含了C8051F350实验例程相关源代码、编译生成的二进制文件、相关配置文件以及可能的说明文档的压缩包。开发者可以下载这样的压缩包,解压后获得所需的文件来开始他们的开发工作。 7. 开发环境搭建: 为了能够运行C8051F350实验例程,开发者需要搭建相应的开发环境。这包括安装开发工具,获取单片机的编程器和调试器(如果需要硬件支持),以及熟悉单片机的硬件接口和开发工具的使用方法。对于这个特定的单片机,可能还需要安装针对C8051F系列的特殊驱动程序和软件库。 8. 版本控制和固件升级: 在开发过程中,可能会涉及到代码的版本控制,确保代码的变更可以被跟踪和管理。开发者可能使用Git等版本控制工具来管理自己的代码库。此外,对于可编程的单片机来说,固件升级是常见的需求,因此了解如何通过编程器将新的固件烧录到单片机中也是十分重要的。 9. 调试和性能优化: 开发过程中不可避免的环节是调试和性能优化。对于C8051F350实验例程,开发者可能需要使用逻辑分析仪、示波器等工具来观察单片机的工作状态,并通过调试工具来逐步执行代码,检查内存、寄存器和外设的状态,以确保程序运行无误并达到预期的性能标准。 通过上述知识点的介绍,我们可以看到,C8051F350实验例程为开发者提供了一个很好的起点,来理解和掌握使用Silicon Labs的高性能单片机进行嵌入式系统开发的基本技能。
2014-03-23 上传
/----------------------------------------------------------------------------- // F35x_ADC0_Buffered.c //----------------------------------------------------------------------------- // Copyright 2004 Silicon Laboratories, Inc. // // AUTH: BD / PC / BW // LMOD: BW 15 JUL 2004 // DATE: 06 APR 2004 // // This program demonstrates taking measurements using the 24-bit ADC on the // C8051F350/51 devices. // // Input pin configuration shown in ADC0_Init(). // // For a Noise measurement, connect AIN0 and AIN1 to AGND at the terminal // block. Set "USE_FLOAT" to '1', "PRINT_STATISTICS" to '1', // "PRINT_SAMPLES" to '0', and "PRINT_VOLTAGES" to '0'. // // This software configures the ADC to use an external VREF. Therefore, // on the 'F350 target board, J13 and J14 should have their shorting blocks // installed. // // The standard deviation (Sigma) of a sample set is equivalent to the // effective RMS noise of the conversion system. "Sigma", when converted // to Volts, is equivalent to the input-referred noise floor of the // sampling system. // // Typical values of Sigma from the C8051F350 rev B target board with // AIN0 and AIN1 grounded at the terminal block are around 9 to 11 LSBs // in bipolar mode. For a DC measurement, this is equivalent to a Signal- // to-Noise ratio of about 117dB, or about 20 bits of effective dynamic // range. // // 117dB = 20 log10 ( 11 / 2^23) // 20 bits = 117dB / 6dB/bit // // Another parameter of note for integrating converters is the number of // Noise-Free bits. For a Gaussian-distributed noise floor, this number // can be obtained by multiplying Sigma by 6, evaluating the number of // bits required to contain the result, and subtracting this number of // bits from the 24 available bits, as follows: // // 10 LSBs * 6 = 60 LSBs, which can be contained in 6 bits. Noise-free // resolution is 24bits - 6 bits = 18 bits. // // Refer to 'F350 datasheet tables "ADC0 Electrical Characteristics" and // "Absolute Maximum Ratings" for the MIN/MAX voltage range on input pins. // // If using the eval version of the Keil compiler, set "USE_FLOAT" to '0' // and calculate the standard deviation by taking the square root // of "variance". // // Target: C8051F35x // // Tool chain: KEIL C51 // // v1.0 PC 26 MAY 2004 // Initial Revision (Adapted from 'F350 Temp Sensor Demo) // // set USE_FLOAT to '0' to use EVAL version of Keil compiler