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

正文內(nèi)容

基于51單片機(jī)壓力檢測(cè)系統(tǒng)設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-01 21:46本頁(yè)面
  

【正文】 的方式, C 語(yǔ)言編程、匯編語(yǔ)言編程及混合編程。就前兩種編程方式相比, C 語(yǔ)言更加通俗易懂 ,容易上手, C 語(yǔ)言屬于高級(jí)語(yǔ)言,并且有著編譯器的強(qiáng)大支持與自動(dòng)優(yōu)化,使得編程者在軟件設(shè)計(jì)的時(shí)候不用花費(fèi)太多時(shí)間去研究單片機(jī)底層硬件資源。當(dāng)然,對(duì)于匯編語(yǔ)言在某些方面仍然有著不小的優(yōu)勢(shì),最為突出xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 21 頁(yè) 共 61 頁(yè) 的一點(diǎn)就是效率優(yōu)化的可操作性。由于 C 語(yǔ)言在編譯器的支持下編譯鏈接生成匯編文件,所以在性能優(yōu)化方面完全受制于編譯器,從 C 語(yǔ)言層面上幾乎無(wú)法做任何優(yōu)化。而直接使用匯編語(yǔ)言編寫(xiě)程序,在匯編級(jí)別上,具體執(zhí)行哪條匯編指令,具體使用哪個(gè)寄存器完全是透明的,所以在性能要求特別高的場(chǎng)合下,如果有豐富的匯編經(jīng)驗(yàn),一般都是使用匯編語(yǔ)言編寫(xiě) 單片機(jī)程序。 為了克服 C 語(yǔ)言編程及匯編語(yǔ)言編程各自的缺點(diǎn),混合編程方式完美的結(jié)合了兩者的優(yōu)點(diǎn),做到了優(yōu)勢(shì)互補(bǔ)。通常單片機(jī)很合編程技術(shù)是,程序的框架或主體部分用 C 語(yǔ)言編寫(xiě),對(duì)于那些使用頻率高、要求執(zhí)行效率高、延時(shí)精確的部分用匯編語(yǔ)言編寫(xiě) [9],這樣既保證了整個(gè)程序的可讀性,又保證了單片機(jī)應(yīng)用系統(tǒng)的性能。 由于本系統(tǒng)對(duì)于性能的要求一般,所以采用 C 語(yǔ)言方式編寫(xiě)單片機(jī)程序。 通過(guò)對(duì)編譯選項(xiàng)的設(shè)置, Keil 軟件可以在編譯鏈接后自動(dòng)生成 HEX16 進(jìn)制文件,方便單片機(jī)程序的直接燒寫(xiě)。 I/O 端口分配 STC89C51RC 共有 40 只引腳, P0~P3 四個(gè)引腳組各有 8 只引腳。對(duì)于本系統(tǒng)而言,引腳數(shù)量還是夠用的 [10]。引腳功能分配如下 : ? P20~P27 和 P1 P17 接于 LCD 中液晶與單片機(jī)的控制端口和字庫(kù)與單片機(jī)的控制端口。 ? P34~P37 和 P13 是用于 4*3 矩陣鍵盤(pán)按鍵。包括功能選擇按鍵,參數(shù)設(shè)置按鍵和工作啟停等功能控制。 ? P14, P15 用于接 A/D 轉(zhuǎn)換芯片 HX711 數(shù)據(jù)采集端口,是串行工作方式,所以節(jié)省了很多的 IO 口的使用。 還有一些單獨(dú)的接口,比如振蕩電路接口,聲光報(bào)警電路接口和單片機(jī)自帶的燒錄程序串口通訊接口 TXD、 RXD 等。 程序中所有端口定義及功能如下: sbit A/DDO = P1^5。 //串行數(shù)據(jù)輸出端口 sbit A/DSK = P1^4。 //斷電控制(高電平有效)和串口時(shí)鐘輸入端口 sbit lcd_sclk=P2^3。 //LCD 的 sclk 接口 sbit lcd_sid=P2^4。 //LCD 的 sid 接口 sbit lcd_rs=P2^5。 //LCD 的 rs 接口 sbit lcd_reset=P2^ //LCD 的 reset 接口 sbit lcd_cs1=P2^ 。 //LCD 的 cs1 接口 sbit Rom_IN=P1^7。 //字庫(kù) IC 的 SI 接口 sbit Rom_OUT=P1^6。 //字庫(kù) IC 的 SO 接口 sbit Rom_SCK=P2^0。 //字庫(kù) IC 的 SCK 接口 sbit Rom_CS=P2^1。 /字庫(kù) IC 的 CS 接口 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 22 頁(yè) 共 61 頁(yè) sbit LedA = P2^2。 //LCD 液晶 背光電源接口 sbit beep = P1^0。 //報(bào)警電 路蜂鳴器接口 sbit alert = P1^1。 //LED 發(fā)光二極管接口 sbit ROW1=P3^3。 //矩陣鍵盤(pán)第一行接口 sbit ROW2=P3^2。 //矩陣鍵盤(pán)第二行接口 sbit ROW3=P1^3。 //矩陣鍵盤(pán)第三行接口 sbit COL1=P3^4。 //矩陣鍵盤(pán)第一列接口 sbit COL2=P3^5。 //矩陣鍵盤(pán)第二列接口 sbit COL3=P3^6。 //矩陣鍵盤(pán)第 三列接口 sbit COL4=P3^7。 //矩陣鍵盤(pán)第四列接口 軟件主程序構(gòu)架 本系統(tǒng)的設(shè)計(jì)主要由五大模塊構(gòu)成,軟件程序主要是實(shí)現(xiàn)對(duì)這些功能模塊的控制,以及最終對(duì)數(shù)據(jù)進(jìn)行分析計(jì)算得出性能測(cè)量結(jié)果。程序執(zhí)行時(shí),首先對(duì)整個(gè)系統(tǒng)進(jìn)行初始化,這部分包括參數(shù)初始化、 IO 初始化和器件初始化三個(gè)操作。參數(shù)初始化時(shí)對(duì)一些全局系統(tǒng)參數(shù)進(jìn)行初始化,保證程序執(zhí)行的可靠性; IO 初始化是將所有 IO 的電平和功能設(shè)置為關(guān)閉狀態(tài),防止發(fā)生誤操作;器件初始化是對(duì)外圍的 A/D 芯片、模擬開(kāi)關(guān)、LCD 進(jìn)行初始化,保證器件 能夠正常運(yùn)行。如果在此過(guò)程中發(fā)生錯(cuò)誤,即調(diào)用報(bào)警電路進(jìn)行報(bào)警。程序流程圖如圖 所示。 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 23 頁(yè) 共 61 頁(yè) 開(kāi) 始開(kāi) 中 斷定 時(shí) 器 初 始 化壓 力 檢 測(cè) 模 塊調(diào) 零執(zhí) 行 功 能更 新 數(shù) 據(jù) 及 顯示閾 值 重 設(shè)讀 取 A D 采 樣 模塊手 動(dòng) 存 儲(chǔ) 數(shù) 據(jù) 統(tǒng) 計(jì) 分 析 歷 史 數(shù) 據(jù) 查 詢(xún)L C D 初 始 化顯 示 功 能 界 面讀 取 , 解 析 鍵碼 圖 系統(tǒng)主程序構(gòu)架框圖 初始化完畢后,延時(shí)等待所有模塊準(zhǔn)備好,向液晶顯示器發(fā)送數(shù)據(jù),顯示初始的人機(jī)界面。此時(shí),整個(gè)系統(tǒng)可以開(kāi)始進(jìn)行數(shù)據(jù)采集工作,但參數(shù)均處于默認(rèn)狀態(tài),如果需要調(diào)整,則可以實(shí)時(shí)通過(guò)鍵盤(pán)控制,系統(tǒng)根據(jù)讀取的鍵盤(pán)鍵值執(zhí)行相應(yīng)的操作,分別是執(zhí)行修改閾值參數(shù)、讀取 A/D 采樣值、壓力測(cè)量、手動(dòng)存儲(chǔ)、超重預(yù)警、發(fā)出報(bào)警信號(hào)、查閱歷史,數(shù)據(jù)統(tǒng)計(jì)分析等。 等 待這部分操作完成后,系統(tǒng)屏幕根據(jù)需要實(shí)時(shí)刷新顯示一些數(shù)據(jù)和狀態(tài),顯示新的參數(shù)或采樣信息。 主要功能子程序的設(shè)計(jì) 先進(jìn)行系統(tǒng)的初始化,初始化模塊主要對(duì)單片機(jī)的堆棧指針,中斷寄存器,全局變量定義,賦初值和定時(shí)器的初始化。定時(shí)器主要作為 A/D 轉(zhuǎn)換時(shí)間的設(shè)定。然后進(jìn)行模xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 24 頁(yè) 共 61 頁(yè) 數(shù)轉(zhuǎn)換,判斷是否超過(guò)設(shè)定閾值,轉(zhuǎn)換壓力字符通過(guò)液晶顯示。參數(shù)設(shè)定完畢,系統(tǒng)啟動(dòng)數(shù)據(jù)采集和控制程序,實(shí)現(xiàn)壓力的實(shí)時(shí)檢測(cè)。 A/D 子程序設(shè)計(jì) 通過(guò)壓力傳感器輸出后的數(shù)據(jù)經(jīng)過(guò)信號(hào)放大器的處理后,由 A/D 轉(zhuǎn)換芯片轉(zhuǎn)換為數(shù)字信號(hào)。其中模擬信 號(hào)的放大倍數(shù)由放大電路控制。在軟件方面,單片機(jī)通過(guò)發(fā)送時(shí)序命令的方式對(duì) A/D 芯片進(jìn)行控制,由于選型的 A/D 芯片不需要啟動(dòng)命令,即可自動(dòng)轉(zhuǎn)換。所以在每次采集之前,程序通過(guò)延時(shí)等待轉(zhuǎn)換完成,然后發(fā)送低電平片選信號(hào),將數(shù)據(jù)讀取功能使能,在數(shù)據(jù)讀取的整個(gè)過(guò)程中保持不變。然后再發(fā)送一個(gè)時(shí)鐘讀取采樣值,并將數(shù)據(jù)保存到存儲(chǔ)器的設(shè)定空間,再將存儲(chǔ)空間的指針移位。此時(shí),將片選信號(hào)置高,等待讀取下一組數(shù)據(jù),完成其他程序功能。 A/D 采集部分流程圖如圖 所示: 開(kāi) 始片 選 輸 出 為 低時(shí) 鐘 輸 出 置 高延 時(shí) 等 待時(shí) 鐘 輸 出 置 低讀 取 數(shù) 據(jù)保 存 到 存 儲(chǔ) 器 , 數(shù)據(jù) 指 針 移 位片 選 輸 出 為 高結(jié) 束 圖 A/D 轉(zhuǎn)換流程圖 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 25 頁(yè) 共 61 頁(yè) 中斷子程序設(shè)計(jì) 系統(tǒng)的稱(chēng)重間隔為 ,每 置標(biāo)志位,累加器計(jì)數(shù)滿(mǎn) 400 次則延時(shí)時(shí)間為 ,置稱(chēng)重標(biāo)志位。中斷子程序流程圖如下圖 所示。 時(shí) 鐘 中 斷 入 口≥ 4 0 0C o u n t e r 累 加置 稱(chēng) 重 位返 回YN 圖 中斷流程圖 查詢(xún)歷史數(shù)據(jù)子程序設(shè)計(jì) 預(yù)先手動(dòng)存儲(chǔ)八個(gè)以?xún)?nèi)的壓力值(超過(guò)閾值亦可),當(dāng)存儲(chǔ)第九個(gè)數(shù)據(jù)時(shí),存儲(chǔ)的歷史數(shù)據(jù)會(huì)自動(dòng)將第一位存儲(chǔ)的數(shù)據(jù)擠掉,后面存儲(chǔ)的數(shù)據(jù)均依次向前移一位。按上下鍵進(jìn)行選擇,光標(biāo)停在查詢(xún)歷史數(shù)據(jù)功能菜單之前 ,按確認(rèn)鍵確定。調(diào)用該子程序,判斷是否為 0,若不是顯示 “無(wú)歷史 ”;若是則讀取顯示存儲(chǔ)的壓力值,并按順序依次為~8 顯示輸出。查詢(xún)歷史數(shù)據(jù)流程圖如下圖 所示。 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 26 頁(yè) 共 61 頁(yè) 開(kāi) 始判 斷 是 否 有 為 0顯 示 “ 無(wú) 歷 史 ” 讀 取 顯 示結(jié) 束NY 圖 查詢(xún)歷史數(shù)據(jù)流程圖 數(shù)據(jù)統(tǒng)計(jì)分析子程序設(shè)計(jì) 預(yù)先手動(dòng)存儲(chǔ)八個(gè)以?xún)?nèi)的壓力值(超過(guò)閾值亦可),當(dāng)存儲(chǔ)第九個(gè)數(shù)據(jù)時(shí),存儲(chǔ)的歷史數(shù)據(jù)會(huì)自動(dòng)將第一位存儲(chǔ)的數(shù)據(jù)擠掉,后面存儲(chǔ)的數(shù)據(jù)均依次向前移一位。按上下鍵選擇 “ 數(shù)據(jù)統(tǒng)計(jì)分析 ” ,則系統(tǒng)會(huì)將這些壓力值進(jìn)行數(shù)據(jù)分析處理(求均值、最 值、排序求中位數(shù)、判斷有無(wú)眾數(shù)),然后依次顯示輸出均值大小、最大值、最小值、中位數(shù)、若有眾數(shù),則顯示出現(xiàn)幾次,并且顯示該眾數(shù);在四種情況下,比如 abcdefgh 型、aabbccdd 型、 aaaaaaaa 型、 aaaabbbb 型則顯示無(wú)眾數(shù)。如下圖 所示。 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 27 頁(yè) 共 61 頁(yè) 計(jì) 算 均 值判 斷 有 無(wú) 眾 數(shù) 顯 示 “ 無(wú) 眾 數(shù) ”計(jì) 算 最 大 ( 小 ) 值開(kāi) 始結(jié) 束依 次 顯 示 均 值 、 最值 、 中 位 數(shù) 、 眾 數(shù)計(jì) 算 中 位 數(shù)NY 圖 數(shù)據(jù)統(tǒng)計(jì)分析流程圖 閾值重設(shè)子程序設(shè)計(jì) 系統(tǒng)開(kāi)啟后,系統(tǒng)會(huì)默認(rèn)顯示程序中預(yù)先設(shè)定的閾值 ,按閾值重設(shè)鍵,鍵盤(pán)程序讀取鍵碼,調(diào)用該子程序,界面跳到修改閾值的界 面,有個(gè)光標(biāo)在第一個(gè) 9 的下面,可以通過(guò)按左右選擇鍵,將光標(biāo)左右移動(dòng),該光標(biāo)停在任意數(shù)下面,就可以通過(guò)加減鍵對(duì)該數(shù)字進(jìn)行修改,從而完成閾值的修改,最后按確認(rèn)鍵即可跳轉(zhuǎn)到主菜單。如下圖 所示。 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 28 頁(yè) 共 61 頁(yè) 開(kāi) 始讀 取 顯 示 當(dāng) 前閾 值按 鍵 判 斷更 新 數(shù) 據(jù) 及 顯示+↓ →←檢 測(cè) 鍵 盤(pán)↑開(kāi) 始結(jié) 束 圖 閾值重設(shè)功能流程圖 人機(jī)交互子程序設(shè)計(jì) 人機(jī)交互單元包括鍵盤(pán)處理和 12864 顯示模塊兩部分。人機(jī)交互是設(shè)計(jì)人性化、便捷操作的必要操作,除了硬件上的設(shè)計(jì)基礎(chǔ),還必須要軟件的靈活控制,由于顯示時(shí)序均以時(shí)序建模的方式實(shí)現(xiàn)了控制驅(qū)動(dòng),大大簡(jiǎn)化了 軟件設(shè)計(jì),軟件僅需要按要求給出擬顯示的圖像和位置即可。 ( 1)液晶顯示控制程序設(shè)計(jì) 液晶顯示控制程序框圖如圖 所示,液晶的總線(xiàn)接口是 ~, 定義為CS 片選口,每次對(duì)液晶的操作必須先拉高 CS 信號(hào), 定義為液晶復(fù)位接口。開(kāi)始先對(duì)液晶顯示初始化,功能主要是對(duì)液晶的背光時(shí)間,背光等級(jí),字符顯示格式,漢字顯示格式,和界面的初始化等。初始化完畢,下一步對(duì)各項(xiàng)參數(shù)顯示。 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 29 頁(yè) 共 61 頁(yè) 初始化完畢否液晶顯示接口液晶初始化設(shè)置顯示系統(tǒng)各項(xiàng)參數(shù)YN用戶(hù)是否設(shè)定系統(tǒng)參數(shù)用戶(hù)設(shè)定系統(tǒng)參數(shù) 圖 液晶顯示初始化控制流程圖 ( 2)鍵盤(pán)驅(qū) 動(dòng)程序設(shè)計(jì) 鍵盤(pán)處理程序?yàn)閱纹瑱C(jī)控制口讀取按鍵狀態(tài),消抖后得到按鍵狀態(tài),根據(jù)按鍵狀態(tài)得到用戶(hù)輸入的鍵值進(jìn)行相應(yīng)的參數(shù)設(shè)定,也可以通過(guò)按鍵重設(shè)系統(tǒng)閾值。鍵盤(pán)驅(qū)動(dòng)程序框圖如圖 所示。 xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 30 頁(yè) 共 61 頁(yè) 開(kāi) 始列 掃 描行 掃 描判 斷 是 否 有 鍵 按 下取 相 應(yīng) 鍵 碼結(jié) 束NY 圖 按鍵驅(qū)動(dòng)流程圖 矩陣鍵盤(pán)的處理方法比較簡(jiǎn)單,單片機(jī)上電后引腳默認(rèn)電平為高點(diǎn)平。當(dāng)按鍵被按下的時(shí)候變低電平,單片機(jī)讀取到低電平狀態(tài)后經(jīng)過(guò)一段時(shí)間的延時(shí)消抖再去讀取電平狀態(tài),確保有按鍵按下,因?yàn)橛械臅r(shí)候會(huì)誤讀。然后去處理后續(xù)程序代碼。鍵盤(pán)控制程序代碼如下 : include //按鍵掃描函數(shù) : //功能;只掃描一個(gè)按鍵,按鍵為號(hào)小優(yōu)先 //返回鍵值: // 1(save) 2(clearHistory) 3(to_zero) 4(limit) // 5(plus) 6(up) 7(sub) 8(return) // 9(left) 10(down) 11(right) 12(enter) xx 本科生畢業(yè)設(shè)計(jì)(論 文) 第 31 頁(yè) 共 61 頁(yè) unsigned char Getkeyboard(void) { unsigned char number = 0。 unsigned char i。 //行輸入低電平 ROW1=ROW2=ROW3=0。 //如果列輸出不全為高,則說(shuō)明有鍵按下 if ((COL1!=1)||(COL2!=1)||(COL3!=1)||(COL4!=1)) { //輸入 011 ROW1=0。 RO
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1