freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)-wenkub

2022-11-03 08:09:23 本頁面
 

【正文】 序模塊、控制運(yùn)算模塊、數(shù)據(jù)輸入輸出及處理模塊等一些子功能模塊的設(shè)計(jì); (4)完成軟、硬件的調(diào)試工作; (5)提出多點(diǎn)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案。 (2)適用范圍大、可移植性好 與其他高級(jí)語言一樣, C 語言不依賴于特定的處理器,其源程序具有良好的可移植性。一個(gè)完整的系統(tǒng),模塊與模塊之間,應(yīng)盡可能的使其獨(dú)立存在。根據(jù)日常溫度測(cè)量范圍的要求,本系統(tǒng)采用 DS18B20 作為溫度傳感器,采用 ADC0831 芯片對(duì)電壓進(jìn)行測(cè)量。 (d)模塊化設(shè)計(jì),安裝拆卸簡(jiǎn)單,維修方便。下面討論系統(tǒng)總體設(shè)計(jì)方案,包括:系統(tǒng)的性能要求及特點(diǎn)以及系統(tǒng)的軟、硬件方案分析。 系統(tǒng)總體設(shè)計(jì)方案 本論文所討論的基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)是對(duì)溫度和電壓值進(jìn)行采集處理的數(shù)據(jù)采集系統(tǒng)。因此,如果能夠有效地自動(dòng)監(jiān)測(cè)各節(jié)點(diǎn)的溫度,一旦出現(xiàn)溫度異常情況,立刻上傳報(bào)警,通知維護(hù)人員及時(shí)排除隱患,把故障消除在萌芽狀態(tài),從而達(dá)到安全供電的目的。電氣設(shè)備在通入電流以后,設(shè)備溫度會(huì)發(fā)生變化,其發(fā)熱量與通入電流的平方成正比;轉(zhuǎn)動(dòng)的電氣設(shè)備和機(jī)械設(shè)備的軸承其溫度變化與冷卻介質(zhì)及滑動(dòng)摩擦、滾動(dòng)摩擦息息相關(guān)??設(shè)備任何類型的故障大多以溫度變化的形式表現(xiàn)出來。 Data Acquisition。 本文詳細(xì)闡述了基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)的硬件組成及相關(guān)的接口電路設(shè)計(jì),軟件設(shè)計(jì)采用 Visual Basic 編寫上位機(jī)監(jiān)測(cè)軟件,能對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)的監(jiān)測(cè)記錄。 電子技術(shù)的發(fā)展,數(shù)據(jù)采集系統(tǒng)也迅速地得到普及應(yīng)用。在生產(chǎn)過程中,應(yīng)用數(shù)據(jù)采集系統(tǒng)可以對(duì)生產(chǎn)現(xiàn)場(chǎng)的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄。最后,以實(shí)際工程的需要考慮,提出多點(diǎn)數(shù)據(jù)測(cè)量采集的系 統(tǒng)設(shè)計(jì)方案。 MutiData Acquisition。分析表明,接觸電阻,過負(fù)荷等因素引起的接頭溫度過高,是造成電纜接頭處絕緣老化,易發(fā)故障的主要原因。發(fā)電廠,變電站的高壓開關(guān)柜在長(zhǎng)期運(yùn)行過程中,開關(guān)柜觸點(diǎn)和母線排連接處等部位因老化或接觸電阻過大而發(fā)熱,而這些發(fā)熱部位的溫度無法監(jiān)測(cè),由此最 終導(dǎo)致火災(zāi)事故。溫度監(jiān)測(cè)范圍為 55℃~ +125℃,精度177。 系統(tǒng)性能要求 (a)可以人為方便地通過 PC 機(jī)控制軟件設(shè)定報(bào)警的期望溫度值、電壓值。 (e)采用典型、通用器件,一旦損壞,易于替換。 整個(gè)系統(tǒng)遵循冗余原則以及模塊化原則,并盡可能選用典型、常用、易于替換的芯片和電路,為系統(tǒng)的開放性、標(biāo)準(zhǔn)化、模塊化打下了良好的基礎(chǔ)。讓每個(gè)模塊,盡可能地獨(dú)立完成某個(gè)特定的子功能。目前主流的 CPU 和常見的 MCU 都有 C 語言編譯器。 章節(jié)安排 第 1 章 引言(緒論) 主要介紹本文的背景知識(shí)及系統(tǒng)的總體設(shè)計(jì)方案,以及本文所完成的主要工作; 第 2 章 硬件設(shè)計(jì) 主要介紹系統(tǒng)各部分的硬件組成和特點(diǎn),包括信號(hào)輸入、輸出電路、單片機(jī)系統(tǒng)等等; 第 3 章 軟件設(shè)計(jì)(下位機(jī)程序設(shè)計(jì)) 介紹了系統(tǒng)軟件各個(gè)主要功能模塊的設(shè)計(jì); 第 4 章 Visual Basic 圖形用戶界面設(shè)計(jì)(上位機(jī)程序設(shè)計(jì)) 介紹面向?qū)ο蟮木幊谭椒ê鸵允录?qū)動(dòng)的編程思想,著重介紹 VisualBasic 編寫上位機(jī)軟件的過程; 第 5 章 系統(tǒng)調(diào)試 介紹了 Proteus 仿真器和集成開發(fā)環(huán)境 KEIL IDE μVision2,以及使用 Proteus 仿真器在 KEIL 環(huán)境中對(duì)系統(tǒng)的調(diào)試; 第 6 章 遠(yuǎn)程多點(diǎn)數(shù)據(jù)測(cè)量采集系統(tǒng)方案 以實(shí)際工程的需要考慮,提出多點(diǎn)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案; 第 7 章 結(jié)論 全文工作的總結(jié)與展望。外圍電路分兩種類型,輸入通道外圍電路、輸出通道外圍電路。上位機(jī)( PC 機(jī))對(duì)采集到的數(shù)據(jù)進(jìn)行分析處理,方便監(jiān)控人員掌握被測(cè)點(diǎn)的溫度、電壓參數(shù),從而達(dá)到數(shù)據(jù)采集、方便管理的目的。 單片機(jī)介紹 AT89S52是一種低功耗、高性能 CMOS8位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié) Flash, 256字節(jié) RAM, 32 位 I/O 口線,看門狗定時(shí)器, 2個(gè)數(shù)據(jù)指針,三個(gè) 16位定時(shí)器 /計(jì)數(shù)器,一個(gè) 6向量 2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。 主控模塊設(shè)計(jì) 主控模塊電路由 AT89S52 單片機(jī)、外部時(shí)鐘電路、復(fù)位電路、電源電路組成。復(fù)位電路的接法很多,本系統(tǒng)中采用上電復(fù)位和手動(dòng)復(fù)位鍵相結(jié)合的方式。 AT89S52 內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。本系統(tǒng)電路采用的晶體振蕩器頻率為 。輸入通道由傳感器、 A/D 轉(zhuǎn)換等電路組成,如圖 24 所示 。 CPU 只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,其中高 5 位是符號(hào)位,中間 7 位是整數(shù)位,最低 4 位是小數(shù)位。數(shù)據(jù)和命令的傳輸都是低位在先。 完成A/D 轉(zhuǎn)換的器件為 A/D 轉(zhuǎn)換器。 (2)轉(zhuǎn)換時(shí)間 轉(zhuǎn)換時(shí)間指 A/D 轉(zhuǎn)換器從轉(zhuǎn)換控制信號(hào)到來開始,到輸出端得到穩(wěn)定的數(shù)字信號(hào)所經(jīng)過的時(shí)間。常用最低有效位的倍數(shù)表示。其中 RS232是美國(guó)電子工業(yè)協(xié)會(huì)正式公布的串口總線標(biāo)準(zhǔn),也是目前最為常用的串行接口標(biāo)準(zhǔn),用來實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)之間,計(jì)算機(jī)與外設(shè)之間的數(shù)據(jù)通信。該芯片采用 +5V 供電,內(nèi)部具有兩路收發(fā)器,可以把單片機(jī)輸入的 TTL/CMOS 電平轉(zhuǎn)換為 RS232 電平發(fā)送給計(jì)算機(jī), MAX 采用 DIP16 封裝,其連接原理圖如圖 27 所示: 其中 T2out 連接上位機(jī)的 Rx 端, R2in 連接上位機(jī)串口的 Tx 端, R2out 和 T2in 是TTL/CMOS 發(fā)送器的輸入輸出端,分別連接單片機(jī)的 Rx()和 Tx()。由于電解電容器在高頻下工作存在電感特性,對(duì)于來自電源側(cè)的高頻干擾不能抑制,因此在整流電路后加入高頻電容改善紋波。電壓信息的采集通道使用 8 位 A/D 轉(zhuǎn)換器,滿足一般的應(yīng)用要求。為了滿足系統(tǒng)的要求,編制軟件時(shí)一般要符合以下基本要求: (l)易理解性、易維護(hù)性 要達(dá)到易理解和易維護(hù)等指標(biāo),在軟件的設(shè)計(jì)方法中,結(jié)構(gòu)化設(shè)計(jì)是最好的一種設(shè)計(jì)方法,這種設(shè)計(jì)方法是由整體到局部,然后再由局部到細(xì)節(jié),先考慮整個(gè)系統(tǒng)所要實(shí)現(xiàn)的功能,確定整體目標(biāo),然后把這個(gè)目標(biāo)分成一個(gè)個(gè)的任務(wù),任務(wù)中可以分成若干個(gè)子任務(wù),這樣逐層細(xì)分,逐個(gè)實(shí)現(xiàn); (2)實(shí)時(shí)性 實(shí)時(shí)性是電子測(cè)量系統(tǒng)的普遍要求,即要求系統(tǒng)及時(shí)響應(yīng)外部事件的發(fā)生,并及時(shí)給出處理結(jié)果。中斷服務(wù)程序處理異步事件,這部分可以看成是前臺(tái)工作。 本系統(tǒng)下位機(jī)的軟件是基于這種軟件思想編寫的。 (1)主模塊的功能是為其余幾個(gè)模塊構(gòu)建整體框架及初始化工作; (2)數(shù)據(jù)采集模塊的作用是將 A/D 轉(zhuǎn)換的數(shù)字量采集并發(fā)送到處理器中處理; (3)數(shù)據(jù)處理模塊是將采集到的數(shù)據(jù)進(jìn)行一系列的處理,本系統(tǒng)中使用的芯片是串行輸出芯片,所以在數(shù)據(jù)處理模塊中,最重要的是數(shù)據(jù)的串并轉(zhuǎn)換; (4)初始化模塊的任務(wù)是完成單片機(jī)串口、各個(gè)芯片以及 LCD顯示器的初始化工作。單片機(jī)系統(tǒng)遇到中斷時(shí),程序流程從無限循環(huán)轉(zhuǎn)至相應(yīng)的中斷服務(wù)程序。 msDelay(400)。 //Delay_5mS()。 //測(cè)試用句無意義 */ msDelay(1000)。 LCD_Display_OneChar(1,0,chr[7])。 LCD_Display_OneChar(5,0,chr[0])。 LCD_Display_OneChar(9,0,chr[3])。 LCD_Display_OneChar(12,0,chr[5])。 LCD_Display_OneChar(3,1,chr[14])。 LCD_Display_OneChar(7,1,chr[3])。 //V LCD_Display_OneChar(11,1,chr[2])。 //: LCD_Display_OneChar(15,1,Num[1])。 //發(fā)送 ID DS18B20_Read_rom()。 //測(cè)電壓,并發(fā)送電壓值 volt_show()。 //延時(shí) 2 秒(可調(diào),根據(jù)采樣率要求而定) } if(Warning_Flag) //報(bào)警檢測(cè) { Ring = 0。 Ring=0。 Ring=0。 Warning_Flag=0。 (~(0x02)))。 bit dat。i++。while(i0)i。 for(i=1。 //讀出的數(shù)據(jù)最低位在最前面 return(dat)。 for(j=1。 dat=dat1。 DS=1。 //寫 0 部分 i=8。i++。 //跳過序列號(hào)命令 DS18B20_Write_byte(0x44)。 delayb(1)。 //連續(xù)讀兩個(gè)字節(jié)數(shù)據(jù) b=DS18B20_Read_byte()。 temp=8。 //得到真實(shí)十進(jìn)制溫度值 , 因?yàn)?DS18B20 //可以精確到 度,所以讀回?cái)?shù)據(jù)的最低位代表的是 度。 //報(bào)警標(biāo)志置位 State|=0x01。 delayb(1)。 USART_Send_Data(sn1)。 CS2=0。_nop_()。_nop_()。 SCL2=1。_nop_()。i++) { volt_tmp=1。_nop_()。 } CS2=1。所以這里主要討論數(shù)據(jù)的串 — 并轉(zhuǎn)換程序。 if(temperature0) {tmp_4=0。} //無百位,不顯示 10 為空字符 temperature = temperature % 1000。 //獲取個(gè)位 tmp_0 = temperature % 10。i256。 //這里乘上 100 的意思是保留兩位小數(shù) tmp=tmp/51。 //得到百位,其實(shí)是個(gè)位,因?yàn)閯偛懦松?100 了 tmp=tmp%100。 SBUF=DATA。 ch=SBUF。 X amp。 } X |= 0x80。 ListLength = 0。= 0xF。 } } } /********************溫度壓數(shù)據(jù)顯示子函數(shù) ******************/ void Display_temperature() { LCD_Display_OneChar(5,0,chr[tmp_4])。 LCD_Display_OneChar(9,0,chr[3])。 LCD_Display_OneChar(7,1,chr[3])。 //V } 初始化模塊 初始化模塊的任務(wù)是完成單片機(jī)串口、各個(gè)芯片以及 LCD 顯示器的初始化工作。 //定義引腳 sbit LCD_RW=P1^1。 //定義 Ring 接口 bit Warning_Flag=0。 //SDA2 定義為 P1 口的第 4 位腳,連接 ADC0831 SDA 腳 sbit CS2 =P1^6。 unsigned char Num[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x20}。 uchar ch。 int temperature。 uint ID=13。ms0。} } } /*****************串口初始化函數(shù) *****************/ void UART_init() { TMOD=0x20。 //Baud_rate。 //串口工作方式 1 TR1=1。 //總中斷允許 } /*******************:LCD 初始化 *****************/ void LCD_Init(void) //LCM 初始化 { LCD_Data = 0。 LCD_Write_Command(0x38,0)。 msDelay(5)。 //關(guān)閉顯示 LCD_Write_Command(0x01,1)。 DS=0。 i=4。遵循結(jié)構(gòu)化程序設(shè)計(jì)的原則,按照結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序具有明顯的 優(yōu)點(diǎn) 。由于 結(jié)構(gòu)化編程 方法能夠把錯(cuò)誤控制到最低限度,因此能夠減少調(diào)試和查錯(cuò)的時(shí)間。如果已使用過諸如 Paint 之類的繪圖程序,則實(shí)際上已掌握了創(chuàng)建用戶界面的必要技巧。 Visual Basic 不僅是 Visual Basic編程語言。從開發(fā)個(gè)人使用或小組使用的小工具,到大型企業(yè)應(yīng)用系統(tǒng),甚至通過 Inter 的遍及全球分布式應(yīng)用程序,都可在 Visual Basic 提供的工具中各取所需。 上位機(jī)軟件程序也是基于結(jié)構(gòu)化的編程思想編寫的,但有一點(diǎn)不同的是,由于應(yīng)用軟件要面向用戶的操作,故需要加入以事件驅(qū)動(dòng)的編程思想。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。在執(zhí)行中代碼也可以觸發(fā)事件 ( 例如,在程序中改變文本框中的文本將引發(fā)文本框的 Change 事件 ) 。************畫圖代碼 **************** Private Functi
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1