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

正文內(nèi)容

電子式拉力計(jì)的設(shè)計(jì)(畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2024-11-07 05:25本頁(yè)面

【導(dǎo)讀】隨著嵌入式設(shè)備的廣泛運(yùn)用,目前電子儀表也越來(lái)越趨近于數(shù)字化和智能化。儀表是集電子技術(shù)、計(jì)算機(jī)技術(shù)和精密測(cè)量技術(shù)于一體的全新產(chǎn)物。數(shù)字儀表具有響應(yīng)。快、分辨率高、測(cè)量精度高等優(yōu)點(diǎn)。生產(chǎn)的要求對(duì)電子儀表提出了越來(lái)越高的要求,需。要儀表既準(zhǔn)確的顯示、記錄參數(shù)大小,又能借助電腦連續(xù)反映出參數(shù)變化的過(guò)程和趨勢(shì)。因此數(shù)字儀表已成為儀器儀表領(lǐng)域中一個(gè)重要的分支。而本文設(shè)計(jì)的電子式拉力計(jì)就是。這樣一款攜帶方便、功耗超低的智能化儀表。它由ATmega16AVR單片機(jī)為處理核心,由MT-TS應(yīng)變式傳感器來(lái)測(cè)量拉。力的變化,最后測(cè)量結(jié)果由LCD1602顯示。它能實(shí)現(xiàn)以下功能:。測(cè)量范圍分為0~50N、50~500N,以鍵盤(pán)控制兩檔量程的轉(zhuǎn)換。量結(jié)果在LCD顯示屏上顯示。此拉力計(jì)結(jié)構(gòu)簡(jiǎn)單,性能穩(wěn)定可靠,便于維護(hù)。操作十分簡(jiǎn)便,測(cè)量結(jié)果使用液晶。顯示器顯示,便于使用者讀取。

  

【正文】 RC=0x01。 ADMUX=0x00。 //選擇 ADC 通道 PA0 ADCSR=0xe6。 //選擇 125K 的轉(zhuǎn)換速率,自由轉(zhuǎn)換模式,啟動(dòng) ADC delay(100)。 //延時(shí) A/D 轉(zhuǎn)換數(shù)據(jù)處理程序 A/D 轉(zhuǎn)換數(shù)據(jù)處理主要完成對(duì)數(shù)據(jù)的 A/D 轉(zhuǎn)換、數(shù)據(jù)采樣以及數(shù)據(jù)的物理量之間的轉(zhuǎn)換,其設(shè)計(jì)是否合理極為重要,因?yàn)樗苯佑绊懙奖鞠到y(tǒng)的測(cè)量精度。 ATmega16 的 A/D 轉(zhuǎn)換器的工作方式 ATmega16 單片機(jī)的 ADC具有兩種工作方式:?jiǎn)未无D(zhuǎn)換方式和自由轉(zhuǎn)換方式。在單次轉(zhuǎn)換方式下,由程序啟動(dòng)每一次轉(zhuǎn)換;而在自由轉(zhuǎn)換方式下, ADC 會(huì)連續(xù)采樣并更新 ADC數(shù)據(jù)寄存器,以保持最近一次的采樣值。系統(tǒng)在 ADC 時(shí)鐘的上升沿啟動(dòng) A/D 轉(zhuǎn)換,第一次啟動(dòng) A/D 轉(zhuǎn)換,將引發(fā)一次啞轉(zhuǎn)換過(guò)程及初始化 ADC 而并不得到采樣值。每一次 A/D轉(zhuǎn)換需要 13個(gè)時(shí)鐘周期。在進(jìn)行第一次 A/D 轉(zhuǎn)換時(shí)要耗費(fèi) 個(gè)時(shí)鐘周期的采樣 /保持時(shí)間,在第 13 個(gè)時(shí)鐘周期結(jié)束啞轉(zhuǎn)換,從而開(kāi)始真正的 A/D轉(zhuǎn)換,在第 25 個(gè)時(shí)鐘周期時(shí)完 成第一次 A/D轉(zhuǎn)換,數(shù)據(jù)進(jìn)入 ADC 的數(shù)據(jù)寄存器,其工作時(shí)序如圖 所示。 圖 ADC第一次轉(zhuǎn)換時(shí)序 當(dāng) ADC 工作在單次轉(zhuǎn)換方式時(shí),每次的 A/D 轉(zhuǎn)換結(jié)束后需要一個(gè)額外的時(shí)鐘周期,以開(kāi)始下一次的 A/D 轉(zhuǎn)換,其工作時(shí)序如圖 所示。 第 26 頁(yè) 共 47 頁(yè) 圖 ADC單次轉(zhuǎn)換時(shí)序 當(dāng) ADC 工作在自由轉(zhuǎn)換模式時(shí),第 13 個(gè)時(shí)鐘周期結(jié)束 A/D 轉(zhuǎn)換后即可以開(kāi)始下一次的A/D 轉(zhuǎn)換,其工作時(shí)序如圖 所示。 圖 ADC自由轉(zhuǎn)換時(shí)序 ADC 的時(shí)鐘由系統(tǒng)時(shí)鐘經(jīng)過(guò)一個(gè) 7 位的與分頻器分頻得到。 ADC 的時(shí)鐘分頻器的機(jī)構(gòu)如圖 所示。 ATmega16 單片機(jī)的 ADC 的時(shí)鐘應(yīng)該在 50~200KHz,過(guò)高的工作頻率將降低采樣精度。 圖 ADC時(shí)鐘分頻器 第 27 頁(yè) 共 47 頁(yè) 與 A/D 轉(zhuǎn)換相關(guān)的寄存器 與 A/D 轉(zhuǎn)換的相關(guān)寄存器包括 ADC 多路選擇寄存器 ADCMUX、 ADC 控制和狀態(tài)寄存器ADCSR、 ADC 數(shù)據(jù)寄存器 ADCH、 ADCL。 (1) ADC 多路選擇寄存器 ADCMUX($07)(表 45) 表 45 ADCMUX Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 — — — — — MUX2 MUX1 MUX0 ADC 多路選擇寄存器 ADCMUX 用于選擇 A/D 轉(zhuǎn)換的通道。 ADCMUX 可讀可寫(xiě),初始值為 0x00。 位 7~3:保留位。 位 2~0: MUX2~MUX0 選擇 A/D 轉(zhuǎn)換的通道,轉(zhuǎn)換選擇表如表 46所示。 表 46 ADC通道選擇表 MUX2 MUX1 MUX0 通道選擇 說(shuō)明 0 0 0 通道 0 模擬信號(hào)從 PA0( ADC0)輸入 0 0 1 通道 1 模擬信號(hào)從 PA1( ADC1)輸入 0 1 0 通道 2 模擬信號(hào)從 PA2( ADC2)輸入 0 1 1 通道 3 模擬信號(hào)從 PA3( ADC3)輸入 1 0 0 通道 4 模擬信號(hào)從 PA4( ADC4)輸入 1 0 1 通道 5 模擬信號(hào)從 PA5( ADC5)輸入 1 1 0 通道 6 模擬信號(hào)從 PA6( ADC6)輸入 1 1 1 通道 7 模擬信號(hào)從 PA7( ADC7)輸入 (2) ADC 控制和狀態(tài)寄存器 ADCSR(0x06)(表 47) 表 47 ADCSR Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0 ADCSR 用于設(shè) A/D 轉(zhuǎn)換器的工作方式和頻率。 ADCSR 可讀可寫(xiě),初始值為 0x00。 位 7: ADEN 位為 ADCSR 的使能位。 位 6: ADSC 位為 ADCSR 的單次轉(zhuǎn)換方式選擇位。如果 ADC 使能,置位 ADSC 位將啟動(dòng)一次 A/D 轉(zhuǎn)換。在轉(zhuǎn)換過(guò)程中 ADSC 一直保持為高。在轉(zhuǎn)換過(guò)程結(jié)束后,轉(zhuǎn)換結(jié)果進(jìn)入 ADC 數(shù)據(jù)寄存器之前的一個(gè) ADC 時(shí)鐘, ADSC 變?yōu)榈汀? 第 28 頁(yè) 共 47 頁(yè) 位 5: ADFR 位為 ADC 自由轉(zhuǎn)換方式選擇位。如果 ADC 使能,置位 ADFR, 則 ADC 工作在自由轉(zhuǎn)換模式下。 ADC 將不斷對(duì)信號(hào)進(jìn)行采樣并將最近一次的轉(zhuǎn)換數(shù)據(jù)存入 ADC數(shù)據(jù)寄存器。 ADC 工作于自由轉(zhuǎn)換模式時(shí),第一次轉(zhuǎn)換時(shí)也必須置位 ADSC 位啟動(dòng)一次啞轉(zhuǎn)換,以初始化 ADC。 位 4: ADIF 位為 ADC 中斷標(biāo)志位。 ADC 轉(zhuǎn)換完成后 ADIF 置位。如果全局中斷位 I和 ADC 中斷使能位 ADIE 置位,則 ADIF 置位時(shí)將執(zhí)行中斷服務(wù)程序。在中斷服務(wù)程序里,ADIF 被硬件清零,對(duì) ADIF 寫(xiě) 1也可以對(duì)其清零。 位 3: ADIE 位 ADC 中斷使能位。 位 2~0: ADPS2~ADPS0 位用于選擇 ADC時(shí)鐘。如表 48所示。 表 48 A/D轉(zhuǎn)換時(shí)鐘選擇 (3) ADC 數(shù)據(jù)寄存器 ADCH($05)、 ADCL($04)(表 49) 表 49 ADCH和 ADCL Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 — — — — — — ADC9 ADC8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADC 數(shù)據(jù)寄存器 ADCH 和 ADCL 用于存放 A/D 轉(zhuǎn)換后的數(shù)據(jù),作為 A/D 轉(zhuǎn)換的結(jié)果,ADCL 必須被先讀,然后再讀取 ADCH 的數(shù)據(jù)。這樣,在 ADCH 寄存器被讀取之前即使新一次的采樣已經(jīng)完成,系統(tǒng)人不會(huì)更新 ADC 數(shù)據(jù) 寄存器,以保證對(duì)轉(zhuǎn)換數(shù)據(jù)的正確讀取。 A/D 轉(zhuǎn)換數(shù)據(jù)處理程序流程 A/D 轉(zhuǎn)換的程序流程圖如圖 所示。 ADPS2 ADPS1 ADPS0 時(shí)鐘分頻系數(shù) ADC時(shí)鐘頻率0 0 0 2 CLK/2 0 0 1 2 CLK/2 0 1 0 4 CLK/4 0 1 1 8 CLK/8 1 0 0 16 CLK/16 1 0 1 32 CLK/32 1 1 0 64 CLK/64 1 1 1 128 CLK/128 第 29 頁(yè) 共 47 頁(yè) 開(kāi) 始啟 動(dòng) A/D轉(zhuǎn) 換讀 取 采 樣 獲 的10位 數(shù) 據(jù)將 采 樣 值 轉(zhuǎn) 換為 拉 力 值結(jié) 束 圖 A/D轉(zhuǎn)換程序流程圖 結(jié)合硬件設(shè)計(jì)和 ATmega16 的 ADC 特性,本設(shè)計(jì) ADCMUX=0x00, ADCSR=0xe8,即采用PA0 通道, ADC 始終是使能的,采用自由轉(zhuǎn)換工作模式,允許 A/D 轉(zhuǎn)換中斷,即采用非中斷工作模式, A/D 轉(zhuǎn)換速率為 125k。 A/D 轉(zhuǎn)換器的初始化由專門(mén)的初始化程序完成。A/D 轉(zhuǎn)換開(kāi)始后,單片機(jī)通過(guò)不斷檢 測(cè) ADCSR 的 ADIF 位看 A/D 轉(zhuǎn)換是否完成, ADIF=0表示轉(zhuǎn)換未完成,繼續(xù)檢測(cè) ADIF 直到 ADIF=1 則 A/D 轉(zhuǎn)換完成,調(diào)用中斷服務(wù)程序,讀取 ADC 數(shù)據(jù)寄存器 ADCH 和 ADCL 的轉(zhuǎn)換數(shù)據(jù)。 A/D 轉(zhuǎn)換器數(shù)的結(jié)果只是離散的數(shù)字參數(shù),必須將其轉(zhuǎn)換為與拉力值相關(guān)的電壓量,然后再轉(zhuǎn)換為需要顯示的拉力的對(duì)應(yīng)數(shù)據(jù)。 LCD 顯示程序 LCD1602 為 16x2 液晶顯示器,可以顯示 2行 16 列字符。 LCD1602 液晶顯示模塊為一種慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)液晶模塊的忙標(biāo)志為低電平 (表示不忙 ),否則寫(xiě) 入的指令數(shù)據(jù)將失效。在需要顯示字符時(shí)要先輸入顯示字符的地址,即告訴模塊在哪里像是字符,為 LCD1602 的內(nèi)部顯示存儲(chǔ)器 (CGRAM)如圖 所示。 第 30 頁(yè) 共 47 頁(yè) 圖 LCD1602內(nèi)部顯示存儲(chǔ)器 在寫(xiě)入第二行時(shí),須將第一行置為高電平及第一行為 0x80H,第二行顯示的數(shù)據(jù)要加上 0x80H,再寫(xiě)入液晶顯示模塊。在對(duì)液晶進(jìn)行初始化時(shí)要先設(shè)置其顯示模 式,在液晶顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶顯示模塊是否處于忙狀態(tài),這也正是 LCD1602 的缺陷所在,這樣的操作將消耗單片機(jī)有限的內(nèi)存單元。 LCD1602 液晶顯示模塊的內(nèi)部的字符發(fā)生存儲(chǔ)器 (CGROM)已經(jīng)存儲(chǔ)了 160 個(gè)不同的點(diǎn)陣字符圖形,包括阿拉伯?dāng)?shù)字、英文字母大小寫(xiě)、常用符號(hào)、日文假名等。 LCD1602 初始化的一般過(guò)程: 15ms; 38H(不檢測(cè)忙信號(hào) ); 5ms; 38H(不檢測(cè)忙信號(hào) ); 5ms; 38H(不檢測(cè)忙信號(hào),但是以后每次寫(xiě)指令、讀 /寫(xiě)數(shù)據(jù)操作之前均需要檢測(cè)忙信號(hào); 38H:顯示模式設(shè)置; 08H:顯示關(guān)閉; 01H:顯示清屏; ; 0CH:顯示開(kāi)機(jī)光標(biāo)位置。 本設(shè)計(jì)的液晶顯示程序流程圖如圖 所示。 第 31 頁(yè) 共 47 頁(yè) 開(kāi) 始初 始 化設(shè) 置 第 二 行 顯 示 初 始 位 置延 時(shí)顯 示 拉 力 值結(jié) 束設(shè) 置 第 一 行 顯 示 初 始 位 置顯 示 ERROR、量 程 、 RST 圖 液晶顯示程序 正如流程圖所示,對(duì)于液晶的啟動(dòng)和初始化由主函數(shù)調(diào)用相應(yīng)的子程序完成。由于液晶是慢顯示方式工作,必須給予一定的延時(shí)操作。第一行用于顯示 ERROR、量程、 RST,第二行用于顯示當(dāng)前測(cè)得的拉力值。 LCD1602 顯示的相關(guān)程序如下: void delay(unsigned int x)。 //延時(shí); void WriteDataLCM(unsigned char WDLCM)。 //寫(xiě)數(shù)據(jù); void WriteCommandLCM(unsigned char WCLCM,unsigned int Busyc)。 //寫(xiě)指令,BuysC 為 0 時(shí)忽略忙檢測(cè); unsigned char ReadStatusLCM(void)。 //讀狀態(tài); void LCMInit(void)。 //LCM 初始化; unsigned char ReadDataLCM(void)。 //讀數(shù)據(jù); void displayonechar(unsigned X, unsigned char Y, unsigned char DData)。 //按指定位置顯示一個(gè)字符; void display50r(void)。//*****顯示量程 50N,R: 50N*****; void display50(float a)。//*****測(cè)量值 =50 顯示 *****; void display5Kr(void)。//*****顯示量程 5KN,R: 5KN*****; void display5K(float a)。//*****測(cè)量值介于 50和 5K 間顯示 *****; 第 32 頁(yè) 共 47 頁(yè) 鍵盤(pán)程序 本設(shè)計(jì)的鍵盤(pán)采用觸發(fā)式鍵盤(pán),其結(jié)構(gòu)簡(jiǎn)單,編程容易,軟硬件都比較容易實(shí)現(xiàn)。其程序流程圖如圖 所示。 是 否 有 鍵 按 下開(kāi) 始消 抖LCD1602顯 示 量 程讀 取 鍵 值 (量 程 選 取 )結(jié) 束掃 描 鍵 盤(pán)N Y 圖 鍵盤(pán)程序流程圖 如流程圖所示,首先對(duì)鍵盤(pán)進(jìn)行掃描,當(dāng)單片機(jī)鍵盤(pán)端口 PC1 和 PC2 檢測(cè)到電平由高點(diǎn)平跳變時(shí),系統(tǒng)通過(guò)一定時(shí)間的延時(shí),以消除可能 因?yàn)槠渌蛞鸬陌存I抖動(dòng),后再次對(duì)按鍵進(jìn)行掃面確定確實(shí)有鍵按下,單片機(jī)通過(guò)對(duì)端口的判斷確定當(dāng)前所選擇的量程,并將量程通過(guò) LCD1602 顯示出來(lái)。 報(bào)警程序 該拉力計(jì)的報(bào)警系統(tǒng)包括兩部分,包括蜂鳴器報(bào)警和液晶顯示報(bào)警。當(dāng)測(cè)量值超過(guò)當(dāng)前量程時(shí),蜂鳴器將鳴響,同時(shí) LCD1602 會(huì)顯示 ERROR。另外,當(dāng)測(cè)量值大于 500N時(shí), LCD1602 還會(huì)不斷顯示 RST,提示操作者,測(cè)量值超過(guò)拉力計(jì)的最大量程,系統(tǒng)需要進(jìn)行復(fù)位。 當(dāng) PC0 為高電平時(shí)三極管導(dǎo)通工作在放大狀態(tài),蜂鳴器鳴響,即 PORTC=0x01。 LCD1602 報(bào)警顯示程序如下: 第 33 頁(yè) 共 47 頁(yè) void displayerror(void)。//*****顯示 ERROR***** LCD1602 顯示 ERROR,提示量程選擇錯(cuò)誤 .。 void displayrst(void)。//****顯示復(fù)位 RST***** LCD1602 顯示 RST,提示測(cè)量值超 過(guò)拉力計(jì)最大量程,系統(tǒng)需要復(fù)位。 第 34 頁(yè) 共
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1