


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PIC 單片機(jī) A/D 轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)及串口效率PIC 單片機(jī) A/D 轉(zhuǎn)換后的數(shù)據(jù)通常需要占用兩個(gè) 8 位寬的 RAM 單元, 而 PIC 單片機(jī)的存儲(chǔ) 單元有限 , 因此造成了單片機(jī)的存儲(chǔ)單元不能被有效利用 , 同時(shí)通過(guò)串口向上位機(jī)傳送數(shù)據(jù) 時(shí)也需要花費(fèi)較多的時(shí)間。為此提出一種數(shù)據(jù)打包的方法 , 使得相同的數(shù)據(jù)量占用較少的存儲(chǔ)空間 , 并可提高傳 輸效率。引言在由單片機(jī)和 PC 機(jī)構(gòu)成的檢測(cè)系統(tǒng)中 , 通常會(huì)由多個(gè)單片機(jī)采集數(shù)據(jù)并將經(jīng)過(guò) A/D 轉(zhuǎn)換的數(shù)據(jù)通過(guò)串口送往上位 PC 機(jī)進(jìn)行數(shù)據(jù)處理。 PIC 單片機(jī) A/D 轉(zhuǎn)換后的結(jié)果大多是 8 位或 10 位的, 8 位的 A/D 轉(zhuǎn)換不涉及
2、該問題。以 10 位的數(shù)據(jù)為例 , 在單片機(jī)內(nèi)進(jìn)行存儲(chǔ) 時(shí)需要占用 2 個(gè)8 位的字節(jié) , 低8 位和高 2位分別存儲(chǔ)在 2 個(gè)字節(jié)中 , 但是用于存儲(chǔ)高位 數(shù)據(jù)的8位寬的RAM單元中僅有2位是有效數(shù)據(jù)。單片機(jī)的存儲(chǔ)空間有限 , 以 PIC16F877 單片機(jī)為例 , RAM 數(shù)據(jù)存儲(chǔ)器按功能分為通用 寄存器和特殊功能寄存器兩個(gè)部分,除去特殊功能寄存器外,僅有368個(gè)8位寬的RAM單元, 單片機(jī)能夠存儲(chǔ)的數(shù)據(jù)量很有限。假設(shè)將每次 A/D 轉(zhuǎn)換的數(shù)據(jù)直接存儲(chǔ) ,每個(gè)數(shù)據(jù)都要占用 2 個(gè)字節(jié) , 理想狀態(tài)下也只能存儲(chǔ) 184 個(gè)數(shù)據(jù) ; 假設(shè)需要存儲(chǔ) 100 個(gè) A/D 轉(zhuǎn)換的數(shù)據(jù) , 就要占用
3、200 個(gè)字節(jié)的單元 , 這樣的存儲(chǔ)方式并未將單片機(jī)的存儲(chǔ)空間 充分利用 , 同時(shí) , 如果將 A/D 轉(zhuǎn)換后的數(shù)據(jù)通過(guò)串口直接上傳 , 串口就要向上傳送 200 幀 的數(shù)據(jù) , 有效傳輸速率比較低 , 沒有充分利用數(shù)據(jù)幀中的數(shù)據(jù)位。為此 ,本文提出如下方法 將 A/D 轉(zhuǎn)換后的數(shù)據(jù)先進(jìn)行處理后再存儲(chǔ)或上傳。1 程序設(shè)計(jì)思路以 10 位的 A/D 轉(zhuǎn)換為例 , 可以將 A/D 轉(zhuǎn)換的結(jié)果暫存在 asize 中 , 然后把數(shù)組 a 中的數(shù)據(jù)一位一位地取出 , 把低8 位和高 8 位拆開分別存放 , 低8 位存放在數(shù)組 b 中, 高 8 位存放在數(shù)組 c 中, 由于高 8 位的數(shù)據(jù)中只有 2 位是
4、有效數(shù)據(jù) , 我們可以把有效數(shù)據(jù)取 出組合成一個(gè)新的數(shù)據(jù)存放 , 當(dāng)上傳數(shù)據(jù)后再用相反的方法解碼 , 把數(shù)據(jù)恢復(fù)到原先的狀 態(tài)。這樣對(duì)于 10 位的 A/D 轉(zhuǎn)換來(lái)說(shuō)可以節(jié)省 3/8 的空間 , 需要向上位機(jī)傳送的數(shù)據(jù)也會(huì) 比較少 , 數(shù)據(jù)傳輸時(shí)間僅為原來(lái)的 5/8 。A/D 轉(zhuǎn)換后的數(shù)據(jù)暫存在數(shù)組 asize 中 , 程序框圖見圖 1。開始圖1 A/D轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)程序框圖2米用C語(yǔ)言編寫的程序asize 為是int8 的本文采用PIC16F877單片機(jī)進(jìn)行試驗(yàn)。其中定義i、h、j、n、m為int8,int16 的數(shù)組,用于暫存 A/D 轉(zhuǎn)換的結(jié)果;bnumber、cnumber、dnumbe
5、r 數(shù)組。程序原文如下:vo idc on vert ()h= j;for ( i= 0 ; i 8)&0x03;j+ ;m= n;for ( i= 0 ; i size/4 ; i+ + )dm+i= (c4*i 2) |c4*i+ 1 ;dm+i= (dm+i 4) |(c4*i+ 2 2) ;dm+i= dm+i|c4*i+3;n+ ;程序首先利用一個(gè) for 循環(huán)將 A/D 轉(zhuǎn)換后的數(shù)據(jù)拆開 , 將低 8 位存放在數(shù)組 b 中 , 高 2 位暫時(shí)存放在數(shù)組 c 中。由于數(shù)組 c 中的 8 位二進(jìn)制數(shù)據(jù)都是僅有低 2 位是有效數(shù)據(jù) , 所以第二個(gè) for 循環(huán)將 ci 、ci+1 、ci
6、+2 、ci+3 中的 2 位有效數(shù)據(jù)取出 , 按照由低 到高的順序重新組合成一個(gè) 8 位的二進(jìn)制數(shù) , 放入數(shù)組 d, 構(gòu)成一個(gè)新的數(shù)組。 這樣 A/D 轉(zhuǎn) 換結(jié)果由原來(lái)用數(shù)組 a 表示變成了由數(shù)組 b 表示低 8 位、數(shù)組 d 表示高 2 位的狀態(tài)。程序中的 h、j 、n、m 用于記錄最后轉(zhuǎn)換的數(shù)據(jù)存儲(chǔ)在數(shù)組的位置, 在下一次轉(zhuǎn)換的時(shí)候 , 數(shù)據(jù)可以接在上一次的數(shù)據(jù)后面 , n 和 j 在主程序中 convert ( ) 被調(diào)用之前首先被 賦值為 0。3 結(jié)論根據(jù)以上程序 , 我們可以按照類似的方法把 12 位的 A/D 轉(zhuǎn)化結(jié)果進(jìn)行組合 , 將 12 位 的 A/D 轉(zhuǎn)換結(jié)果拆成低 8 位和高 4 位 , 再將 2 個(gè)高 4 位重新組合成一個(gè) 8 位的二進(jìn)制數(shù) 存儲(chǔ) , 這樣對(duì)于 12 位的 A/D 轉(zhuǎn)化結(jié)果可以節(jié)省 1/4 存儲(chǔ)空間 , 縮短 1/4 傳輸時(shí)間。該程序的執(zhí)行時(shí)間僅為 990us, 相對(duì)于數(shù)據(jù)的傳輸時(shí)間是很小的。在單片機(jī)空間小的情況下 , 以程序的執(zhí)行時(shí)間來(lái)?yè)Q取單片機(jī)的存儲(chǔ)空間是值得的。 上傳時(shí)間 , 提高有效數(shù)據(jù)的傳輸速率。但是在數(shù)據(jù)量較少的時(shí)候 的數(shù)據(jù) , 這樣做反而會(huì)耗費(fèi)時(shí)間、降低效率。同時(shí)又能有效地縮短數(shù)據(jù)的, 比如只有 1 個(gè) A/D 轉(zhuǎn)換參考
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024四川雅安市市屬國(guó)有企業(yè)高級(jí)管理人員8人筆試參考題庫(kù)附帶答案詳解
- 初中物理人教版(2024)八年級(jí)上冊(cè)(2024)第3節(jié) 汽化和液化教案配套
- 發(fā)票勾選平臺(tái)培訓(xùn)
- 2024華電江西發(fā)電有限公司所屬企業(yè)面向系統(tǒng)內(nèi)外公開招聘4人筆試參考題庫(kù)附帶答案詳解
- 2024北京飛機(jī)維修工程有限公司市場(chǎng)化人才招聘筆試參考題庫(kù)附帶答案詳解
- 人教部編版 (五四制)一年級(jí)下冊(cè)13 荷葉圓圓教案設(shè)計(jì)
- 冀教版一年級(jí)下冊(cè)五 100以內(nèi)的加法和減法(一)教案設(shè)計(jì)
- 人音版八年級(jí)上冊(cè)老鼠娶親教學(xué)設(shè)計(jì)
- 服裝入門培訓(xùn)課件
- 三年級(jí)英語(yǔ)上冊(cè) Unit 1 School and Numbers Lesson 2 Boy Girl and Teacher教學(xué)設(shè)計(jì) 冀教版(三起)
- 廣東省高州市2023-2024學(xué)年高一下學(xué)期期中考試數(shù)學(xué)
- 2024年高等教育文學(xué)類自考-06050人際關(guān)系心理學(xué)考試近5年真題附答案
- 福建省公路水運(yùn)工程試驗(yàn)檢測(cè)費(fèi)用參考指標(biāo)
- 地震監(jiān)測(cè)設(shè)備質(zhì)量檢測(cè)手冊(cè)
- 110kV平西變電站工程施工組織設(shè)計(jì)
- 09幾何大題綜合-【黃金沖刺】考前10天中考數(shù)學(xué)極限滿分沖刺(浙江專用)原卷版+解析
- 信創(chuàng)虛擬化及云平臺(tái)解決方案
- ICD-10疾病編碼完整版
- 人工智能技術(shù)下的監(jiān)管挑戰(zhàn)
- 人教小學(xué)二年級(jí)數(shù)學(xué)下冊(cè)有余數(shù)的除法第3課時(shí)《除法豎式》示范教學(xué)課件
- 2024年下半年教師資格考試高中思想政治學(xué)科知識(shí)與教學(xué)能力測(cè)試試卷及答案解析
評(píng)論
0/150
提交評(píng)論