<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è) > 嵌入式系統 > 設計應用 > 基于MSP430F149單片機的光電編碼器位置檢測系統設計

基于MSP430F149單片機的光電編碼器位置檢測系統設計

作者: 時(shí)間:2011-01-03 來(lái)源:網(wǎng)絡(luò ) 收藏


3、系統硬件組成

3.1 、主控芯片及外圍電路

主控芯片我們采用,它具有處理能力強,運行速度快,功耗低等特點(diǎn); 整個(gè)系統采用3.3V供電,本電源部分采用TI公司的TPS76033芯片實(shí)現,該芯片能很好的滿(mǎn)足系統的要求,另外TPS76033芯片的封裝很小,又能節約PCB板面積。

復位電路采用MAX809STR芯片,復位電路可以采用R-C復位電路,但是使用復位芯要比使用R-C復位電路的可靠性高,因此我們就采用MAX809STR芯片來(lái)實(shí)現系統的復位。

數顯電路采用LED顯示方式,MSP430具有豐富的I/O口資源,采用并行方式與LED連接非常方便,這種方式既能滿(mǎn)足現場(chǎng)的要求,又可以降低系統成本。在與數碼顯示連接時(shí)選擇P4.0~P4.7引腳用來(lái)輸出顯示數據,P2.1,P2.2,P2.3,P2.4引腳用來(lái)控制數碼管的選通狀態(tài)。

3.2 、16位計數器

本次采用提供的計數器對倍頻后的XA,XB信號進(jìn)行計數。提供了兩個(gè)16位的計數器,分別是Timer_A,Timer_B,這是兩個(gè)用途非常廣泛的16位計數器,在中使用Timer_A計數器進(jìn)行計數,將XA和XB兩個(gè)信號相或后與Timer_A相連,即XA和XB相或后與P1.0引腳相連。無(wú)論電機正轉還是反轉,計數器引腳上都有脈沖信號,都可進(jìn)行計數。為了判斷電機的旋轉,使用計數器的捕獲模塊對XA和XB信號進(jìn)行方向判斷,Timer_A計數器中提供有3個(gè)捕獲模塊,均可以滿(mǎn)足系統的需要。四倍頻電路輸出的XA信號與捕獲模塊1相連,XB與捕獲模塊2相連,即XA信號同時(shí)與P1.2引腳相連,XB信號同時(shí)與P1.3引腳相連。捕獲模塊捕獲XA和XB信號的上升沿,通過(guò)程序的判斷就可以判斷出電機的旋轉方向。

3.3、 串行模塊

MSP430使用RS-485協(xié)議與上位機進(jìn)行通訊, RS-485改進(jìn)了RS-232的缺點(diǎn),傳輸速率可達到10MB/S,傳輸距離達1200米。由于MSP430輸出的是TTL電平,而RS-485串口卡是485電平,因此需進(jìn)行電平轉換。本系統采用MAX485芯片實(shí)現TTL電平與485電平之間的轉換。硬件連接使用USART0串口,即連接時(shí)使用P3.4,P3.5引腳與MAX485的相應引腳相連。

4、系統軟件實(shí)現

系統采用C語(yǔ)言進(jìn)行程序設計,大大提高了開(kāi)發(fā)調試的工作效率。整個(gè)系統程序包括主程序,鑒相計數程序,顯示子程序,串行通訊程序幾個(gè)模塊組成。程序流程圖見(jiàn)圖5。

主程序主要包括系統的初始化:對串口,計數器等硬件的初始化:計數值的讀取、處理、計算:調用顯示子程序,用于數據的顯示。



鑒相計數程序主要用于電機方向的判斷和計數脈沖值的處理。系統中電機方向的判斷是靠計數器中的捕獲模塊捕獲XA,XB信號來(lái)實(shí)現的。在程序中,設計一個(gè)寄存器保存電機的方向,當電機正轉時(shí),捕獲模塊捕獲XA信號有效,在中斷服務(wù)程序中將電機方向設為正轉標志。反之亦然,當電機反轉時(shí),捕獲XB有效,將電機方向設為反轉標志。在主程序中只需根據寄存器的值,就可知道電機的旋轉方向。為了防止計數器中正轉,反轉的計數值發(fā)生混亂,每次捕獲發(fā)生時(shí),在中斷服務(wù)程序中都將計數器清零,重新計數,保證了電機換向后數據的準確性。

串行通訊模塊用于實(shí)現上位PC機與單片機之間的數據傳送。單片機可根據上位機的需要,將處理后的計數值上傳給上位機,用于統計,打印等。系統采用中斷方式進(jìn)行數據傳遞,在接受中斷服務(wù)程序中得到接受的上位機指令后,單片機就可將計數脈沖值,電機旋轉方向等數據通過(guò)發(fā)送端口向上位機發(fā)送。串行通訊采用中斷方式可大大節省CPU資源,從而保證了系統的高速度,高可靠性。

5、本文創(chuàng )新點(diǎn)

本文充分利用MSP430單片機軟硬件的優(yōu)點(diǎn),簡(jiǎn)化了外圍模塊的設計,大大提升了系統的可靠性和穩定性。本設計系統在實(shí)際自動(dòng)控制領(lǐng)域的運行中,系統工作穩定,收到了良好的效果,具有很好的實(shí)用價(jià)值。

本文引用地址:http://dyxdggzs.com/article/151133.htm

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

評論


相關(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>