历史上的今天
返回首页

历史上的今天

今天是:2025年01月09日(星期四)

正在发生

2018年01月09日 | SPI串行接口AD转换器TLC2543的驱动程序

2018-01-09 来源:eefocus

SPI串行接口AD转换器TLC2543的驱动程序

//-----------------------函数声明,变量定义-------------------------------------------------------- 
#include  
#include  
//--------------------------------------------------------------------------------------------------


//       2543控制引脚宏定义 
//-------------------------------------------------------------------------------------------------- 
sbit SS1=P1^0;                          // 将p1.0口模拟片选 
sbit SCK=P1^1;                          // 将p1.1口模拟时钟输出 
sbit MOSI=P1^2;                         // 将p1.2口模拟主机输出 
sbit MISO=P1^3;                         // 将p1.3口模拟主机输入 
//-----------------------预定义控制字-------------------------------------------------------- 
#define CONTROL_WORD  0x00              //选择通道0,输出数据长度12bit,MSB,单极性二进制数 
//-------------------------------------------------------------------------------------------------- 
// 函数名称: delay 
// 入口参数: N 
// 函数功能:延时子程序,实现(16*N+24)us的延时  
// 系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动 
//-------------------------------------------------------------------------------------------------- 
  void delay(unsigned  int N)   
  { 
  int i;  
  for(i=0;i  } 
//-------------------------------------------------------------------------------------------------- 
//  名称:read2543 
//  功能:TLC2543驱动模块 
//  输入参数:CON_WORD控制字 
//  输出参数:ad转换值 
//-------------------------------------------------------------------------------------------------- 
unsigned int read2543(unsigned char CON_WORD) 

unsigned int ad=0,i; 
SCK=0; 
SS1=0; 
for(i=0;i<12;i++) 

  if(MISO) ad|=0x01; 
  MOSI=(bit)(CON_WORD&0x80); 
  SCK=1; 
  delay(3); 
  SCK=0; 
  delay(3); 
  CON_WORD<<=1; 
  ad<<=1; 

SS1=1; 
ad>>=1; 
return(ad); 


//-------------------------------------------------------------------------------------------------- 
//  名称:main 
//  功能:主函数 
//  输入参数:无 
//  输出参数:无 
//-------------------------------------------------------------------------------------------------- 
void main() 
{unsigned int ad; 
while(1) 

  ad=read2543(CONTROL_WORD); 


推荐阅读

史海拾趣

Gumstix公司的发展小趣事
检查压敏元件是否老化或受到污染,必要时更换新的压敏元件。同时,也可以考虑调整电路参数以提高灵敏度。
aconno公司的发展小趣事

在追求经济效益的同时,aconno公司也积极履行社会责任,致力于实现可持续发展。公司注重环保和节能,采用环保材料和工艺,减少生产过程中的污染排放。此外,aconno还积极参与社会公益事业,为弱势群体提供帮助和支持。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

以上便是关于aconno公司在电子行业中发展起来的5个相关故事。这些故事展示了aconno在创新、品质、市场、人才和社会责任等方面的努力和成就,为公司的长远发展奠定了坚实的基础。

Cermetek Microelectronics公司的发展小趣事

随着公司规模的扩大和业务的增长,Cermetek Microelectronics公司开始实施国际化战略。公司积极拓展海外市场,与多个国家和地区的客户建立了合作关系。同时,公司还在海外设立了研发中心和生产基地,以更好地服务全球客户。这种全球布局不仅提升了公司的国际竞争力,也为公司的长远发展奠定了坚实的基础。

ETRI公司的发展小趣事

作为一家具有全球视野的研究机构,ETRI也积极拓展海外合作。他们与金陵华软投资集团(CSC)共同签署了战略合作备忘录,双方将在新技术对接、投资服务、资源共享、信息交流等方面实现合作。这一合作不仅有助于ETRI拓展海外市场,也将为双方带来更多的发展机遇。

Ark-Les Connectors公司的发展小趣事

Ark-Les Connectors公司从一家小型电子连接器制造商起步,凭借其不断的技术创新,逐渐在行业中崭露头角。公司研发团队致力于开发高性能、高可靠性的连接器产品,满足日益增长的电子设备连接需求。通过对材料科学的深入研究,Ark-Les成功研发出新型耐高温、耐腐蚀的连接器材料,大大提高了产品的使用寿命和稳定性。这一创新不仅赢得了客户的广泛认可,也为公司带来了可观的市场份额。

Cal Test Electronics公司的发展小趣事

随着客户需求的多样化,Cal Test Electronics开始关注小批量定制型测试电缆组件的市场。公司利用自身的技术优势和生产能力,为客户提供个性化的定制服务。这些定制产品不仅满足了客户的特殊需求,也提高了公司的市场竞争力。通过这一策略,Cal Test Electronics成功打开了一个全新的市场领域,为公司的发展注入了新的动力。

问答坊 | AI 解惑

晶体管的置换(代换)原则

我们在维修、设计和实验或试制中,常常会碰到晶体管的置换(代换)问题。如果掌握了晶体管的置换(代换)原则,就能使工作初有成效。其置换(代换)原则可划分为三种:即类型相同、特性相近、外形相似。 开关电源,变压器,电源模块,脉宽调制,发 ...…

查看全部问答>

风电词汇中英文对照表4

sprocket 链轮齿 spur gear正齿轮 spur wheel gear正齿轮 square 平方;方块;【修】矩形[SQ],正方形的, 四方的, 直角的, 正直的, 公平的, 结清的, 平方的, 彻底的 square nut 四方螺母, 螺帽 square thread矩形螺纹 square-head bo ...…

查看全部问答>

KITL的问题

以太网的KITL已连通,加载了一些东西就停了。用的优龙2440a开发板, PB中显示: 294772034 PID:c3d93bfa TID:c3d934aa 0x83d93000: [dm9: Chip signature is 90000A46 4294772041 PID:c3d93bfa TID:c3d934aa 0x83d93000: ***NDIS*** (a, 534) ...…

查看全部问答>

关于altera与actel芯片通信的问题

我现在在做毕业设计,我在altera的开发板上进行了简单SPI口的设计,通信正常,能用四根线进行十位二进制的串行传输,并能将传来的数据显示在四位数码管上,也就是用同一块altera的芯片做主片和从片的任务,试验是对的。然后我再将从片的程序烧在ACT ...…

查看全部问答>

EVE下移位的奇怪问题

请问: 1 如果我的CPU是32的,byte a=16; a…

查看全部问答>

51是很流行,很强大,但不适合未来硬件系统的发展.

51是很流行,很强大,但不适合未来硬件系统的发展. 虽然勉强有许多厂商提供带扩展的接口、单周期的片子,51的速度也太落后了,首先指令位长这点就是命门。 流行的东东不一定是好的,关键是要技术能进步的。 执行一个程序周期太长是致命伤。 现在 ...…

查看全部问答>

STM32DSPLib数字滤波FIR没例子啊!

STM32 DSPLib 数字滤波FIR没例子啊!不知到如何使用。;void fir_16by16_stm32(void *a, void *x, COEFS *c, u32 N) 哪位大虾指教一下。谢谢!…

查看全部问答>

TPS61059 可为作为相机闪光灯或电影照明灯的白光 LED 供电

使用白光 LED 的一个难题在于如何使用输入电压宽泛的电池为其供电。 德州仪器 (TI) 便携式电源 DC/DC 应用部工程师Scot Lester为您答疑解惑。…

查看全部问答>

cpld内程序问题?请高手解答

我在CPLD内写了如下程序:always@(posedge CLK1)begin     if(reset==0)    OE373 = 1; else if(ADDR[6:0]==7\'h19&&STRB==1\'b0)                OE37 ...…

查看全部问答>