久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
自己做的51單片機控制AD7746芯片讀取電容值
[打印本頁]
作者:
王祖全123
時間:
2017-2-24 10:31
標題:
自己做的51單片機控制AD7746芯片讀取電容值
花了一個人月的時間用51單片機來讀取AD7746芯片的電容采集程序
本人已作出調試成功,歡迎下載
0.png
(59.75 KB, 下載次數: 127)
下載附件
2017-2-25 01:34 上傳
完整程序代碼下載:
AD7746數碼管.zip
(73 KB, 下載次數: 140)
2017-2-24 10:31 上傳
點擊文件名下載附件
采集到的電容值通過數碼管顯示
下載積分: 黑幣 -5
部分源碼預覽:
#include <reg52.h>
#include <intrins.h>
#define MAIN_Fosc 11059200UL //宏定義主時鐘HZ
/*位聲明*/
sbit SCL=P1^0;
sbit SDA=P1^1;
//sbit RDY=P3^3;
sbit DU=P2^1; //數碼管段選
sbit WE=P2^3; //數碼管位選
#define CAPDAC 0
unsigned long int H,M,L;//
unsigned char MRD[3]={0,0,0};
/*自定義類型名*/
typedef unsigned char INT8U;
typedef unsigned char uchar;
typedef unsigned int INT16U;
typedef unsigned int uint;
float cfvalue; //得到的溫度值
/*************************數碼管程序**************************/
/*數碼管毫秒級延時函數*/
void Delay_Ms(INT16U ms)
{
INT16U i;
do{
i = MAIN_Fosc / 96000;
while(--i); //96T per loop
}while(--ms);
}
/*共陰極數碼管段選碼*/
uchar code table[]={
//0 1 2 3 4 5 6 7 8
0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,
//9 A B C D E F - . 關顯示
0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x40, 0x80, 0x00
};
/*共陰極數碼管顯示函數*/
void Display(uchar cfvalue)
{
//------------------------------
DU = 1;
P0 = table[cfvalue/100]|0x80; //管顯示百位
DU = 0;
P0 = 0xff; //清除斷碼
WE = 1;
P0 = 0xfe; //第一位數碼管
WE = 0;
Delay_Ms(5);
//-------------------------------
DU = 1;
P0 = table[cfvalue%100/10]; //顯示十位
DU = 0;
P0 = 0xff; //清除斷碼
WE = 1;
P0 = 0xfd; //第二位數碼管
WE = 0;
Delay_Ms(5);
//-------------------------------
DU = 1;
P0 = table[cfvalue%10]; //顯示個位
DU = 0;
P0 = 0xff; //清除斷碼
WE = 1;
P0 = 0xfb; //第三位數碼管
WE = 0;
Delay_Ms(5);
}
/*************************IIC程序**************************/
/*IIC延時函數*/
void delay( )//微秒延時
{;;}
//開始信號
void start()
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
}
//停止
void stop()
{
SDA=0;
delay();
SCL=1;
delay();
SDA=1;
delay();
}
//應答
void respons()
{
uchar i;
SCL=1;
delay();
while((SDA==1)&&(i<250));
SCL=0;
delay();
}
//初始化
void init()
{
SDA=1;
delay();
SCL=1;
delay();
}
//IIC寫入一個字節
void write_byte(uchar date)//II2給AD7746 寫一個字節 例如電容
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
SCL=0;
delay();
SDA=CY;
delay();
SCL=1;
delay();
}
SCL=0;
delay();
SDA=1;
delay();
}
//IIC讀取一個字節
uchar read_byte()//讀一個字節 把AD7746中的數據讀送給II2總線
{
uchar i,k;
SCL=0;
delay();
SDA=1;
delay();
for(i=0;i<8;i++)
{
SCL=1;
delay();
k=(k<<1)|SDA;
SCL=0;
delay();
}
return k;
}
/*************************AD7746程序**************************/
//重置AD7746
void AD7746_reset()
{
start();
write_byte(0xBF); //AD7746重置
stop();
}
//AD7756指定地址寫
void write_add(uchar addr,uchar date)
{
start();
write_byte(0x90);
respons();
write_byte(addr);
respons();
write_byte(date);
respons();
stop();
}
//讀取AD7746的值
void read_add(uchar *p,uchar n)
{
uchar i;
start();
write_byte(0x90);
respons();
write_byte(0x01);
respons();
start();
write_byte(0x91);
respons();
for(i=0;i<n;i++)
{
*p=read_byte();
p++;
}
stop();
}
//總初始化
void initt()
{
init(); //初始化
AD7746_reset(); //重置
write_add(0x07,0x80);//地址0x07,設置成0x80使能電容通道,單端輸入
write_add(0x09,0x2B);//EXC設置
write_add(0x0A,0xA1);//配置寄存器 地址指針0x0A,設置成0xA1(連續轉換模式)
write_add(0x0B,0x80);//電容DAC A
write_add(0x0C,0x80);//電容DAC B
}
void main()
{
initt();
while(1)
{
read_add(MRD,3);//讀取的值共有3個字節24位
H=MRD[0];//讀取高8位數據
H<<=16;
L=MRD[1];//讀取中8位數據
L<<=8;
M=MRD[2];//讀取低8位數據
H=H+L+M;//將讀取到的3個字節合并
cfvalue=(float)((H-0x800000)*4.096/0x800000+CAPDAC)*100;//將十六進制轉化為10進制表
Delay_Ms(5);
…………余下內容下載附件……
復制代碼
作者:
呵呵呵呵噠
時間:
2017-6-6 09:43
樓主用的什么型號的單片機啊,我現在正急需用AD7746來測微小電容
作者:
q6563008
時間:
2017-6-28 21:52
電路可以給我參考一下嗎
作者:
小小菜菜鳥
時間:
2018-5-25 15:18
樓主 為什么資料下載不下來了呢 能發一份給我嘛
作者:
fanmengyao123
時間:
2018-6-6 21:06
樓主用的什么單片機?電路圖可以看看嘛?
作者:
j@e
時間:
2020-4-18 23:51
請問用的是AT89C52嗎
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品99久久久久久久久久久久
|
国产日韩欧美在线
|
亚洲精品一区二三区不卡
|
日韩视频一区二区
|
欧美一区二区三区一在线观看
|
无码日韩精品一区二区免费
|
欧美日韩国产一区二区
|
欧美色视频免费
|
久久99国产精品久久99果冻传媒
|
久久久久久免费毛片精品
|
中文在线a在线
|
一级毛片视频在线
|
亚洲福利一区
|
美女天天干天天操
|
欧美一级精品片在线看
|
欧美日韩精品久久久免费观看
|
亚洲在线看
|
国产激情毛片
|
精品国产一区二区三区性色
|
午夜丁香视频在线观看
|
日本成人福利视频
|
欧美久久久久久久久中文字幕
|
日韩一区二区在线视频
|
国产成人精品免费视频大全最热
|
在线国产一区二区三区
|
在线免费观看视频黄
|
日本三级视频
|
欧美韩一区二区
|
密室大逃脱第六季大神版在线观看
|
欧美性久久
|
国产午夜在线观看
|
欧美成人一区二区三区
|
网页av
|
av一区二区三区四区
|
久久99深爱久久99精品
|
亚洲视频在线看
|
欧美视频三区
|
国产成人精品av
|
午夜婷婷激情
|
亚洲vs天堂
|
亚洲视频二
|