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

正文內(nèi)容

畢業(yè)設(shè)計-基于can總線的遠程數(shù)據(jù)采集系統(tǒng)--下位機部分-資料下載頁

2024-12-02 16:48本頁面

【導(dǎo)讀】高、抗干擾能力強、通訊速率高、維護成本低及其獨特的設(shè)計越來越受到人們的重視,并被公認為是最有前途的現(xiàn)場總線之一?;贑AN總線的遠程數(shù)據(jù)采集系統(tǒng)分為上位機、CAN總線和下位機三個部分。位機建立友好的人機交互界面;CAN總線采用總線型拓撲結(jié)構(gòu),通信電纜采用雙絞線;下位機部分是兩個傳感器節(jié)點。首先介紹了系統(tǒng)總體設(shè)計方案,然后。MPX53DP做簡要介紹,并分析設(shè)計放大電路;接著介紹單片機AT89C52及其附屬電路,特別對鍵盤做了重點分析介紹;分析軟件算法,使用C51語言編程;最后介紹系統(tǒng)調(diào)試。

  

【正文】 而不 退出鍵盤處理。確認鍵的設(shè)置是顯而易見的,各個數(shù)值的確定,功能鍵的確定都要依靠 ENTER 確認鍵來實現(xiàn)。 在實際的工業(yè)現(xiàn)場中,熱電偶由于各種原因造成損壞,必須更換熱 電 偶,同時也有可能在同一個測溫點要測量的溫度范圍也有可能發(fā)生變化,需要更換不同類型的熱電偶,所以在本設(shè)計設(shè)計的系統(tǒng)中 可以在線更改熱電偶的線性化轉(zhuǎn)折點坐標(biāo)值, 在更改熱 電 偶的兩端折點時也就更改了熱電偶的測溫范圍,這樣,在要更換不同類型的熱電偶或更改熱電偶的測溫范圍時,就可以不用更換系統(tǒng)其它的部分,只要通過鍵盤更改折點就可以內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 了。這樣設(shè)計既減少了系統(tǒng)維護的成 本,又有利于系統(tǒng)的維護。所以設(shè)定更改折點值的Tspot 鍵。更改上下限報警值在實際的工業(yè)生產(chǎn)中也是經(jīng)常用到的,所以本設(shè)計設(shè)定了HL 鍵,用于更改上下限報警值。 本設(shè)計通過 4*4 矩陣鍵盤的 8 個輸出口與 89C52 的 P2 口的 8 個輸入 /輸出口相接, 4根列線與 、 、 、 相連接, 4 位行線與 、 、 、 相連接 。當(dāng)有鍵按下時,通過單片機對 P2 口的讀寫操作,就可以確定是否有鍵按下,以及哪個鍵被按下。 看門狗及復(fù)位電路 看門狗定時器的預(yù)置時間是通過 X5045 的狀態(tài)寄 存器的相應(yīng)位來設(shè)定的。 X5045 狀態(tài)寄存器共有 6 位有含義,其中 wd wd0 和看門狗電路有關(guān),其余位和 EEPROM 的工作設(shè)置有關(guān)。 wd1= 0, wd0=0,預(yù)置時間為 。 wd1= 0, wd0=1,預(yù)置時間為 。 wd1= 1, wd0=0; 預(yù)置時間為 。 wd1= 1, wd0=1, 禁止看門狗工作。 X5045 在讀寫操作之前,需要先向它發(fā)出指令,指令名及指令格式如表 所示。 表 X5045指令及其含義 指令名 指令格式 操作 WRE 000000110 允許寫操作 WRDI 000000100 禁止寫操作 RDSR 000000101 讀狀態(tài)寄存器 WRSR 000000001 寫狀態(tài)寄存器 READ 0000A8011 把開始于所選地址中 WRITE 0000A8010 把數(shù)據(jù)寫入所選地址 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 看門狗及復(fù)位電路 如圖 。 X5045 芯片內(nèi)包含有一個看門狗定時器,可通 過軟件預(yù)置系統(tǒng)的監(jiān)控時間。在看門狗定時器預(yù)置的時間內(nèi)若沒有總線活動,則 X5045 將從 RST 輸出一個高電平信號,經(jīng)過微分電路 C R3 輸出一個正脈沖,使 單片機 復(fù)位。 V C CS O/ C S/ W PV S SR S TS C KS IA T 8 9 5 2P 1 . 4P 1 . 5P 1 . 6P 1 . 7R S T+ 5+ 57 4 l s 3 2x 5 0 4 5+R 1R 2R 31 K1 0 K1 0 KC 12 2 μ FC 20 . 1 μ FS 圖 看門狗及復(fù)位電路 圖 電路中,復(fù)位信號共有 3 個:上電復(fù)位 (C R2),人工復(fù)位 (S、 R R2)和watchdog 復(fù)位 (C R3),通過或門綜合后加到 單片機 RST 端。 C R3的時間常數(shù)不必太大,有數(shù)百微秒即可,因為這時 單片機 的振蕩器已經(jīng)在工作。預(yù)置時間為 。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 第五章 軟件編程 軟件編程概述 軟件設(shè)計部分是本設(shè)計的重點。 軟件設(shè)計的 主要 功能 是鍵盤、通信和信號采集的編程及程序的調(diào)試。 由于 C51 語言相對單片機匯編語言具有可讀性強,可移植性強,易學(xué)易用,便于修改維 護等優(yōu)點,本設(shè)計采用 C51 進行下位機 傳感器 節(jié)點進行 軟件編程。上位機部分的監(jiān)測界面使用 VB 語言編程。 本設(shè)計的軟件編程主要是對溫度傳感器節(jié)點和壓力傳感器節(jié)點的采集部分的編程,由于 基于 CAN 總線的遠程數(shù)據(jù)采集系統(tǒng)的節(jié)點間的通信就是和采集部分在一起, 所以本章也涉及 CAN 總線通信程序 。通過編寫 各功能子 程序,實行模塊化編程,這樣能提高編程效率,便于閱讀和修改 ,本設(shè)計實行模塊化設(shè)計。 在本章接下來的小節(jié)中,通過對溫度傳感器節(jié)點和壓力傳感器節(jié)點的 算法分析 ,設(shè)計系統(tǒng)的軟件,源程序見附錄 D。 溫度傳感器節(jié)點 軟件設(shè)計 溫度傳感器節(jié)點主要是分時采集兩路溫度信號,經(jīng) A/D 轉(zhuǎn)換后送單片機進行冷端溫度補償 及標(biāo)度 變換送顯示,并判斷是否超限 ,根據(jù)判斷顯示結(jié)果。當(dāng)有鍵盤輸入時,進入鍵盤處理子程序處理鍵盤的輸入,鍵盤主要是更改上、下限,更改溫度標(biāo)度變換時的折點坐標(biāo),在鍵盤更改程序參數(shù)后,調(diào)用數(shù)據(jù)上傳函數(shù)把更改后的參數(shù)傳輸給上位機,以實現(xiàn)各個節(jié)點數(shù)據(jù)信息的同步。在鍵盤鎖開鎖后,只采樣兩路信號后不顯示出來,因為此時鍵盤已經(jīng)占據(jù)數(shù)碼管顯示。通過定時中斷程序把采集的溫度數(shù)據(jù)傳輸?shù)缴衔还?jié)點。溫度傳感器節(jié)點的主 程序 流程圖如圖 。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) MCU初始化主 要是對單片機中用到的全局變量的定義,如鍵盤的輸入值、報警值、溫度采樣值的定義 及 賦初值,也包括用到的端口和一些標(biāo)志位等的定義和賦初值以及看門狗的初 始 化。 圖中 CAN 控制器的復(fù)位,初始化,以及定時器 T0、中斷的初始化都是為溫度傳感器節(jié)點與上位機 節(jié)點通信做準備。 開 始M C U 初 始 化C A N 控 制 器 復(fù) 位C A N 控 制 器 初 始 化鍵 處 理 標(biāo) 志 為 0 ?NY定 時 器 T 0 初 始 化調(diào) 鍵 盤 掃 描 處 理 子 程 序調(diào) 顯 示 處 理 子 程 序延 時 2 秒調(diào) 溫 度 冷 端 補 償 子 程 序調(diào) 標(biāo) 度 變 換 子 程 序 圖 溫度傳感器節(jié)點主程序流程圖 鍵盤掃描處理 子 程序是本設(shè)計的重點,在鍵盤掃描處理程序中先掃描鍵盤,若有鍵按下,延時 10ms,再判斷是否有鍵按下,沒有則退出鍵盤,有則讀取鍵值,并設(shè)置有鍵內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 按 下標(biāo)志位。 等待按鍵釋放后,判斷是否是鎖鍵盤鍵按下了,若是則對 鎖 鍵盤 標(biāo)志位 取反,退出循環(huán) 。 否則繼續(xù)往下執(zhí)行。當(dāng)鎖鍵盤標(biāo)志位和鍵標(biāo)志位都為 1 時,判斷是否是小數(shù)點鍵按下,若是則設(shè)置小數(shù)點標(biāo)志位并送顯示,否則判斷是否是數(shù)字鍵,要是則調(diào)用數(shù)字鍵處理子程序,要不是則判斷是否是其它功能鍵按下,若是則進入相對應(yīng)的功能鍵處理子程序,處理完后退出鍵盤處理子程序。 鍵盤掃描處理子程序如圖 所示。 初 始 化鍵 盤 掃 描 處 理 子 程 序鍵 釋 放了 嗎 ?讀 取 鍵 值 并 設(shè) 置鍵 標(biāo) 志 位延 時 1 0 m s有 鍵 按 下嗎 ?鍵 標(biāo) 志 位為 1 ?鍵 鎖 標(biāo) 志 位為 1 ?是 鎖 鍵 盤按 下 嗎 ?有 鍵 按 下 嗎 ?鍵 鎖 標(biāo) 志 位 取 反進 入 數(shù) 字 鍵 處 理子 程 序YNY是 數(shù) 字 鍵按 下 嗎 ?進 入 更 改 報 警 值處 理 子 程 序是 取 消鍵 嗎 ?是E N T E R鍵 嗎 ?是 T s p o t鍵 嗎 ?是 H L鍵 ?進 入 取 消 鍵處 理 子 程 序進 入 確 認 鍵處 理 子 程 序進 入 更 改 折 點處 理 子 程 序NNYYY返 回YYYYNNNNNYYNN設(shè) 置 小 數(shù) 點 標(biāo) 志 位并 送 顯 示是 小 數(shù)點 鍵 按下 嗎 ?YNN 圖 溫度 鍵 盤掃描處理子程序流程圖 在數(shù)字鍵處理子程序中,主要是如何實現(xiàn)的 鍵盤輸入數(shù)字的 移動方向。 初始化后判斷小數(shù)點標(biāo)志位是否為 1,若為 1,則求出小數(shù)點后位數(shù)的個數(shù)再加 1,賦給變量 K,然后把新輸入的數(shù)字除以 10 的 K 次方后和原數(shù)值相加后就得到處理后的數(shù)值。若小數(shù)點內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 標(biāo)志位不為 0,則原數(shù)值乘 10 和新輸入的數(shù)字相加得到處理后的數(shù)值,最后送顯示。 子初 始 化數(shù) 字 鍵 處 理 子 程 序小 數(shù) 點鍵 標(biāo) 志為 1 ?調(diào) 用 顯 示 處 理子 程 序返 回NY新 數(shù) 值 = 原 數(shù) 值 + 輸 入 數(shù)字 / 1 0K新 數(shù) 值 = 原 數(shù) 值 * 1 0 + 輸入 數(shù) 字K = 小 數(shù) 點 后 位 數(shù) + 1 初 始 化 i = 0返 回( i + + ) = 4 ?NY更 改 折 點子 程 序顯 示 折 點 的 豪 伏 熱電 勢顯 示 折 點 溫 度延 時 1 秒延 時 1 秒 設(shè) 置 更 改 折 點 標(biāo)志 位 S p o t _ F l a g = 1 圖 溫度節(jié)點 數(shù)字鍵處理 子程序流程圖 圖 更改 折點 處理子程序流程圖 程序流程圖如圖 所示。 如圖 所示,當(dāng)按下 TSpot 鍵時,首先循環(huán)顯示已有的折點的溫度和對應(yīng)的毫伏電壓。然后設(shè)置更改折點標(biāo)志位 SpotFlag=1,以便按下確認鍵后通過判斷 SpotFlag 的值來更改折點坐標(biāo)。 如圖 所示,當(dāng)按下 HL 鍵時,更改報警值,首先判斷更改標(biāo)志位的值,若為 0,則使 High_Flag=1,當(dāng)按下數(shù)值并按下確認鍵后就能更改上限報警值,使 flag1=1,準備內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 下一次按下 HL 鍵能切換到更改下限報警值,使 Low_Flag=0。若為 flag1=1 則與前面情況相同,同時還有可能出現(xiàn)兩種情況都不是的情況,直接退出。 f a g 1 = 0 ,H i g h _ F l a g = 0 ,下 限 標(biāo) 志 位L o w _ F l a g = 1f a g 1 = 1 , 上 限 標(biāo) 志位 H i g h _ F l a g = 1 ,L o w _ F l a g = 0更 改 報 警 值 標(biāo) 志f l a g 1 = 0 ?更 改 報 警 值 處 理 子 程 序返 回顯 示 上 限 報 警 值顯 示 下 限 報 警 值YN更 改 報 警 值 標(biāo) 志f l a g 1 = 0 ?NY 鍵盤輸入數(shù)值清0取消鍵處理子程序報警相關(guān)標(biāo)志位清0顯示0表取消成功返回 小數(shù)點標(biāo)志清0移位 圖 更改報警值處理子程序流程圖 圖 取消鍵處理子程序流程圖 如圖 所示,當(dāng)按下 Delete 鍵時,對鍵盤的輸入的數(shù)值清零,報警相關(guān)標(biāo)志位、小數(shù)點相關(guān)標(biāo)志位清零,只是在改變折點時只對數(shù)值清零,而不對標(biāo)志位清零,以免造成輸入的混亂。 由于 鍵盤中有幾個功能鍵,所以在按下確認鍵后首先判斷 各 功能鍵標(biāo)志位,若 某功能鍵標(biāo)志位 為 1, 則說明是對該功能鍵進行相關(guān)的操作。 如圖 所示,首先進行初始化,判斷是否折點標(biāo)志位是否為 1,若是,再判斷折點更改標(biāo)志位是否為 0,為 0 說明輸入的數(shù)值是溫度標(biāo)度變換折線化的折點對應(yīng)的溫度,把它存于折點溫度數(shù)組,若為 1 則把它存于折點毫伏電壓數(shù)組。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 初 始 化折 點 標(biāo) 志 位= 1 ?確 認 鍵 處 理子 程 序計 算 折 線 的 斜 率并 顯 示 出 來調(diào) 用 上 傳 折 點子 程 序折 點 更 改標(biāo) 志 位 = 0把 輸 入 數(shù) 值 存儲 于 熱 電 勢 數(shù)組折 點 更 改 標(biāo) 志位 = 1把 輸 入 數(shù) 值 存儲 于 折 點 數(shù) 組存 儲 于 熱 電 勢 數(shù) 組的 數(shù) 達 到 4 個 ?折 點 更 改 標(biāo)志 位 = 0 ?清 除 相 關(guān) 標(biāo) 志位 和 數(shù) 值上 限 報 警 更 改標(biāo) 志 位 為 1 ?返 回清 除 相 關(guān) 標(biāo) 志位 和 數(shù) 值下 限 報 警 更 改 標(biāo) 志位 為 1 ?NYNYYNNYNY更 改 上 限 報 警值 并 顯 示調(diào) 用 上 傳 上 限 報 警值 子 程 序調(diào) 用 上 傳 下 限 報 警值 子 程 序更 改 下 限 報 警值 并 顯 示 圖 溫度節(jié)點 確認鍵處理子程序流程圖 當(dāng)輸入的毫伏電壓數(shù)組的數(shù)達到 4 個時,調(diào)用上傳溫度 折點子程序,把鍵盤更改的折點傳 輸?shù)缴衔粰C,以保持各節(jié)點的一致性。接著計算各折線段溫度送顯示。 然后 對相關(guān)標(biāo)志位清零,退出鍵盤處理子程序。 若折點標(biāo)志位不為 1 時,接著判斷上限報警標(biāo)志位是否為 1,若為 1,更改上限報警內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計 說明書(畢業(yè) 論文 ) 值并顯示,接著調(diào)用上傳上限報警子程序上傳上限報警值,最后清除相關(guān)標(biāo)志位和鍵盤數(shù)值,退出鍵盤處理子程序。若上限報警標(biāo)志位不為 1,再判斷下限報警標(biāo)志位是否為 1,若不為 1,退出鍵盤處理子程序,若為 1,和上限報警標(biāo)志位為 1 進行基本相同的操作,最后推出。 溫度傳感器節(jié)點的 A
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1