在數(shù)據(jù)采集系統(tǒng)中,A/D轉(zhuǎn)換的速度和精度又決定了采集系統(tǒng)的速度和精度。MAX197是Maxim公司推出的具有12位測(cè)量精度的高速A/D轉(zhuǎn)換芯片,只需單一電源供電,且轉(zhuǎn)換時(shí)間很短(6us),具有8路輸入通道,還提供了標(biāo)準(zhǔn)的并行接口——8位三態(tài)數(shù)據(jù)I/O口,可以和大部分單片機(jī)直接接口,使用十分方便。
MAX197簡(jiǎn)介
MAX197芯片是多量程(±10V,±5V,0~10V,0~5V)、8通道、12位高精度的A/D轉(zhuǎn)換器。它采用逐次逼近工作方式,有標(biāo)準(zhǔn)的微機(jī)接口。三態(tài)數(shù)據(jù)I/O口用做8位數(shù)據(jù)總線,數(shù)據(jù)總線的時(shí)序與絕大多數(shù)通用的微處理器兼容。全部邏輯輸入和輸出與TTL/CMOS電平兼容。新型A/D轉(zhuǎn)換器芯片MAX197與一般A/D轉(zhuǎn)換器芯片相比,具有極好的性能價(jià)格比,僅需單一+5V供電,且外圍電路簡(jiǎn)單,可簡(jiǎn)化電路設(shè)計(jì)。
1、特性
(1)12位分辨率,1/2LSB線形度;
(2)單+5V供電;
(3)軟件可編程選擇輸入量程: 10V, 5V,0~+5V,0~+10V;
(4)輸入多路選擇器保護(hù): 16.5V
(5)8路模擬輸入通道;
(6)6us轉(zhuǎn)換時(shí)間,100kSPS采樣速度;
(7)內(nèi)/外部采集控制;
(8)內(nèi)部4.096V或外部參考電壓;
(9)兩種掉電模式;
(10)內(nèi)部或外部時(shí)鐘。
MAX197轉(zhuǎn)換的基本原理
MAX197無需外接元器件就可獨(dú)立完成A/D轉(zhuǎn)換功能。它可分為內(nèi)部采樣模式和外部采樣模式,采樣模式由控制寄存器的D5位決定。在內(nèi)部采樣控制模式(控制位置0)中,由寫脈沖啟動(dòng)采樣間隔,經(jīng)過瞬間的采樣間隔(芯片時(shí)鐘為2MHz時(shí),為3ms),即開始A/D轉(zhuǎn)換。在外部采樣模式(D5=1)中,由兩個(gè)寫脈沖分別控制采樣和A/D轉(zhuǎn)換。在第一個(gè)寫脈沖出現(xiàn)時(shí),寫入ACQMOD為1,開始采樣間隔。在第二個(gè)寫脈沖出現(xiàn)時(shí),寫入控制字ACQMOD為0,MAX197停止采樣,開始A/D轉(zhuǎn)換。這兩個(gè)寫脈沖之間的時(shí)間間隔為一次采樣時(shí)間。當(dāng)一次轉(zhuǎn)換結(jié)束后,MAX197相應(yīng)的INT引腳置低電平,通知處理器可以讀取轉(zhuǎn)換結(jié)果。內(nèi)部采樣模式的數(shù)據(jù)轉(zhuǎn)換時(shí)序?qū)τ谀M到數(shù)字量的轉(zhuǎn)換,時(shí)序要求非常嚴(yán)格,由于MAX197的數(shù)字信號(hào)輸出引腳是復(fù)用的,要正確讀出轉(zhuǎn)換結(jié)果,時(shí)序要求尤其重要。在一次采樣開始前,可以通過單片機(jī)的8位數(shù)據(jù)線把這些控制字寫入MAX197來初始化相應(yīng)的參數(shù)。然后按照一定的時(shí)序進(jìn)行采樣和轉(zhuǎn)換。
圖1 MAX197引腳定義視圖
?
引腳功能介紹
MAX197具有四種不同的封裝:DIP28,寬SO,SSOP和陶瓷SB封裝。
1腳(CLK):時(shí)鐘輸入。外部時(shí)鐘輸入時(shí),由此引腳輸入電平與TTL或CMOS兼容的時(shí)鐘。內(nèi)部時(shí)鐘模式時(shí),該腳與地之間接一電容,以確定內(nèi)部時(shí)鐘頻率,當(dāng)f=1.56MHz時(shí),外接電容的典型值CCLK=100PF。
2腳( ):片選線,低電平有效。
3腳( ):當(dāng) 為低電平時(shí),在內(nèi)部采集模式下, 的上升沿將鎖存數(shù)據(jù),并啟動(dòng)一次采集和一次轉(zhuǎn)換周期;在外部采集模式下, 的第一個(gè)上升沿啟動(dòng)采集,第二個(gè)上升沿結(jié)束采集,并啟動(dòng)轉(zhuǎn)換周期。
4腳( )當(dāng) 為低電平時(shí), 得下降沿將允許讀取數(shù)據(jù)總線上的數(shù)據(jù)。
5腳(HBEN)用于切換12位轉(zhuǎn)換結(jié)果。此腳為高電平時(shí)數(shù)據(jù)總線上的數(shù)據(jù)為高4位,此腳為低電平時(shí)數(shù)據(jù)總上的數(shù)據(jù)為低8位。
m a x 1 9 7 c 程 序
對(duì)于學(xué)max197的人來說是一個(gè)很好的機(jī)會(huì),這個(gè)程序不難,絕對(duì)可以看懂它:
以下兩個(gè)是。H文件的,你們另外保存一下就行了
#include
#include
?
#define uchar unsigned char
#define uint unsigned int
#include"delay.h"
#include"chuankou.h"
sbit MAX197_CS=P0^0;
sbit MAX197_WR=P0^1;
sbit MAX197_RD=P0^2;
sbit MAX197_HBEN=P0^3;
uchar premp,temp1;
void MAX197_Write(char temp)
{
??????
?
?????? ?MAX197_CS=1;
?????? ?MAX197_WR=1;
?????? ?delays(1);
?????? ?MAX197_CS=0;
?????? ?_nop_();
?????? ?_nop_();??????
?????? ?MAX197_WR=0;
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?P1=temp;
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?MAX197_WR=1;
?????? ?_nop_();
?????? ?MAX197_CS=1;
?????? ?delayl(5);
?
}
long int MAX197_Read()
{
?????? long int premp;
?????? uint TempL,TempH;
?????? delayl(2);
?????? ?MAX197_HBEN=0;
?????? ?_nop_();
?????? ?MAX197_CS=0;
?????? ?MAX197_RD=0;
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?TempL=P1;
?????? ?delayl(600);
?????? ?MAX197_HBEN=1;
?????? ?delayl(600);
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?TempH=P1;
?????? ?delays(1);
?????? ?MAX197_RD=1;
?????? ?MAX197_CS=1;
?????? ?premp=TempH*256|TempL;
?????? ?return premp;
}????
void Init_MAX197()
{
?????? P1=0x00;
?????? MAX197_Write(0x40);
}
void main()
{????
?????? long int frag,i;
?????? uint j;
?????? init_uart();
?????? while(1)
?????? {????
?????? ??? Init_MAX197();
?????? ????? frag=MAX197_Read();?
????????????? i=frag*500000/4096;
????????????? send_dat(i/100000);??????
????????????? send_char('.');
????????????? send_dat(i/10000%10);
????????????? send_dat(i/1000%10);
????????????? send_dat(i/100%10);
????????????? send_dat(i/10%10);
????????????? send_dat(i%10);
????????????? send_char('v');
????????????? send_char(' ');
????????????? send_char(' ');
?????? }????
}
#ifndef chuankou
#define chuankou
void init_uart()
{
?????? TMOD = 0X20;
?????? TH1 = 0XFA;
?????? TL1 = 0XFA;
?????? SCON = 0X40;
?????? PCON = 0X80;
?????? TR1 = 1;
?????? REN = 1;
}
void send_dat(uint dat1)
{
?????? SBUF = (dat1+'0');
?????? while(TI==0);
?????? TI = 0;
}
void send_char(uchar dat)
{
?????? SBUF = dat;
?????? while(TI==0);
?????? TI=0;
}
void printstr(uchar *p)
{
?????? while((*p)!=' 主站蜘蛛池模板: 免费v片网站| 在线观看免费视频片| 同性男男肉交短文| 久久人人视频| 成 年 人 视频在线播放| 你懂的网站在线观看| 色噜噜在线视频| 久久九九国产| 五月婷婷丁香色| 大看蕉a在线观看| 黄色在线免费看| 男人不识本网站上遍色站也枉然| 日本在线一级| 天堂网2021天堂手机版| 久久精品在| 爽好舒服快小柔小说| 黄免费网站| 国产成人综合日韩精品婷婷九月| h国产在线| 成人欧美网站| 中国性猛交xxxxx免费看| 精品亚洲综合在线第一区| 喷潮白浆直流在线播放| 日韩成人在线影院| 日操| 手机看片日韩1024| 欧美成人三级网站| 在线观看h视频| 黄色网欧美| 一区二区三区在线看| 67pao强力打造高清免费| 91大神网址| 一本到卡二卡三卡视频| 国内亚州视频在线观看| 人人干人人澡| 欧美伊人| 久久久噜久噜久久gif动图| 毛片美女| 国产美女精品视频免费观看| 国产aaaaaa| 99精品免费视频|
MAX197芯片是多量程(±10V,±5V,0~10V,0~5V)、8通道、12位高精度的A/D轉(zhuǎn)換器。它采用逐次逼近工作方式,有標(biāo)準(zhǔn)的微機(jī)接口。三態(tài)數(shù)據(jù)I/O口用做8位數(shù)據(jù)總線,數(shù)據(jù)總線的時(shí)序與絕大多數(shù)通用的微處理器兼容。全部邏輯輸入和輸出與TTL/CMOS電平兼容。新型A/D轉(zhuǎn)換器芯片MAX197與一般A/D轉(zhuǎn)換器芯片相比,具有極好的性能價(jià)格比,僅需單一+5V供電,且外圍電路簡(jiǎn)單,可簡(jiǎn)化電路設(shè)計(jì)。
1、特性
(1)12位分辨率,1/2LSB線形度;
(2)單+5V供電;
(3)軟件可編程選擇輸入量程: 10V, 5V,0~+5V,0~+10V;
(4)輸入多路選擇器保護(hù): 16.5V
(5)8路模擬輸入通道;
(6)6us轉(zhuǎn)換時(shí)間,100kSPS采樣速度;
(7)內(nèi)/外部采集控制;
(8)內(nèi)部4.096V或外部參考電壓;
(9)兩種掉電模式;
(10)內(nèi)部或外部時(shí)鐘。
MAX197轉(zhuǎn)換的基本原理
MAX197無需外接元器件就可獨(dú)立完成A/D轉(zhuǎn)換功能。它可分為內(nèi)部采樣模式和外部采樣模式,采樣模式由控制寄存器的D5位決定。在內(nèi)部采樣控制模式(控制位置0)中,由寫脈沖啟動(dòng)采樣間隔,經(jīng)過瞬間的采樣間隔(芯片時(shí)鐘為2MHz時(shí),為3ms),即開始A/D轉(zhuǎn)換。在外部采樣模式(D5=1)中,由兩個(gè)寫脈沖分別控制采樣和A/D轉(zhuǎn)換。在第一個(gè)寫脈沖出現(xiàn)時(shí),寫入ACQMOD為1,開始采樣間隔。在第二個(gè)寫脈沖出現(xiàn)時(shí),寫入控制字ACQMOD為0,MAX197停止采樣,開始A/D轉(zhuǎn)換。這兩個(gè)寫脈沖之間的時(shí)間間隔為一次采樣時(shí)間。當(dāng)一次轉(zhuǎn)換結(jié)束后,MAX197相應(yīng)的INT引腳置低電平,通知處理器可以讀取轉(zhuǎn)換結(jié)果。內(nèi)部采樣模式的數(shù)據(jù)轉(zhuǎn)換時(shí)序?qū)τ谀M到數(shù)字量的轉(zhuǎn)換,時(shí)序要求非常嚴(yán)格,由于MAX197的數(shù)字信號(hào)輸出引腳是復(fù)用的,要正確讀出轉(zhuǎn)換結(jié)果,時(shí)序要求尤其重要。在一次采樣開始前,可以通過單片機(jī)的8位數(shù)據(jù)線把這些控制字寫入MAX197來初始化相應(yīng)的參數(shù)。然后按照一定的時(shí)序進(jìn)行采樣和轉(zhuǎn)換。
圖1 MAX197引腳定義視圖
?
MAX197具有四種不同的封裝:DIP28,寬SO,SSOP和陶瓷SB封裝。
1腳(CLK):時(shí)鐘輸入。外部時(shí)鐘輸入時(shí),由此引腳輸入電平與TTL或CMOS兼容的時(shí)鐘。內(nèi)部時(shí)鐘模式時(shí),該腳與地之間接一電容,以確定內(nèi)部時(shí)鐘頻率,當(dāng)f=1.56MHz時(shí),外接電容的典型值CCLK=100PF。
2腳( ):片選線,低電平有效。
3腳( ):當(dāng) 為低電平時(shí),在內(nèi)部采集模式下, 的上升沿將鎖存數(shù)據(jù),并啟動(dòng)一次采集和一次轉(zhuǎn)換周期;在外部采集模式下, 的第一個(gè)上升沿啟動(dòng)采集,第二個(gè)上升沿結(jié)束采集,并啟動(dòng)轉(zhuǎn)換周期。
4腳( )當(dāng) 為低電平時(shí), 得下降沿將允許讀取數(shù)據(jù)總線上的數(shù)據(jù)。
5腳(HBEN)用于切換12位轉(zhuǎn)換結(jié)果。此腳為高電平時(shí)數(shù)據(jù)總線上的數(shù)據(jù)為高4位,此腳為低電平時(shí)數(shù)據(jù)總上的數(shù)據(jù)為低8位。
m
對(duì)于學(xué)max197的人來說是一個(gè)很好的機(jī)會(huì),這個(gè)程序不難,絕對(duì)可以看懂它:
以下兩個(gè)是。H文件的,你們另外保存一下就行了
#include
#include
?
#define uchar unsigned char
#define uint unsigned int
#include"delay.h"
#include"chuankou.h"
sbit MAX197_CS=P0^0;
sbit MAX197_WR=P0^1;
sbit MAX197_RD=P0^2;
sbit MAX197_HBEN=P0^3;
uchar premp,temp1;
void MAX197_Write(char temp)
{
??????
?
?????? ?MAX197_CS=1;
?????? ?MAX197_WR=1;
?????? ?delays(1);
?????? ?MAX197_CS=0;
?????? ?_nop_();
?????? ?_nop_();??????
?????? ?MAX197_WR=0;
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?P1=temp;
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?MAX197_WR=1;
?????? ?_nop_();
?????? ?MAX197_CS=1;
?????? ?delayl(5);
?
}
long int MAX197_Read()
{
?????? long int premp;
?????? uint TempL,TempH;
?????? delayl(2);
?????? ?MAX197_HBEN=0;
?????? ?_nop_();
?????? ?MAX197_CS=0;
?????? ?MAX197_RD=0;
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?TempL=P1;
?????? ?delayl(600);
?????? ?MAX197_HBEN=1;
?????? ?delayl(600);
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?_nop_();
?????? ?TempH=P1;
?????? ?delays(1);
?????? ?MAX197_RD=1;
?????? ?MAX197_CS=1;
?????? ?premp=TempH*256|TempL;
?????? ?return premp;
}????
void Init_MAX197()
{
?????? P1=0x00;
?????? MAX197_Write(0x40);
}
void main()
{????
?????? long int frag,i;
?????? uint j;
?????? init_uart();
?????? while(1)
?????? {????
?????? ??? Init_MAX197();
?????? ????? frag=MAX197_Read();?
????????????? i=frag*500000/4096;
????????????? send_dat(i/100000);??????
????????????? send_char('.');
????????????? send_dat(i/10000%10);
????????????? send_dat(i/1000%10);
????????????? send_dat(i/100%10);
????????????? send_dat(i/10%10);
????????????? send_dat(i%10);
????????????? send_char('v');
????????????? send_char(' ');
????????????? send_char(' ');
?????? }????
}
#ifndef chuankou
#define chuankou
void init_uart()
{
?????? TMOD = 0X20;
?????? TH1 = 0XFA;
?????? TL1 = 0XFA;
?????? SCON = 0X40;
?????? PCON = 0X80;
?????? TR1 = 1;
?????? REN = 1;
}
void send_dat(uint dat1)
{
?????? SBUF = (dat1+'0');
?????? while(TI==0);
?????? TI = 0;
}
void send_char(uchar dat)
{
?????? SBUF = dat;
?????? while(TI==0);
?????? TI=0;
}
void printstr(uchar *p)
{
?????? while((*p)!=' 主站蜘蛛池模板: 免费v片网站| 在线观看免费视频片| 同性男男肉交短文| 久久人人视频| 成 年 人 视频在线播放| 你懂的网站在线观看| 色噜噜在线视频| 久久九九国产| 五月婷婷丁香色| 大看蕉a在线观看| 黄色在线免费看| 男人不识本网站上遍色站也枉然| 日本在线一级| 天堂网2021天堂手机版| 久久精品在| 爽好舒服快小柔小说| 黄免费网站| 国产成人综合日韩精品婷婷九月| h国产在线| 成人欧美网站| 中国性猛交xxxxx免费看| 精品亚洲综合在线第一区| 喷潮白浆直流在线播放| 日韩成人在线影院| 日操| 手机看片日韩1024| 欧美成人三级网站| 在线观看h视频| 黄色网欧美| 一区二区三区在线看| 67pao强力打造高清免费| 91大神网址| 一本到卡二卡三卡视频| 国内亚州视频在线观看| 人人干人人澡| 欧美伊人| 久久久噜久噜久久gif动图| 毛片美女| 国产美女精品视频免费观看| 国产aaaaaa| 99精品免费视频|