基于熱敏電阻的數(shù)字溫度計設(shè)計說明書_第1頁
基于熱敏電阻的數(shù)字溫度計設(shè)計說明書_第2頁
基于熱敏電阻的數(shù)字溫度計設(shè)計說明書_第3頁
基于熱敏電阻的數(shù)字溫度計設(shè)計說明書_第4頁
基于熱敏電阻的數(shù)字溫度計設(shè)計說明書_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、科信學(xué)院單片機應(yīng)用系統(tǒng)(三級)項目設(shè)計說明書(2012/2013學(xué)年第二學(xué)期)題 目 : 基于熱敏電阻的數(shù)字溫度計 _專業(yè)班級 : 電子信息工程1021 學(xué)生姓名 : 指導(dǎo)教師 : 2013年6月28日目錄1實驗設(shè)計目的22系統(tǒng)軟件設(shè)計22.1軟件總體流程設(shè)計22.2系統(tǒng)設(shè)計及主要程序32.2.1系統(tǒng)主函數(shù)32.2.2漢顯lcd1286442.2.3時鐘芯片DS13026112.3上位機設(shè)計及主要代碼142.3.1SerialPort 組件142.3.2串口操作152.3.3數(shù)據(jù)的接收152.3.4保存數(shù)據(jù)與清空數(shù)據(jù)173系統(tǒng)硬件電路設(shè)計173.1恒溫橋電路173.2信號放大電路183.3A/

2、D轉(zhuǎn)換電路183.4控制電路193.5顯示電路204總結(jié)與展望20參考文獻211實驗設(shè)計目的 隨著以知識經(jīng)濟為特征的信息化時代的到來人們對儀器儀表的認識更加深入,溫度作為一個重要的物理量,是工業(yè)生產(chǎn)過程中最普遍,最重要的工藝參數(shù)之一。隨著工業(yè)的不斷發(fā)展,對溫度的測量的要求也越來越高,而且測量的范圍也越來越廣,對溫度的檢測技術(shù)的要求也越來越高,因此,溫度測量及其測量技術(shù)的研究也是一個很重要的課題。本系統(tǒng)的溫度測量采用的就是熱阻效應(yīng)。溫度測量模塊主要為溫度測量電橋,當溫度發(fā)生變化時,電橋失去平衡,從而在電橋輸出端有電壓輸出,但該電壓很小。將輸出的微弱電壓信號通過OP07放大,將放大后的信號輸入AD

3、轉(zhuǎn)換芯片,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來。單片機顯示模塊電 源 模 塊測溫模塊信號放大模塊AD轉(zhuǎn)換模塊圖1-1系統(tǒng)框圖2系統(tǒng)軟件設(shè)計2.1軟件總體流程設(shè)計軟件設(shè)計采用c語言編程,運用模塊化程序設(shè)計思想,對不同功能模塊的程序進行分別編程,以便移植或調(diào)用,這樣使軟件層次結(jié)構(gòu)清晰,有利于軟件的調(diào)試修改。數(shù)字溫度計系統(tǒng)軟件部分采用模塊化設(shè)計思想,將系統(tǒng)分為主程序、初始化處理模塊、中斷檢測模塊、延時處理模塊、數(shù)據(jù)處理模塊、顯示模塊,其軟件系統(tǒng)的主程序?qū)崿F(xiàn)流程如下圖所示: 開 始DS1302時鐘信息采集數(shù)據(jù)處理12864顯示結(jié) 束系統(tǒng)初始化PT100

4、溫度采集圖2-1系統(tǒng)軟件流程2.2系統(tǒng)設(shè)計及主要程序2.2.1系統(tǒng)主函數(shù)程序的入口,分別調(diào)用了其他頭文件,實現(xiàn)了lcd12864漢顯的顯示,DS1302時鐘芯片時間的運行,ADC0832模數(shù)轉(zhuǎn)換。主要代碼實現(xiàn)如下:#include reg52.h#include intrins.h#include lcd12864.h#include DS1302.h#include ADC0832.h#define uchar unsigned char#define uint unsigned intvoid main( void )Com_Init();v_Lcd12864Init_f() ;v_Lcd

5、12864PutString_f( 1,0, 年) ;v_Lcd12864PutString_f( 3,0, 月) ;v_Lcd12864PutString_f( 5,0, 日) ;v_Lcd12864PutString_f( 1,1, 時) ;v_Lcd12864PutString_f( 3,1, 分) ;v_Lcd12864PutString_f( 5,1, 秒) ;v_Lcd12864PutString_f( 5,2, );while(1)Run_DS1302();displayADC ();send(); _nop_; 2.2.2漢顯lcd12864 主要實現(xiàn)漢顯lcd12864接收時

6、鐘芯片DS1302與A/D轉(zhuǎn)換模塊傳遞來的溫度與時間,并顯示在液晶屏上。主要代碼實現(xiàn)如下:#includelcd12864.h#include intrins.h #define uchar unsigned char#define uint unsigned intvoid v_Lcd12864CheckBusy_f( void ) /忙檢測函數(shù) unsigned int nTimeOut = 0 ; SET_INC SET_READ CLR_EN SET_EN while( ( io_LCD12864_DATAPORT & 0x80 ) & ( +nTimeOut != 0 ) ) ; C

7、LR_EN SET_INC SET_READvoid v_Lcd12864SendCmd_f( unsigned char byCmd ) /發(fā)送命令 v_Lcd12864CheckBusy_f() ; SET_INC SET_WRITE CLR_EN io_LCD12864_DATAPORT = byCmd ; _nop_(); _nop_(); SET_EN _nop_(); _nop_(); CLR_EN SET_READ SET_INCvoid v_Lcd12864SendData_f( unsigned char byData ) /發(fā)送數(shù)據(jù) v_Lcd12864CheckBusy_

8、f() ; SET_DATA SET_WRITE CLR_EN io_LCD12864_DATAPORT = byData ; _nop_(); _nop_(); SET_EN _nop_(); _nop_(); CLR_EN SET_READ SET_INCvoid v_DelayMs_f( unsigned int nDelay ) /延時 unsigned int i ; for( ; nDelay 0 ; nDelay- ) for( i = 125 ; i 0 ; i- ) ; void v_Lcd12864Init_f( void ) /初始化 v_Lcd12864SendCmd_

9、f( 0x30 ) ; /基本指令集 v_DelayMs_f( 50 ) ; v_Lcd12864SendCmd_f( 0x01 ) ; /清屏 v_DelayMs_f( 50 ) ; v_Lcd12864SendCmd_f( 0x06 ) ; /光標右移 v_DelayMs_f( 50 ) ; v_Lcd12864SendCmd_f( 0x0c ) ; /開顯示void v_Lcd12864SetAddress_f( unsigned char x, y ) /地址轉(zhuǎn)換 unsigned char byAddress ; switch( y ) case 0 : byAddress = 0x

10、80 + x ; break; case 1 : byAddress = 0x90 + x ; break ; case 2 : byAddress = 0x88 + x ; break ; case 3 : byAddress = 0x98 + x ; break ; default : break ; v_Lcd12864SendCmd_f( byAddress ) ;void v_Lcd12864PutString_f( uchar x, uchar y, uchar *pData ) v_Lcd12864SetAddress_f( x, y ) ; while( *pData != 0

11、 ) v_Lcd12864SendData_f( *pData+ ) ; 2.2.3時鐘芯片DS1302 主要為漢顯12864提供時間輸出。主要代碼實現(xiàn)如下:#includeDS1302.h#includeintrins.h#includelcd12864.h#define uchar unsigned char#define uint unsigned intvoid v_RTInputByte(uchar ucDa)/ 功能 : 往DS1302寫入1Byte數(shù)據(jù)uchar i;ACC = ucDa;T_RST = 1;for(i=8; i0; i-)T_IO = ACC0;T_CLK =

12、1;T_CLK = 0;ACC = ACC 1;uchar uc_RTOutputByte(void)/從DS1302讀取1Byte數(shù)據(jù) uchar i;T_RST = 1;for(i=8; i0; i-)ACC = ACC 1;T_IO=1;ACC7 = T_IO;T_CLK = 1;T_CLK = 0;return(ACC);void v_W1302(uchar ucAddr, uchar ucDa) /往DS1302寫入數(shù)據(jù) ucAddr: DS1302地址, ucDa: 要寫的數(shù)據(jù)T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(ucAddr);

13、/ 寫地址 _nop_();_nop_();v_RTInputByte(ucDa); / 寫1Byte數(shù)據(jù)T_CLK = 1;T_RST = 0;uchar uc_R1302(uchar ucAddr) /讀取DS1302某地址的數(shù)據(jù) ucAddr: DS1302地址uchar ucDa;T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(ucAddr); /寫地址,命令_nop_();_nop_();ucDa = uc_RTOutputByte(); /讀1Byte數(shù)據(jù)T_CLK = 1;T_RST = 0;return(ucDa); /ucDa :讀取的

14、數(shù)據(jù)void v_BurstW1302T(uchar *pSecDa) /往DS1302寫入時鐘數(shù)據(jù)uchar i;v_W1302(0x8e, 0x00); /控制命令,WP=0,寫操作T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(0xbe); /0xbe:時鐘多字節(jié)寫命令for(i=8; i0; i-) /8Byte = 7Byte 時鐘數(shù)據(jù) + 1Byte 控制v_RTInputByte(*pSecDa); /寫1Byte數(shù)據(jù)pSecDa+;T_CLK = 1;T_RST = 0;void v_BurstR1302T(uchar *pSecDa)

15、/讀取DS1302時鐘數(shù)據(jù)uchar i;T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(0xbf); /0xbf:時鐘多字節(jié)讀命令for(i=8; i0; i-)*pSecDa = uc_RTOutputByte(); /讀1Byte數(shù)據(jù)pSecDa+;T_CLK = 1;T_RST = 0;void v_BurstW1302R(uchar *pReDa) /往DS1302寄存器數(shù)寫入數(shù)據(jù) pReDa: 寄存器數(shù)據(jù)地址uchar i;v_W1302(0x8e,0x00); /控制命令,WP=0,寫操作T_RST = 0;T_CLK = 0;T_RST

16、= 1;v_RTInputByte(0xfe); /0xbe:時鐘多字節(jié)寫命令for(i=31; i0; i-) /31Byte 寄存器數(shù)據(jù)v_RTInputByte(*pReDa); /寫1Byte數(shù)據(jù)pReDa+;T_CLK = 1;T_RST = 0;void v_BurstR1302R(uchar *pReDa) /讀取DS1302寄存器數(shù)據(jù) pReDa: 寄存器數(shù)據(jù)地址uchar i;T_RST = 0;T_CLK = 0;T_RST = 1;v_RTInputByte(0xff); /0xbf:時鐘多字節(jié)讀命令for(i=31; i0; i-) /31Byte 寄存器數(shù)據(jù)*pReD

17、a = uc_RTOutputByte(); /讀1Byte數(shù)據(jù)pReDa+;T_CLK = 1;T_RST = 0;/* 輸入 : pSecDa: 初始時間地址。初始時間格式為: 秒 分 時 日 月 星期 年* 7Byte (BCD碼) 1B 1B 1B 1B 1B 1B 1B*/void v_Set1302(uchar *pSecDa) /設(shè)置初始時間 uchar i;uchar ucAddr = 0x80;v_W1302(0x8e, 0x00); /控制命令,WP=0,寫操作for(i=7; i0; i-)v_W1302(ucAddr, *pSecDa); / 秒 分 時 日 月 星期

18、年pSecDa+;ucAddr += 2;v_W1302(0x8e, 0x80); /控制命令,WP=1,寫保護void v_Get1302(uchar ucCurtime)/讀取DS1302當前時間 ucCurtime: 保存當前時間地址。 BCD碼uchar i;uchar ucAddr = 0x81;for(i=0; i= 10) dec -= 10; bcd+; bcd 1;data1 += bcd 3; /用位移代替乘法運算return data1;void Write_DS1302Init(void) /寫入數(shù)據(jù) 初始化v_W1302(0x8e,0);v_W1302(0x80,0x

19、50);/寫入秒v_W1302(0x8e,0);v_W1302(0x82,0x59);/寫入分v_W1302(0x8e,0);v_W1302(0x84,0x07);/寫入小時v_W1302(0x8e,0);v_W1302(0x86,0x08);/寫入日v_W1302(0x8e,0);v_W1302(0x88,0x06);/寫入月v_W1302(0x8e,0);v_W1302(0x8a,0x05);/寫入星期v_W1302(0x8e,0);v_W1302(0x8c,0x13);/寫入年void Run_DS1302()uchar sec, min, hour, day, month, year

20、, week;v_W1302(0x8f, 0);sec = bcdtodec(uc_R1302(0x81); /讀出DS1302中的秒v_W1302(0x8f, 0);min = bcdtodec(uc_R1302(0x83); /讀出DS1302中的分v_W1302(0x8f, 0);hour = bcdtodec(uc_R1302(0x85); /讀出DS1302中的小時v_W1302(0x8f, 0);day = bcdtodec(uc_R1302(0x87); /讀出DS1302中的日v_W1302(0x8f, 0);month = bcdtodec(uc_R1302(0x89); /

21、讀出DS1302中的月v_W1302(0x8f, 0);year = bcdtodec(uc_R1302(0x8d); /讀出DS1302中的年v_W1302(0x8f,0);week = bcdtodec(uc_R1302(0x8b); /讀出 星期v_Lcd12864SetAddress_f(0,0) ;v_Lcd12864SendData_f( year /10 % 10 + 48 ) ;v_Lcd12864SendData_f( year% 10 + 48 ) ;v_Lcd12864SetAddress_f(2,0) ;v_Lcd12864SendData_f( month / 10

22、% 10 + 48 ) ;v_Lcd12864SendData_f( month % 10 + 48 ) ;v_Lcd12864SetAddress_f(4,0) ;v_Lcd12864SendData_f( day / 10 % 10 + 48 ) ;v_Lcd12864SendData_f( day % 10 + 48 ) ;v_Lcd12864SetAddress_f(6,0);v_Lcd12864SendData_f( week + 48);v_Lcd12864SetAddress_f(0,1) ;v_Lcd12864SendData_f( hour /10 % 10 + 48 ) ;

23、v_Lcd12864SendData_f( hour % 10 + 48 ) ;v_Lcd12864SetAddress_f(2,1) ;v_Lcd12864SendData_f( min /10 % 10 + 48 ) ;v_Lcd12864SendData_f( min % 10 + 48 ) ;v_Lcd12864SetAddress_f(4,1) ;v_Lcd12864SendData_f( sec /10 % 10 + 48 ) ;v_Lcd12864SendData_f( sec % 10 + 48 ) ; 本系統(tǒng)最重要的模塊,是實現(xiàn)本項目數(shù)字溫度計系統(tǒng)基本功能的核心模塊,在本模塊

24、中傳遞出0255共256個數(shù)字,然后通過分段計算得出溫度。本模塊代碼中還加入了串口通信,串口初始化為方式二,9600比特率。主要代碼實現(xiàn)如下:#include ADC0832.h#include intrins.h#includelcd12864.h#define uchar unsigned char#define uint unsigned int uchar l_temp; unsigned char LcdBuf110=;uchar ADC0832_Read(uchar ch)uchar i;uchar ADC_buff=0;ADC0832_CS = 1;ADC0832_DIO = 1

25、; /啟動位ADC0832_CLK = 0;ADC0832_CS = 0;_nop_();ADC0832_CLK = 1; _nop_();ADC0832_CLK = 0;ADC0832_DIO = 1; /送 SGL/DIF 位 _nop_();ADC0832_CLK = 1;_nop_();ADC0832_CLK = 0;if(ch=0) ADC0832_DIO = 0; /送轉(zhuǎn)換通道值else ADC0832_DIO = 1;ADC0832_CLK = 1;_nop_();ADC0832_CLK = 0;_nop_(); ADC0832_DIO = 1; /釋放DIO端口,轉(zhuǎn)由ADC控制

26、for(i=0;i8;i+)_nop_();ADC0832_CLK = 0;_nop_();ADC0832_CLK = 1;_nop_();if(ADC0832_DIO=1) ADC_buff=ADC_buff+1; /讀取8位數(shù)據(jù)ADC_buff=ADC_buff= 0) for(i=6;temp0;i-) LcdBuf1i=temp%10+48; temp/=10; if(temp 0;i-) LcdBuf1i=w%10+48; w/=10; if(i=0&temp -10) LcdBuf1i = 0; i-; LcdBuf1i = -; i-; for(;i=0;i-) LcdBuf1i

27、= ; for(i=0;i5;i+) LcdBuf1i=LcdBuf1i+1; if(LcdBuf14= )LcdBuf14=0; LcdBuf15=.; v_Lcd12864PutString_f( 0,2,LcdBuf1 );void Com_Init(void) /串口初始化 TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; /波特率9600=11.0592*1000000/12/(0x100-0xfd)/32 TL1 = 0xFd; TR1 = 1;void send_char_com( unsigned char ch) /發(fā)送一個

28、字符 SBUF=ch; while (TI= 0 ); TI= 0 ; void send_string_com( unsigned char *str, unsigned int strlen) /向串口發(fā)送一個字符串,strlen為該字符串長度 unsigned int k= 0 ; do send_char_com(*(str + k); k+; while (k strlen); void send()send_string_com(LcdBuf1, 10);2.3上位機設(shè)計及主要代碼上位機即簡易的串口小助手,主要用于對串口的管理及對下位機數(shù)據(jù)的接收。本程序有C#編寫,方便簡潔。Ser

29、ialPort 組件在 Visual Studio 2008 開發(fā)工具中,可以不再采 用第三方控件的方法來設(shè)計串口通訊程序。NET Framework 2.0 類庫包含了 SerialPort 類,方便地實現(xiàn)了所需要串口通訊的多種功能,可以實現(xiàn)MSComm 編程方法快速轉(zhuǎn)換到以 SerialPort 類為核心的串口通訊。本上位機選用固定串口COM1,波特率為9600,器件屬性如圖2-2所示:圖2-2設(shè)置串口屬性2.3.2串口操作在程序中添加一個打開串口按鈕btnOpen,btnOpen.Text 初始化為“打開串口”。在btnOpen 響應(yīng)函數(shù)中加入以下代碼:private void btnO

30、pen_Click(object sender, EventArgs e) if (btnOpen.Text = 打開串口) btnOpen.Text = 關(guān)閉串口; serialPort1.Open(); else btnOpen.Text = 打開串口; serialPort1.Close(); 設(shè)置窗體響應(yīng)事件,代碼如下: private void Form1_Load(object sender, EventArgs e) btnOpen.Text = 打開串口; 這時該程序已經(jīng)具有開關(guān)串口的作用,可以用單片機虛擬串口互連方法方法進行串口測試。2.3.3數(shù)據(jù)的接收數(shù)據(jù)接收大體有兩種方案

31、:1、主動定時讀??;2、事件響應(yīng)驅(qū)動。事件響應(yīng)驅(qū)動這種方式是串口通信上位機制作的主要方式,其采用中斷思想而成,當串口輸入緩沖區(qū)中的字節(jié)數(shù)據(jù)大于某個設(shè)定的個數(shù)時,觸發(fā)串口輸入中斷,這時在中斷程序中讀取串口輸入緩沖區(qū)中的數(shù)據(jù),具有實時性和靈活性,是個常用的較好的方法。本程序也是采用這種方法來進行串口輸入緩沖區(qū)的實時數(shù)據(jù)讀取。 .NET 中封裝了SerialPort 類表示串行端口資源。 程序集: System(在System.dll 中) 除了前面用到的串口常規(guī)屬性設(shè)置(BuadRate,PortName),這里用到了一個新的串口屬性:ReceivedBytesThreshol 獲取或設(shè)置Data

32、Received 事件發(fā)生前內(nèi)部輸入緩沖區(qū)中的字節(jié)數(shù)。這個ReceiveBytesThreshold 屬性即是設(shè)置串口輸入緩沖區(qū)中的數(shù)據(jù)字節(jié)大于ReceiveBytesThreshold 時觸發(fā)DataReceived 事件。主要代碼如下:string serialReadString; private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) serialReadString = serialPort1.ReadExisting(); this.rTB_receive.Invoke

33、( new MethodInvoker ( delegate this.rTB_receive.AppendText(serialReadString); ) ); 此時接收功能已經(jīng)實現(xiàn),如圖2-3所示:圖2-3上位機接收數(shù)據(jù) 2.3.4保存數(shù)據(jù)與清空數(shù)據(jù)本模塊僅為完善上位機功能,程序簡單,主要代碼實現(xiàn)如下:private void btnSave_Click(object sender, EventArgs e) try System.IO.FileStream objfile; saveFileDialog1.ShowDialog(); objfile = System.IO.File.C

34、reate(saveFileDialog1.FileName); objfile.Close(); objfile.Dispose(); System.IO.StreamWriter objfil = new System.IO.StreamWriter(saveFileDialog1.FileName); objfil.Write(rTB_receive.Text); objfil.Close(); objfil.Dispose(); catch MessageBox.Show(數(shù)據(jù)未保存!); private void btnClear_Click(object sender, Event

35、Args e) rTB_receive.Clear(); 3系統(tǒng)硬件電路設(shè)計系統(tǒng)由五大部分組成:(1)測溫電橋溫量電路;(2)數(shù)據(jù)采集,濾波,放大,AD轉(zhuǎn)換電路;(3)單片機AT89C51控制及數(shù)據(jù)計算電路;(4)電源電路;(5)溫度實時顯示電路。3.1恒溫橋電路本次課程設(shè)計的測溫電路為測溫電橋,測溫電橋的主要部分是熱敏電阻。本次設(shè)計采用的是正溫度系數(shù)的熱電阻PT100,它是最常用的溫度傳感器之一,它具有較好的長期穩(wěn)定性,利用適當?shù)臄?shù)據(jù)處理設(shè)備就可以傳輸、顯示并記錄其溫度輸出。因為熱敏電阻的阻值和溫度呈正比關(guān)系,我們只需將已知電流流過該電阻就可以得到與溫度成正比的輸出電壓。Pt100是電阻式溫

36、度傳感器,測溫的本質(zhì)其實是測量傳感器的電阻,通常是將電阻的變化轉(zhuǎn)換成電壓或電流等模擬信號,然后再將模擬信號轉(zhuǎn)換成數(shù)字信號,再由處理器換算出相應(yīng)溫度。測溫電路原理圖如圖3-1所示:圖3-1測溫電路原理圖電橋原理圖如圖3-2所示:圖3-2電橋原理圖3.2信號放大電路本次課程設(shè)計,放大模塊采用的是LM324放大集成電路。LM324是四運放集成電路,它采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。3.3A/D轉(zhuǎn)換電路此次課程設(shè)計的A/D轉(zhuǎn)換電路,負責(zé)將放大后的模擬電壓信號轉(zhuǎn)化為可供單片機識別的數(shù)字信號。此次課程設(shè)計選用ADC0832

37、芯片。ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時間僅為32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。正常情況下ADC0832與單片機的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。電路原理圖如圖3-3所示: 圖3-3A/D轉(zhuǎn)換電路由于ADC0832是8位分辨率,返回的數(shù)值在0255之間,對應(yīng)模擬數(shù)值為0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論