P89LPC938单片机A/D转换教程与测试例程
4星 · 超过85%的资源 需积分: 10 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转换特性为开发涉及模拟信号处理的嵌入式系统提供了便利。通过理解其工作原理和正确使用相关寄存器,开发者可以有效地利用这一功能进行各种实时数据采集和处理。
2012-11-06 上传
2015-05-28 上传
2020-07-25 上传
2021-09-30 上传
2021-11-29 上传
2022-01-22 上传
2024-03-15 上传
2021-03-16 上传
2022-09-21 上传
晶晶jj
- 粉丝: 0
- 资源: 1
最新资源
- PureMVC AS3在Flash中的实践与演示:HelloFlash案例分析
- 掌握Makefile多目标编译与清理操作
- STM32-407芯片定时器控制与系统时钟管理
- 用Appwrite和React开发待办事项应用教程
- 利用深度强化学习开发股票交易代理策略
- 7小时快速入门HTML/CSS及JavaScript基础教程
- CentOS 7上通过Yum安装Percona Server 8.0.21教程
- C语言编程:锻炼计划设计与实现
- Python框架基准线创建与性能测试工具
- 6小时掌握JavaScript基础:深入解析与实例教程
- 专业技能工厂,培养数据科学家的摇篮
- 如何使用pg-dump创建PostgreSQL数据库备份
- 基于信任的移动人群感知招聘机制研究
- 掌握Hadoop:Linux下分布式数据平台的应用教程
- Vue购物中心开发与部署全流程指南
- 在Ubuntu环境下使用NDK-14编译libpng-1.6.40-android静态及动态库