<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于89C52單片機的實(shí)用八路物位測量?jì)x的設計

基于89C52單片機的實(shí)用八路物位測量?jì)x的設計

作者: 時(shí)間:2013-01-23 來(lái)源:網(wǎng)絡(luò ) 收藏
總體構成

  本測量?jì)x的信號采樣通過(guò)P0口的八根輸入線(xiàn)可接受八路經(jīng)過(guò)整形后的標準TTL電平,因此可測量不同傳感器傳來(lái)的脈沖型物位采樣信號,只要在原始信號基礎上加以整形處理即可,每來(lái)一個(gè)脈沖均被P0口捕捉到并可以通過(guò)軟件編制使脈沖計數增一,定時(shí)讀取計數和便可以換算成相應的物位情況。通過(guò)P3.3~P3.5三條線(xiàn)與串行顯示驅動(dòng)器Max7219的連接加以軟件編程可完成八位數碼管顯示驅動(dòng),利用P1.3~P1.6四條口線(xiàn)接入四個(gè)按鍵,完成按鍵操作,利用P2口作為八路輸出控制,可驅動(dòng)八路固態(tài)繼電器。具體組成見(jiàn)圖1。

基于89C52單片機的實(shí)用八路物位測量?jì)x的設計

  2 硬件線(xiàn)路設計

  2.1 資源分配

  AT 芯片是基于MCS-51結構的高集成度8位微控制器,其主要特性是具有一個(gè)用于多處理器通訊的增強型串口和一個(gè)增/減定時(shí)器計數器,專(zhuān)門(mén)適用于控制應用。選用的另外一個(gè)重要原因就是在芯片上實(shí)現了256字節的RAM,高端128字節的地址和特殊功能寄存器(SFR)的地址相同,但可以通過(guò)不同尋址方式區分,因此解決了測量?jì)x的軟件編程所用的RAM空間,不必再另外擴展隨機存儲器,節約了硬件資源。

  2.2 串行顯示設計

  多位LED顯示時(shí),常將所有位的段選線(xiàn)并聯(lián)在一起,由一個(gè)8位I/O口控制,也可采用并行擴展口構成顯示電路,通常,需要擴展器件管腳的較多,價(jià)格較高。在本測量?jì)x中,為了節約I/O口資源,采用了由Max7219芯片構成的串行顯示方式。Max7219是串行輸入,輸出共陰極顯示驅動(dòng)電路,可直接與的3條I/O線(xiàn)接口,特別適用于I/O口線(xiàn)少的系統,并且可以程序控制數碼管的亮度。在本設計中,采用P3.3~P3.4三條線(xiàn)經(jīng)74LS273鎖存后與Max7219相連接,P3.3、P3.4鎖存后分別作為7219串行數據輸入信號DIN和時(shí)鐘信號 CLK,P3.5輸出口鎖存作為L(cháng)OAD信號。具體硬件線(xiàn)路圖見(jiàn)圖2。

基于89C52單片機的實(shí)用八路物位測量?jì)x的設計

  圖2 主要硬件連接圖

  2.3 軟件計數器的設計

  在表中,當傳感器書(shū)送來(lái)的信號為脈沖量時(shí),通常需要通過(guò)專(zhuān)門(mén)計數器芯片如8254等來(lái)完成脈沖的計數,CPU將此變化的計數信號處理后使傳感器送來(lái)的脈沖的個(gè)數與物位信號相對應。而在本設計中,巧妙利用了的P0口資源,將脈沖量整形后直接送至P0口的8條數據線(xiàn),此時(shí)P0口作為數據輸入口使用。通過(guò)軟件設計,每路開(kāi)辟存貯單元(利用片內RAM),當P0口有電平跳變時(shí),相應的計數單元計數加1,通過(guò)軟件設置定時(shí)器,當定時(shí)時(shí)間到時(shí),讀取存儲單元數值并清零,這樣就完成了軟件計數器的功能,節約了硬件資源,降低了硬件成本。

  3 軟件設計

  3.1 128字節內存分配

  本測量?jì)x設計的另一大特點(diǎn)就是充分利用了128字節的片內RAM,無(wú)外部擴展存儲芯片。CPU內部地址從15H開(kāi)始算起,直到0C5H全部被開(kāi)辟作標志或存儲單元。具體分配為:15H~1CH為各路采樣時(shí)間, 09H~0FH 為各種標志位, 42H~5BH為與各路計數有關(guān)的計數存儲處理單元,5CH~63H為物位報警域值對應的計數存儲單元,64H~6FH和 3cH~3FH位報警類(lèi)別等存儲單元。通過(guò)合理分配,盡管只有128字節RAM,可以滿(mǎn)足8路物位測量的數據處理要求。

  3.2 串行顯示子程序

  Max7219驅動(dòng)的顯示部分程序放在DISP顯示子程序中,在程序開(kāi)始完成Max7219的初始化工作,將每次待顯示的數據放置于從20H~27H開(kāi)始的顯示緩沖區地址中,每路需要送顯時(shí),直接調用顯示子程序即可。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 89C52 單片機 物位測量?jì)x

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>