日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將PIC單片機(jī)AD轉(zhuǎn)換數(shù)據(jù)打包

Wildesbeast ? 來源:21IC ? 作者:21IC ? 2020-07-04 11:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

pic單片機(jī)作用寬泛,對于pic單片機(jī),大家已不再像若干年前一樣一無所知。隨著對pic單片機(jī)的使用,大家的pic單片機(jī)應(yīng)用技能逐漸增強(qiáng)、熟練度逐步提高。但是,大家仍會碰到一些pic單片機(jī)相關(guān)問題。本文中,小編將介紹如何將pic單片機(jī)A/D轉(zhuǎn)換數(shù)據(jù)打包,以達(dá)到減少空間、提高效率的目的。如果你對本文內(nèi)容具有一定興趣,不妨繼續(xù)往下閱讀哦。

一、引言

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

在由單片機(jī)和PC 機(jī)構(gòu)成的檢測系統(tǒng)中, 通常會由多個(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)行存儲時(shí)需要占用2 個(gè)8 位的字節(jié), 低8 位和高2位分別存儲在2 個(gè)字節(jié)中, 但是用于存儲高位數(shù)據(jù)的8 位寬的RAM 單元中僅有2 位是有效數(shù)據(jù)。

單片機(jī)的存儲空間有限, 以單片機(jī)為例, RAM 數(shù)據(jù)存儲器按功能分為通用寄存器和特殊功能寄存器兩個(gè)部分, 除去特殊功能寄存器外, 僅有368 個(gè)8 位寬的RAM 單元, 單片機(jī)能夠存儲的數(shù)據(jù)量很有限。假設(shè)將每次A/D 轉(zhuǎn)換的數(shù)據(jù)直接存儲, 每個(gè)數(shù)據(jù)都要占用2 個(gè)字節(jié), 理想狀態(tài)下也只能存儲184 個(gè)數(shù)據(jù); 假設(shè)需要存儲100 個(gè)A/D 轉(zhuǎn)換的數(shù)據(jù), 就要占用200 個(gè)字節(jié)的單元, 這樣的存儲方式并未將單片機(jī)的存儲空間充分利用, 同時(shí), 如果將A/D 轉(zhuǎn)換后的數(shù)據(jù)通過串口直接上傳, 串口就要向上傳送200 幀的數(shù)據(jù), 有效傳輸速率比較低, 沒有充分利用數(shù)據(jù)幀中的數(shù)據(jù)位。為此,本文提出如下方法將A/D 轉(zhuǎn)換后的數(shù)據(jù)先進(jìn)行處理后再存儲或上傳。

二、程序設(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)。這樣對于10 位的A/D 轉(zhuǎn)換來說可以節(jié)省3/8 的空間, 需要向上位機(jī)傳送的數(shù)據(jù)也會比較少, 數(shù)據(jù)傳輸時(shí)間僅為原來的5/8。

三、采用C 語言編寫的程序

本文采用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ù)組。程序原文如下:

void convert ()

{

h= j;

for ( i= 0 ; i《 size ; i+ + )

{

b[h+i]= a[i];

c[i] = (a[i]》》 8)&0x03;

j++ ;

}

m= n;

for ( i= 0 ; i《 size/4 ; i+ + )

{

d[m+i]= (c[4*i]《《 2) |c[4*i+ 1 ];

d[m+i]= (d[m+i]《《 4) |(c[4*i+ 2 ]《《 2) ;

d[m+i]= d[m+i]|c[4*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)將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ù)存儲在數(shù)組的位置, 在下一次轉(zhuǎn)換的時(shí)候, 數(shù)據(jù)可以接在上一次的數(shù)據(jù)后面, n 和j 在主程序中convert ( ) 被調(diào)用之前首先被賦值為0。

四、結(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ù)存儲, 這樣對于12 位的A/D 轉(zhuǎn)化結(jié)果可以節(jié)省1/4 存儲空間, 縮短1/4 傳輸時(shí)間。

該程序的執(zhí)行時(shí)間僅為990us, 相對于數(shù)據(jù)的傳輸時(shí)間是很小的。在單片機(jī)空間小的情況下, 以程序的執(zhí)行時(shí)間來換取單片機(jī)的存儲空間是值得的。同時(shí)又能有效地縮短數(shù)據(jù)的上傳時(shí)間, 提高有效數(shù)據(jù)的傳輸速率。但是在數(shù)據(jù)量較少的時(shí)候, 比如只有1 個(gè)A/D 轉(zhuǎn)換的數(shù)據(jù), 這樣做反而會耗費(fèi)時(shí)間、降低效率。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6078

    文章

    45592

    瀏覽量

    673982
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5620

    瀏覽量

    130455
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1401

    瀏覽量

    121065
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入了解Microchip PIC16C5X系列:8位單片機(jī)的卓越之選

    深入了解Microchip PIC16C5X系列:8位單片機(jī)的卓越之選 在當(dāng)今電子設(shè)備飛速發(fā)展的時(shí)代,各類單片機(jī)產(chǎn)品層出不窮,為廣大電子工程師提供了豐富多樣的選擇。今天,我們就來深入探討
    的頭像 發(fā)表于 02-09 11:25 ?521次閱讀

    單片機(jī)多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    及原理 傳感器裝置按照設(shè)定的方式傳遞模擬電量。模擬電量的生成方式較為復(fù)雜,可以簡單的按照常規(guī)電量轉(zhuǎn)化的方式加以處置,也可以按照非物理量的應(yīng)用特征進(jìn)行設(shè)計(jì),使單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)可以完整結(jié)合信息資源
    發(fā)表于 01-07 06:44

    單片機(jī)之間可以進(jìn)行無線數(shù)據(jù)傳輸嗎

    三個(gè)單片機(jī)之間進(jìn)行無線數(shù)據(jù)傳輸時(shí),直接通過NB-IoT和4G模塊進(jìn)行“點(diǎn)對點(diǎn)”通信是不可行的。 替代方案: 1. 使用服務(wù)器作為中轉(zhuǎn):第一個(gè)單片機(jī)通過NB-IoT模塊
    發(fā)表于 11-28 08:15

    單片機(jī)用什么封裝

    單片機(jī)封裝是芯片內(nèi)部電路與外部引腳連接并包裹保護(hù)的結(jié)構(gòu),不僅影響單片機(jī)的安裝方式、適用場景,還與電路設(shè)計(jì)的緊湊性、散熱性能密切相關(guān)。不同封裝類型各有特點(diǎn),適配從簡單電路到復(fù)雜系統(tǒng)的多樣化需求
    的頭像 發(fā)表于 08-01 13:47 ?1627次閱讀

    什么單片機(jī)比較耐用

    ? ? ? ? 在工業(yè)控制、戶外設(shè)備、醫(yī)療儀器等場景中,單片機(jī)的耐用性直接決定了設(shè)備的穩(wěn)定運(yùn)行與維護(hù)成本。耐用的單片機(jī)通常具備寬溫工作范圍、強(qiáng)抗干擾能力、穩(wěn)定的電源適應(yīng)性和長壽命的硬件設(shè)計(jì)。深圳市安
    的頭像 發(fā)表于 07-31 13:48 ?926次閱讀

    單片機(jī)的儲存優(yōu)點(diǎn)是什么

    場景。深圳市安凱星科技有限公司在單片機(jī)應(yīng)用開發(fā)中,充分利用這些儲存優(yōu)點(diǎn),為拓邦、朗科、安徽龍多等客戶打造了高效穩(wěn)定的解決方案。 1.集成度高,節(jié)省硬件空間 單片機(jī)程序存儲器(ROM)、數(shù)據(jù)
    的頭像 發(fā)表于 07-31 10:09 ?836次閱讀

    單片機(jī)是由什么組成的

    單片機(jī)作為一種集成化的微型計(jì)算機(jī),其核心優(yōu)勢在于多個(gè)功能模塊緊湊地集成在一塊芯片上,從而實(shí)現(xiàn)數(shù)據(jù)處理、外設(shè)控制等功能。了解單片機(jī)的組成部分,能幫助我們更好地理解其工作原理和應(yīng)用邏輯。
    的頭像 發(fā)表于 07-29 11:03 ?1415次閱讀

    PIC18F97J60系列數(shù)據(jù)手冊

    PIC單片機(jī)是Microchip公司生產(chǎn)的一類單片機(jī),和馮-諾依曼結(jié)構(gòu)不同的哈佛結(jié)構(gòu),中文手冊對于大家來講可以方便開發(fā)
    發(fā)表于 07-28 16:37 ?0次下載

    怎么測單片機(jī)系統(tǒng)頻率

    單片機(jī)系統(tǒng)頻率是指單片機(jī)工作時(shí)的時(shí)鐘頻率,它直接影響單片機(jī)的運(yùn)行速度和處理能力,準(zhǔn)確測量系統(tǒng)頻率對單片機(jī)應(yīng)用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?1105次閱讀

    單片機(jī)怎么驅(qū)動電機(jī)?

    在各類自動化設(shè)備和智能裝置中,電機(jī)是重要的執(zhí)行部件,而單片機(jī)作為控制核心,需要通過特定的方式驅(qū)動電機(jī)運(yùn)轉(zhuǎn)。單片機(jī)驅(qū)動電機(jī)并非直接連接即可,而是要根據(jù)電機(jī)類型和功率,搭配合適的驅(qū)動電路,才能實(shí)現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?1352次閱讀

    單片機(jī)怎么燒程序

    單片機(jī)燒程序是編寫好的程序代碼寫入單片機(jī)內(nèi)部存儲單元,讓單片機(jī)按照預(yù)設(shè)邏輯工作的過程,是單片機(jī)應(yīng)用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控
    的頭像 發(fā)表于 07-23 11:47 ?2071次閱讀

    低功耗單片機(jī)各型號的對比及選型參考

    不同品牌、不同系列的低功耗單片機(jī)在功耗控制、性能表現(xiàn)、外設(shè)配置等方面各有特點(diǎn),通過低功耗單片機(jī)各型號的對比,能幫助開發(fā)者更精準(zhǔn)地匹配應(yīng)用需求。本文圍繞主流低功耗單片機(jī)型號展開對比,并
    的頭像 發(fā)表于 07-22 18:25 ?1772次閱讀

    給予單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)

    、執(zhí)行機(jī)構(gòu)、顯示模塊和電源模塊組成。單片機(jī)是系統(tǒng)的核心,負(fù)責(zé)處理溫度信息并發(fā)出控制指令;溫度傳感器用于實(shí)時(shí)采集環(huán)境或物體的溫度數(shù)據(jù),物理量轉(zhuǎn)化為電信號傳輸給單片機(jī);執(zhí)行機(jī)構(gòu)如加熱片、
    的頭像 發(fā)表于 07-16 10:57 ?849次閱讀

    輝芒微單片機(jī)FT60E011A-RB兼容PIC12F508/509主控芯片

    在電子設(shè)備的核心控制領(lǐng)域,單片機(jī)發(fā)揮著至關(guān)重要的作用。輝芒微單片機(jī) FT60E011A-RB 以其出色的兼容性和豐富的功能,成為了替代微芯 PIC12F508/509 主控芯片的優(yōu)質(zhì)之選
    的頭像 發(fā)表于 06-30 11:36 ?1168次閱讀
    輝芒微<b class='flag-5'>單片機(jī)</b>FT60E011A-RB兼容<b class='flag-5'>PIC</b>12F508/509主控芯片

    輝芒微FT61FC23-RB單片機(jī)兼容微芯PIC16F676芯片

    在電子技術(shù)飛速發(fā)展的今天,單片機(jī)作為眾多電子設(shè)備的核心部件,其性能與適用性直接影響著產(chǎn)品的功能與競爭力。輝芒微推出的 FT61FC23-RB 單片機(jī),憑借與微芯 PIC16F676 芯片的高度兼容性
    的頭像 發(fā)表于 06-24 14:47 ?978次閱讀
    輝芒微FT61FC23-RB<b class='flag-5'>單片機(jī)</b>兼容微芯<b class='flag-5'>PIC</b>16F676芯片
    罗江县| 洛浦县| 尖扎县| 宁南县| 泾川县| 福安市| 枣强县| 获嘉县| 会宁县| 宁陵县| 通化县| 乐陵市| 什邡市| 滦平县| 应城市| 阿合奇县| 张掖市| 西丰县| 迭部县| 佛学| 太仓市| 揭阳市| 天等县| 长葛市| 哈尔滨市| 资源县| 英山县| 明光市| 庆云县| 泽州县| 息烽县| 淮滨县| 塘沽区| 黑水县| 玉树县| 胶南市| 丹棱县| 手机| 嘉荫县| 黑山县| 青浦区|