十速单片机TM57PA40有程序范例提供参考吗?

找厂家吧利用ADD7705采样数据,与51单片机通讯,硬件连接是:P3.1提供数据脉冲,与AD7705的SCLK管脚连接,P3.0与DOUT,DIN相连,并接上拉电阻,利用51串口方式1工作,程序如下:#include#includesbitAD7705_DATA=P3^0;//AD7705input&outputdatasbitAD7705_CLK=P3^1;//AD7705CLKsbitAD7705_DRDY=P2^...
十速单片机TM57PA40有程序范例提供参考吗?
利用ADD7705采样数据,与51单片机通讯,硬件连接是:P3.1提供数据脉冲,与AD7705的SCLK管脚连接,P3.0与DOUT,DIN相连,并接上拉电阻,利用51串口方式1工作,程序如下:#include#includesbitAD7705_DATA=P3^0;//AD7705input&outputdatasbitAD7705_CLK=P3^1;//AD7705CLKsbitAD7705_DRDY=P2^7;//AD7705datareadysbitDIS=P4^1;unsignedintdata_out;unsignedcharrearrange(unsignedchara){unsignedchari,b;b=a&0x01;for(i=1;i>1;b=b+(a&0x01);}return(b);}/*******************************************************/voidDelayms(unsignedcharms)//relayms{unsignedchari;while(ms--){for(i=0;i<124;i++);}}/****************************************************************/voidWriteToReg_ADC(unsignedchara){SBUF=a;while(!TI);TI=0;}/*************************************************************/voidAD7705_Init(){WriteToReg_ADC(0x04);//write0x20tocommunicationregistertochoosechannel0//andclockregisterforthenextonetowriteWriteToReg_ADC(0x20);//0x04toCLR,2.4576MHz,50Hz.WriteToReg_ADC(0x08);//write0x10tocommunicationregistertochoosechannel0//andsetupregisterforthenextonetowriteWriteToReg_ADC(0x62);//0x44,1,bufferoff,FSYNC=0,andself-calibration}/*************************************************************/unsignedintReadWord(){unsignedcharhigh8,low8;unsignedintout;while(AD7705_DRDY);SCON=0x10;while(!RI);high8=SBUF;RI=0;while(!RI);low8=SBUF;REN=0;out=rearrange(high8);out=out<<8;out=out+rearrange(low8);return(out);}main(){AD7705_Init();while(1){DIS=0;Delayms(80);DIS=1;Delayms(80);WriteToReg_ADC(0x1c);data_out=ReadWord();}}问题是,AD7705好象没有工作,管脚DRDY一直处于高电平,希望高手指点先谢谢了!问题补充:串口方式是采用方式0,是我打错了,这个程序是最先的现在改为AD7705的复位引脚和片选引脚都用I/O口控制,采用模拟时钟,不过结果还是那样,DRDY没有低电平,AD7705似乎没有工作:我来帮他解答满意回答检举|2008-11-1419:171.51串口方式1有停止位,每次发送一个字节,将产生至少九个时钟脉冲。而AD7705每发送或接收一个字节只需要八个时钟脉冲(多一个就乱了),多发的脉冲将破坏通信的同步,应该用串口方式0吧。2.强烈建议用一个I/O口线去控制AD7705的RESET脚,每当通信没能同步时,发一个复位脉冲即可实现同步通信。3.P3.0与DOUT,DIN相连”,如果一切正常的话,这样设计挺好的;但是,一旦通信没能同步,出现AD7705与51单片机同时往数据线上发数据,引起冲突。可能会损害芯片。建议DOUT、DIN分开走线(尽管线多了点)。我是用AVR单片机做的AD7705测试程序,AVR直接有SPI接口。2020-12-18
找十速公司要咯,肯定有范例的2012-10-19
找厂家吧2012-10-24
我有 留下点什么2012-10-23
cdw 阅读 20 次 更新于 2025-08-10 06:01:46 我来答关注问题0
词典网在线解答立即免费咨询

范例范文相关话题

Copyright © 2023 cidian.nuo5.com - 词典网 打一生肖 英语单词  夜唱网  免费精准算命
返回顶部