历史上的今天
返回首页

历史上的今天

今天是:2025年06月29日(星期日)

2020年06月29日 | 使用PCF8591对C8051F进行AD转换

2020-06-29 来源:eefocus

系统功能

使用PCF8591对C8051F进行AD转换。


硬件设计

使用PCF8591对C8051F进行AD转换电路原理图


软件设计


下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!

I2C(SMBus)详细程序请查看C8051F I2C(SMBus)程序。 


//目标系统: 基于C8051F单片机

//应用软件: Silicon IDE / Keil

/*01010101010101010101010101010101010101010101010101010101010101010101

----------------------------------------------------------------------

实验内容:

利用PCF8591进行AD数据转换,转换的值返回到P2口中,P2口与LED相连,观测LED灯是否正确显示

----------------------------------------------------------------------

硬件连接:

将P2口与8位LED指示灯相连。

在PCF8591的AIN0端口接入一个10K的电位器

DVK501(PCF8591PrlPort)    F320 EX

                           VCC    ---------   VCC

                           GND   ---------   GND

                           SDA    ---------   P1.0  

                           SCL    ---------   P1.1

----------------------------------------------------------------------

注意事项:

(1)若有加载库程序,请将光盘根目录下的“library”下的“C8051F”文件夹拷到D盘

(2)请详细阅读:光盘根目录下的“说明书首页.htm”里的相应产品说明

----------------------------------------------------------------------

10101010101010101010101010101010101010101010101010101010101010101010*/


#define _DVK501_F320_EX_


#include

#include <../../../../library/C8051F/ws_clock.h>

#include <../../../../library/C8051F/ws_delay.h>

#include <../../../../library/C8051F/ws_iic_port.h>

#include <../../../../library/C8051F/ws_pcf8591.h>


void main(void)

{

uchar *pGetDat,tmp = 0;


PCA0MD &= ~0x40; // Clear watchdog timer enable

clock_external(); // Set oscillator in external,the clock is 12M

delay_ms(100);

Check_SDA();

XBR1 = 0x40; // Enable crossbar and weak pull-ups

SMBus_Init();

Enb_Interrupt();


while(1)

{

PCF8591_getAD(MODE0,CHNL0,pGetDat);

if(*pGetDat != tmp)

{

showLine(11,1,lcd_buffer,"0x%x2",*pGetDat);

refreshLCD(lcd_buffer);

tmp = *pGetDat;

P2 = tmp;

}

delay_ms(100);

}

}


#define MODE0 0x00 //Channel0 = AIN0;

//Channel1 = AIN1;

//Channel2 = AIN2;

//Channel3 = AIN3;

#define MODE1 0x10 //Channel0 = AIN3-AIN0;

//Channel1 = AIN3-AIN1

//Channel2 = AIN3-AIN2;

#define MODE2 0x20 //Channel0 = AIN0;

//Channel1 = AIN1;

//Channel2 = AIN3-AIN2;

#define MODE3 0x30 //Channel0 = AIN1-AIN0;

//Channel1 = AIN3-AIN2;

#define CHNL0 0 //Using Channel0

#define CHNL1 1 //Using Channel1

#define CHNL2 2 //Using Channel2

#define CHNL3 3 //Using Channel3


#define DAouputEn 0x40 //0x50 or 0x60 or 0x70 is also ok!


void PCF8591_getAD(uchar mode,uchar chan,uchar *ADC)

{

SMBus_Write(0x90,mode|chan,0,1);

SMBus_Read(0x91,ADC,1);

}


void PCF8591_setDA(uchar val)

{

SMBus_Write(0x90,DAouputEn,val,2);

}


系统调试

调电位器上的旋钮,观察每次调完后LED灯的现象。

推荐阅读

史海拾趣

Aeroflex Metelics / Hi-Rel Components公司的发展小趣事

Aeroflex Metelics / Hi-Rel Components是一家专注于高可靠性电子组件的制造商,为航空航天、国防、医疗和工业等领域提供高性能的组件和解决方案。以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: Aeroflex Metelics / Hi-Rel Components的历史可以追溯到1960年代初,当时该公司作为Metelics的一部分,成立于美国马萨诸塞州的劳伦斯市。最初,公司主要生产用于微波和射频应用的二极管和其他电子元件,为国防和航空航天等行业提供关键的部件。

  2. 技术创新和产品多样化: Aeroflex Metelics / Hi-Rel Components致力于技术创新和产品多样化,不断推出符合行业标准和客户需求的新产品。公司的产品范围逐渐扩展,包括功率放大器、混频器、开关和整流器等,涵盖了广泛的应用领域。

  3. 质量管理和认证: 为确保产品质量和可靠性,Aeroflex Metelics / Hi-Rel Components严格执行质量管理体系,并获得了多项国际认证,如ISO 9001和AS9100。公司在生产过程中采用先进的工艺和测试技术,确保产品符合客户的高要求和严格标准。

  4. 全球供应链和市场拓展: 随着业务规模的扩大和市场需求的增长,Aeroflex Metelics / Hi-Rel Components不断优化全球供应链,并在美国和其他地区建立了多个生产基地和销售办事处。公司通过广泛的销售网络和服务体系,加强了对客户的支持和服务,并开拓了新的市场领域。

  5. 成为行业领先供应商: 多年来,Aeroflex Metelics / Hi-Rel Components凭借其卓越的技术、丰富的经验和优质的产品,成为航空航天、国防和医疗等行业的重要供应商之一。公司在高可靠性电子组件领域的领先地位得到了进一步巩固,为客户提供了高品质、可靠的解决方案,赢得了良好的声誉和市场地位。

FINISAR公司的发展小趣事

2018年,FINISAR被II-VI Incorporated(II-VI公司)收购。II-VI是一家同样位于美国的光电子元件和材料制造商,专注于提供各种光学产品和解决方案。这次收购对FINISAR而言是一次重要的发展机遇。通过整合两家公司的资源和技术优势,FINISAR能够进一步扩大在光通信市场的业务规模,提升技术实力和产品组合。同时,这也为FINISAR带来了更广阔的发展空间和更多的市场机会。

以上五个故事展示了FINISAR公司在电子行业中从创立到发展壮大的历程以及所取得的成就和面临的挑战。这些故事不仅反映了FINISAR在技术创新、全球化布局、知识产权保护以及企业发展战略等方面的努力和成果,也展现了公司在光通信行业中的重要地位和影响力。

Hantronix公司的发展小趣事

随着全球对环保问题的日益关注,HANBIT Electronics积极响应,将绿色生产纳入公司发展战略。2020年,公司投资建立了绿色生产线,采用环保材料和清洁能源进行生产,实现了生产过程中的节能减排。同时,公司还推出了多款环保型电子产品,满足消费者对绿色、低碳生活的需求。这一举措不仅提升了公司的品牌形象,也为其在可持续发展的道路上赢得了更多机遇。

Hirosugi-Keiki公司的发展小趣事

面对电子行业的快速变化,HANBIT Electronics始终保持敏锐的市场洞察力。2025年,公司宣布与一家领先的物联网技术公司达成战略合作,共同开发智能家居解决方案。这一跨界合作不仅为HANBIT Electronics带来了新的增长点,也使其能够借助物联网技术的力量,进一步拓展在智能家居、智慧城市等新兴领域的应用。通过不断探索和尝试,HANBIT Electronics在保持传统业务优势的同时,也为公司的未来发展开辟了新的道路。

HM International公司的发展小趣事

面对电子行业日益激烈的竞争环境,HANBIT Electronics深刻认识到供应链整合的重要性。2015年,公司启动了全面的供应链优化项目,通过引入先进的ERP系统和自动化生产设备,实现了生产流程的数字化和智能化改造。同时,公司加强与上下游合作伙伴的沟通与协作,建立了稳定的供应链体系。这一举措不仅提高了生产效率和产品质量,还有效降低了库存成本和运营风险。

Brainboxes公司的发展小趣事

Brainboxes拥有一流的内部制造设施和全球供应链,这使得公司在产品研发和生产方面具有极大的灵活性。内部制造设施保证了产品的高品质和快速交付,而全球供应链则确保了公司能够及时获取所需的原材料和零部件。这种高效的生产模式使得Brainboxes能够迅速响应市场需求,为客户提供优质的产品和服务。

问答坊 | AI 解惑

宝钢的变频器应用

4、  在宝钢,交流变频调速技术的应用尚有待开拓的新领域      在宝钢,交流电动机变频调速技术虽然已得到了普遍的应用。但是,仍有待开拓的新领域:其一是风机、水泵设备的节能调速,其二是行车卷扬系统的节能调速。可以 ...…

查看全部问答>

求助啊----电子应答系统的设计

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 题目要求:货物存放在一个仓库里,由于货物产品规格不容易分辨,所以查找不方便,现在需设计一个电子自动应答器,当在仓库门口发射某个规格的产品需求信号以后,仓库里边相关的货物上携带的应 ...…

查看全部问答>

几种常用流量计的基础知识和比较

几种常用流量计的基础知识和比较;差压流量计(DP)是最普通的流量技术,包括孔板、文丘里管和音速喷嘴。DP流量计可用于测量大多数液体、气体和蒸汽的流速。DP流量计没有移动部分,应用广泛,易于使用。但堵塞后,它会产生压力损失,影响精确度。流量 ...…

查看全部问答>

VFC 和ADC之比较

信号转换常用两种方式 VFC&ADC 比较 [ 本帖最后由 aiwenzx 于 2009-6-2 10:25 编辑 ]…

查看全部问答>

Linux核心手册.chm

Linux核心手册.chm…

查看全部问答>

探头的基本信息

模拟通道探头包括无源/有源电压探头,高压探头,差分探头,电流探头。数字通道的探头有提供多种连接附件方便与被测物相连接。 探头类型 带宽 描述   有源电压探头 750 MHz - 6 GHz 提供最广泛的信号带宽和更低的探头负载, ...…

查看全部问答>

Marvell-PXA168开发板

Marvell-PXA168开发平台简介: 一:系统主要特性: ------------------------------------------- 1:内核总线频率1.2G,L1/L2 64K两级高速缓存 2:支持DDR2(1066M)最大DDR2访问速度 3:Mini PCI-E2接口 4:GPS 内置加速器 5:高速DMA通道 6:2D硬件 ...…

查看全部问答>

请教关于NK大小的问题

请问如果想把NK.NB0调到36.3M左右,需要修改哪些位置???? 现在我在config.bib中将NKSIZE设置成2450000,在platform->setting中设置可以大于32M限制 但是在下载的过程中发现 在flashwrite中             &nbs ...…

查看全部问答>

SPARTAN6试用-SDK

 最近一直业务繁忙啊,所以这次拿到开发板真是有点难过,基本上没时间用用。:L 趁着休息做个试验报告吧。        SDK是ISE嵌入式套装里面的一个工具软件,早期版本基本忽略其存在,但是ISE11之后加上开发 ...…

查看全部问答>