在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

Wildesbeast ? 來源:21IC ? 作者:21IC ? 2020-07-04 11:13 ? 次閱讀

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

一、引言

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

在由單片機和PC 機構成的檢測系統(tǒng)中, 通常會由多個單片機采集數(shù)據(jù)并將經(jīng)過A/D 轉換的數(shù)據(jù)通過串口送往上位PC 機進行數(shù)據(jù)處理。PIC 單片機A/D 轉換后的結果大多是8 位或10 位的, 8 位的A/D轉換不涉及該問題。以10 位的數(shù)據(jù)為例, 在單片機內進行存儲時需要占用2 個8 位的字節(jié), 低8 位和高2位分別存儲在2 個字節(jié)中, 但是用于存儲高位數(shù)據(jù)的8 位寬的RAM 單元中僅有2 位是有效數(shù)據(jù)。

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

二、程序設計思路

以10 位的A/D 轉換為例, 可以將A/D 轉換的結果暫存在a[size] 中, 然后把數(shù)組a 中的數(shù)據(jù)一位一位地取出, 把低8 位和高8 位拆開分別存放, 低8 位存放在數(shù)組b 中, 高8 位存放在數(shù)組c 中, 由于高8 位的數(shù)據(jù)中只有2 位是有效數(shù)據(jù), 我們可以把有效數(shù)據(jù)取出組合成一個新的數(shù)據(jù)存放, 當上傳數(shù)據(jù)后再用相反的方法解碼, 把數(shù)據(jù)恢復到原先的狀態(tài)。這樣對于10 位的A/D 轉換來說可以節(jié)省3/8 的空間, 需要向上位機傳送的數(shù)據(jù)也會比較少, 數(shù)據(jù)傳輸時間僅為原來的5/8。

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

本文采用PIC16F877 單片機進行試驗。其中定義i、h、j、n、m 為int8, a[size] 為int16 的數(shù)組, 用于暫存A/D 轉換的結果; 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++ ;

}

}

程序首先利用一個for 循環(huán)將A/D 轉換后的數(shù)據(jù)拆開, 將低8 位存放在數(shù)組b 中, 高2 位暫時存放在數(shù)組c 中。由于數(shù)組c 中的8 位二進制數(shù)據(jù)都是僅有低2 位是有效數(shù)據(jù), 所以第二個for 循環(huán)將c[i]、c[i+1]、c[i+2]、c[i+3]中的2 位有效數(shù)據(jù)取出, 按照由低到高的順序重新組合成一個8 位的二進制數(shù),放入數(shù)組d, 構成一個新的數(shù)組。這樣A/D 轉換結果由原來用數(shù)組a 表示變成了由數(shù)組b 表示低8 位、數(shù)組d 表示高2 位的狀態(tài)。

程序中的h、j、n、m 用于記錄最后轉換的數(shù)據(jù)存儲在數(shù)組的位置, 在下一次轉換的時候, 數(shù)據(jù)可以接在上一次的數(shù)據(jù)后面, n 和j 在主程序中convert ( ) 被調用之前首先被賦值為0。

四、結論

根據(jù)以上程序, 我們可以按照類似的方法把12 位的A/D 轉化結果進行組合, 將12 位的A/D 轉換結果拆成低8 位和高4 位, 再將2 個高4 位重新組合成一個8 位的二進制數(shù)存儲, 這樣對于12 位的A/D 轉化結果可以節(jié)省1/4 存儲空間, 縮短1/4 傳輸時間。

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

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

    關注

    6044

    文章

    44624

    瀏覽量

    638945
  • 寄存器
    +關注

    關注

    31

    文章

    5369

    瀏覽量

    121275
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    115054
收藏 人收藏

    評論

    相關推薦

    什么是單片機的ADC接口

    在嵌入式系統(tǒng)和工業(yè)自動化領域,單片機(Microcontroller)作為核心控制單元,承擔著數(shù)據(jù)采集、處理和控制的重要任務。其中,模數(shù)轉換器(Analog-to-Digital Converter
    的頭像 發(fā)表于 02-03 11:27 ?208次閱讀

    AN4121-采用PIC16F單片機進行系統(tǒng)電源控制

    電子發(fā)燒友網(wǎng)站提供《AN4121-采用PIC16F單片機進行系統(tǒng)電源控制.pdf》資料免費下載
    發(fā)表于 01-21 14:42 ?0次下載
    AN4121-采用<b class='flag-5'>PIC</b>16F<b class='flag-5'>單片機</b>進行系統(tǒng)電源控制

    AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體

    電子發(fā)燒友網(wǎng)站提供《AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體.pdf》資料免費下載
    發(fā)表于 01-21 14:41 ?1次下載
    AN4873-使用<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>的集成運算放大器測量水中的總溶解固體

    TB3320-PIC單片機集成模擬外設入門

    電子發(fā)燒友網(wǎng)站提供《TB3320-PIC單片機集成模擬外設入門.pdf》資料免費下載
    發(fā)表于 01-21 14:01 ?0次下載
    TB3320-<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>集成模擬外設入門

    如何實現(xiàn)51單片機與PC的串行通信

    的詳細步驟和方法。 硬件連接 首先,我們需要將51單片機與PC的串行接口連接起來。通常,我們使用RS-232接口進行連接。RS-232接口是一種常用的串行通信接口,它使用9個引腳進行數(shù)據(jù)傳輸。以下是連接步驟: a.
    的頭像 發(fā)表于 10-21 11:35 ?1318次閱讀

    單片機怎么寫入程序

    程序通常涉及以下幾個步驟: 選擇單片機和開發(fā)環(huán)境 : 確定項目需求,選擇合適的單片機型號。 安裝相應的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 單片機連接到開發(fā)板或
    的頭像 發(fā)表于 10-21 11:21 ?972次閱讀

    PICmicro?中檔單片機系列參考手冊

    PIC單片機中文資料
    發(fā)表于 10-09 10:44 ?1次下載

    PIC單片機的優(yōu)勢和不足之處

    的核心優(yōu)勢在于其CPU采用的RISC結構,這一結構精簡而高效,分別包含33、35、58條指令,構成了精簡指令集。這種設計不僅減少了指令的數(shù)量,還提高了指令的執(zhí)行效率。 同時,PIC單片機采用了Harvard雙總線結構,使得程序存儲器和數(shù)
    的頭像 發(fā)表于 09-25 17:22 ?461次閱讀

    如何將hex文件燒錄進單片機

    .hex文件燒錄進單片機是一個涉及軟件與硬件交互的過程,具體步驟會根據(jù)不同的單片機型號、開發(fā)環(huán)境以及燒錄工具而有所不同。以下是一個通用的操作流程,適用于大多數(shù)情況: 一、環(huán)境準備 安裝開發(fā)環(huán)境
    的頭像 發(fā)表于 09-02 10:34 ?2607次閱讀

    單片機燒錄程序用什么軟件

    工作原理和接口方式的不同,可以分為以下幾類: 1.1 并行燒錄器:通過并行接口程序數(shù)據(jù)傳輸給單片機,燒錄速度快,但需要占用較多的I/O端口。 1.2 串行燒錄器:通過串行接口程序
    的頭像 發(fā)表于 09-02 10:05 ?1700次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    的存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運行過程中的數(shù)據(jù)。燒錄過程就是程序代碼寫入ROM中。 單片機燒錄方法 單片機
    的頭像 發(fā)表于 09-02 09:54 ?617次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序是單片機開發(fā)過程中非常重要的一步,它涉及到編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機內部的存儲器中,使單片機能夠按照預定的邏
    的頭像 發(fā)表于 09-02 09:47 ?1489次閱讀

    藍牙模塊如何實現(xiàn)單片機和手機端數(shù)據(jù)互傳

    ZX-D30、ZX-D37、ZX-D32等。 藍牙模塊設置 : 藍牙模塊與單片機連接。通常,藍牙模塊通過串口(UART)與單片機通信。 設置藍牙模塊的工作模式和參數(shù),例如波特率、名稱、停止位、
    的頭像 發(fā)表于 07-24 17:59 ?2941次閱讀
    藍牙模塊如何實現(xiàn)<b class='flag-5'>單片機</b>和手機端<b class='flag-5'>數(shù)據(jù)</b>互傳

    Microchip推出搭載硬件安全模塊的PIC32CK 32位單片機

    為了滿足開發(fā)人員對于嵌入式安全解決方案的迫切需求,Microchip Technology(微芯科技公司)最近發(fā)布了全新的PIC32CK 32位單片機(MCU)系列。這款新型MCU系列硬件安全模塊
    的頭像 發(fā)表于 05-09 14:26 ?584次閱讀

    如何將數(shù)據(jù)傳入到單片機的模型中去輸出?

    怎么數(shù)據(jù)傳入到移植到單片機中的模型中去并輸出
    發(fā)表于 03-25 06:26
    主站蜘蛛池模板: 亚洲开心激情网 | 宅男午夜 | 日本写真高清视频免费网站网 | 成人精品视频一区二区三区 | 明日花在线观看 | 国产丝袜va丝袜老师 | 色多多视频在线观看播放 | a级毛毛片看久久 | 黄色激情小说视频 | 中文字幕一区二区三区免费看 | 在线播放国产一区 | 特黄一级黄色片 | 人成网站在线观看 | 国产亚洲网站 | 久久激情网| 美女被免费网站视频九色 | a理论片 | 又粗又硬又爽又黄毛片 | 午夜国产高清精品一区免费 | 天天在线天天看成人免费视频 | 欧美日韩高清性色生活片 | 国产精品国产三级在线高清观看 | 国产亚洲一区二区三区在线 | 欧美精品一区二区三区在线播放 | 天天怕夜夜怕狠狠怕 | 天天做天天爱夜夜爽女人爽宅 | 中文字幕色婷婷在线精品中 | 香蕉视频在线观看国产 | 天天做天天爱天天做天天吃中 | 久久精品国产精品亚洲人人 | 啪啪中文字幕 | 五月四房婷婷 | 成年大片免费播放视频人 | 免费在线观看的视频 | 中日韩欧美在线观看 | 国产亚洲美女 | 免费看一级片 | 亚洲精品二区中文字幕 | 婷婷国产 | 日本黄色片www | 日本久草网 |