P89LPC938单片机A/D转换教程与测试例程

4星 · 超过85%的资源 需积分: 10 3 下载量 150 浏览量 更新于2024-09-13 收藏 153KB PDF 举报
"P89LPC938是一款由PHILIPS公司推出的Flash单片机,主要特点是拥有一个10位精度的8通道A/D转换器。该单片机适合初学者学习,提供源代码和解释。文章讨论了LPC938在A/D转换使用上与LPC900系列的差异,并提供了测试例程。在使用LPC938的A/D转换器时,需要注意寄存器的使用,例如AD0DATxR和AD0DATxL用于存储转换结果,而ADC0HBND和ADC0LBND是边界寄存器。此外,一些寄存器需要外部寻址。ADCON0的地址在LPC938和LPC935中不同,编程时需注意。提供的C51版参考例程展示了如何对通道AD0进行A/D转换并将结果通过UART发送到PC。" 在LPC938单片机中,A/D转换是其核心功能之一,尤其对于那些需要处理模拟信号的应用来说至关重要。这款单片机的A/D转换器具有8个输入通道,每个通道都可以进行10位精度的转换。这意味着它可以将模拟信号转化为数字值,分辨率达到了1024个级别(2^10)。这样的精度在许多嵌入式系统设计中是足够的。 在实际操作中,A/D转换的结果会存储在两个寄存器中,即AD0DATxR和AD0DATxL。AD0DATxR保存转换结果的低8位,而AD0DATxL保存高2位和次高位,这样组合起来就构成了完整的10位数字。边界寄存器ADC0HBND和ADC0LBND用于指示转换结果的有效范围。 使用LPC938的A/D转换器时,需要注意某些寄存器,如ADC0HBND、ADC0LBND、AD0DATxR、AD0DATxL和BNDSTA0,它们需要通过外部寻址(MOVX)来访问。这可能需要在编程时特别处理,特别是在从其他LPC900系列单片机的经验中转移过来时,因为不同型号的单片机其内部结构和寄存器地址可能会有所不同。 在LPC938中,ADCON0寄存器的地址是97h,这与LPC935中的地址不同。ADCON0是控制A/D转换的主要寄存器,包含了启动转换、选择通道等关键设置。因此,如果使用错误的头文件,可能导致程序无法正常工作。 提供的测试例程是一个C51语言编写的程序,用于对通道AD0执行A/D转换,并通过UART接口将结果发送到个人计算机。这个例子有助于初学者理解如何在实际项目中集成A/D转换功能,并通过串行通信传递数据。 P89LPC938单片机的A/D转换特性为开发涉及模拟信号处理的嵌入式系统提供了便利。通过理解其工作原理和正确使用相关寄存器,开发者可以有效地利用这一功能进行各种实时数据采集和处理。