完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
各位大哥大姐帮下忙谢谢了先!
DRDY一直为高电平,AD7705似乎没有工作
#include #include***it addata = P3^0 ;***it sclk = P3^1 ;***it drdy = P2^7 ; ***it LED=P4^1;***it AD7705_CS=P2^5; //片选//***it AD7705_RESET=P2^4; //复位//#define uchar unsigned char#define uint unsigned intvoid wrbyt(uchar shu);int rdbyt( );void ad7705_init( void ) ;void delay(uchar t);/************************************************///写一个字节//void wrbyt( uchar shu ){ uchar i ; AD7705_CS=0; // CS ON sclk=1; _nop_(); _nop_();for(i=0;i<8;i ++) { addata=(bit)(shu&0x80); sclk = 0 ; _nop_(); _nop_(); _nop_(); sclk = 1 ; shu = shu<<1 ; } _nop_(); AD7705_CS=1; //CS OFF}/************************************************///读一个字//int rdbyt( void ){ int temp ; uchar j ; AD7705_CS=0; // CS ON sclk=1; _nop_(); for(j=0;j<8;j++) { sclk = 0 ; _nop_(); _nop_(); temp = temp<<1; temp|=(uchar)addata; _nop_(); _nop_(); sclk =1; _nop_(); _nop_(); } _nop_(); AD7705_CS=1; // CS OFF drdy=1; return (temp ) ; }/************************************************///初始化AD7705//void ad7705_init( void ){ wrbyt( 0x20 ) ; wrbyt( 0x0C) ; //写时钟寄存器// wrbyt( 0x10 ) ; wrbyt( 0x44 ) ; //写设置寄存器// }
/************************************************///主函数//void main(){ uint v_temp ; AD7705_RESET=1; ad7705_init() ;while( 1 ) { while(drdy); wrbyt( 0x38 ) ; //addata=1; //每次写操作后保证DIN为高电平// v_temp = rdbyt() ; delay(50); sclk=1; addata=1; //防止误读// }}
举报
yangxiaobonihao
h1708587189.2577
陈博
发布
华大单片机如何开启或关闭全局中断
875 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
730 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
888 浏览 0 评论
关于超声波水表的单片机原理图
1566 浏览 3 评论
由于 Windows 无法加载这个设备所需的驱动程序,导致这个设备工作异常?
2452 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
3760 浏览 31 评论
电子发烧友网
电子发烧友论坛
查看 »
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 15:51 , Processed in 0.507606 second(s), Total 66, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com