音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

PIC單片機(jī)AD轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)及串口效率

出處:中電網(wǎng) 發(fā)布于:2011-12-12 10:53:50

      PIC單片機(jī)A/D 轉(zhuǎn)換后的數(shù)據(jù)通常需要占用兩個(gè)8 位寬的RAM 單元, 而PIC 單片機(jī)的存儲(chǔ)單元有限,因此造成了單片機(jī)的存儲(chǔ)單元不能被有效利用, 同時(shí)通過串口向上位機(jī)傳送數(shù)據(jù)時(shí)也需要花費(fèi)較多的時(shí)間。

  為此提出一種數(shù)據(jù)打包的方法, 使得相同的數(shù)據(jù)量占用較少的存儲(chǔ)空間, 并可提高傳輸效率。

  0 引言

  在由單片機(jī)和PC 機(jī)構(gòu)成的檢測(cè)系統(tǒng)中, 通常會(huì)由多個(gè)單片機(jī)采集數(shù)據(jù)并將經(jīng)過A/D 轉(zhuǎn)換的數(shù)據(jù)通過串口送往上位PC 機(jī)進(jìn)行數(shù)據(jù)處理。PIC 單片機(jī)A/D 轉(zhuǎn)換后的結(jié)果大多是8 位或10位的, 8 位的A/D轉(zhuǎn)換不涉及該問題。以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ǔ)空間有限, 以單片機(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ù), 就要占用200個(gè)字節(jié)的單元, 這樣的存儲(chǔ)方式并未將單片機(jī)的存儲(chǔ)空間充分利用, 同時(shí), 如果將A/D 轉(zhuǎn)換后的數(shù)據(jù)通過串口直接上傳, 串口就要向上傳送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é)果暫存在a[size] 中, 然后把數(shù)組a 中的數(shù)據(jù)一位一位地取出, 把低8 位和高8 位拆開分別存放, 低8 位存放在數(shù)組b 中, 高8 位存放在數(shù)組c 中, 由于高8 位的數(shù)據(jù)中只有2 位是有效數(shù)據(jù), 我們可以把有效數(shù)據(jù)取出組合成一個(gè)新的數(shù)據(jù)存放, 當(dāng)上傳數(shù)據(jù)后再用相反的方法解碼, 把數(shù)據(jù)恢復(fù)到原先的狀態(tài)。這樣對(duì)于10 位的A/D 轉(zhuǎn)換來說可以節(jié)省3/8 的空間, 需要向上位機(jī)傳送的數(shù)據(jù)也會(huì)比較少, 數(shù)據(jù)傳輸時(shí)間僅為原來的5/8。

  2 采用C 語(yǔ)言編寫的程序

  本文采用PIC16F877單片機(jī)進(jìn)行試驗(yàn)。其中定義i、h、j、n、m 為int8, a[size] 為int16 的數(shù)組, 用于暫存A/D 轉(zhuǎn)換的結(jié)果; b[number]、c[number]、d[number] 是int8 的數(shù)組。程序原文如下:

程序

  程序首先利用一個(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)將c[i]、c[i+1]、c[i+2]、c[i+3]中的2 位有效數(shù)據(jù)取出, 按照由低到高的順序重新組合成一個(gè)8 位的二進(jìn)制數(shù),放入數(shù)組d, 構(gòu)成一個(gè)新的數(shù)組。這樣A/D 轉(zhuǎn)換結(jié)果由原來用數(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í)間來?yè)Q取單片機(jī)的存儲(chǔ)空間是值得的。同時(shí)又能有效地縮短數(shù)據(jù)的上傳時(shí)間, 提高有效數(shù)據(jù)的傳輸速率。但是在數(shù)據(jù)量較少的時(shí)候, 比如只有1 個(gè)A/D 轉(zhuǎn)換的數(shù)據(jù), 這樣做反而會(huì)耗費(fèi)時(shí)間、降低效率。

關(guān)鍵詞:PIC單片機(jī)AD轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)及串口效率PIC單片機(jī)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

PIC單片機(jī)中的佼佼者PIC16F628A掉電后數(shù)據(jù)不丟失!
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!