<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è) > 嵌入式系統 > 設計應用 > 高性?xún)r(jià)比的單片機應用系統結構設計

高性?xún)r(jià)比的單片機應用系統結構設計

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


3 程序量小的解決方案

MSP430F11XX系列最大的程序容量只有4K字節,對于大多數的用途基本夠用,但對相對復雜的應用,就顯得程序空間較小。對于MSP430系列有個(gè)巧妙的解決辦法:利用MSP430的存儲器是線(xiàn)性統一編址的特點(diǎn),單片機運行的程序可以在除了片內外圍模塊空間而外的任何存儲空間,這里將RAM用來(lái)做程序存儲器使用。由于RAM內容可變,故可將程序存放在外部存儲器中,在需要的時(shí)候調到RAM中,再執行RAM中的程序。而外部存儲器選用串行24C系列EEPROM,可使系統體積減小,同時(shí)可使程序空間增加32K字節乃至128K字節!而系統成本增加很少。24C系列EEPROM與MSP430單片機的接口,這里不多說(shuō)了,只需要兩根I/O口線(xiàn)與兩個(gè)上拉電阻。

首先,需要將存放在EEPROM中的應用程序劃分為較小的模塊。這里針對MSP430F1121將每個(gè)模塊的大小限定在128字節內。MSP430F1121片內RAM有256字節,拿一半用于程序處理中的數據存儲,而另一半用于程序調度的程序暫存。

其次,MSP430F1121/1111/1101的片內存儲器用于存放對串行24C系列EEPROM存儲器的讀寫(xiě)操作程序,以及最常用的處理程序,各種中斷服務(wù)程序等等。

然后,將各個(gè)小模塊的應用程序存放在EEPROM中,同時(shí),每個(gè)小模塊的應用程序在EEPROM中的起始位置與模塊長(cháng)度在MSP430的程序存儲器中用數據表格的形式存放。每當要調用在EEPROM中的小模塊時(shí),就在此表格中查找。使用EEPROM讀程序,在EEPROM中讀出全部的該小模塊程序數據到MSP430的RAM后128字節。

最后,將程序計數器(PC指針)壓棧,再改變PC內容為280H(RAM的后128字節開(kāi)始位置),程序將由此開(kāi)始運行。當該模塊運行完畢,最后一句是RET,則將剛壓棧的PC指針恢復。程序繼續430FLASH中的主程序運行。

4 日歷時(shí)鐘的程序化解決方案

由于MSP430系列單片機的超低功耗特性,使用其內部定時(shí)器模塊的比較模式實(shí)現日歷時(shí)鐘,時(shí)鐘源使用32768Hz產(chǎn)生的ACLK信號。將定時(shí)器模塊設置為1秒中斷一次,在中斷服務(wù)程序中編寫(xiě)日歷程序。在程序編寫(xiě)時(shí)要注意閏年與閏月以及月大與月小的情況,詳細方法這里不用多說(shuō)

。在中斷程序完畢則進(jìn)入低功耗LMP3,這時(shí)系統耗電在1uA左右,比常用的專(zhuān)門(mén)日歷時(shí)鐘芯片的耗電還要少。在MSP430系列單片機中,將日歷時(shí)鐘程序化從各方面講(功耗、成本、體積、可靠性等)都是很好的解決方案。

5 串行通訊的解決方案

MSP430F11XX系列單片機片內沒(méi)有串行通訊模塊,不能直接用于異步串行通訊,但由于定時(shí)器TIME A的捕獲與比較以及特殊的結構,利用定時(shí)器實(shí)現異步串行通訊的位定時(shí)(波特率產(chǎn)生)以及起始位檢測等功能,可方便實(shí)現串行通訊。

串行發(fā)送相對簡(jiǎn)單一點(diǎn):設置TIME A為比較模式,比較的數據體現每一位的發(fā)送時(shí)間,使用中斷,每當時(shí)間到則發(fā)送下一位,全部發(fā)送則發(fā)送完畢。

串行接收相對復雜一點(diǎn):首先設置TIME A為捕獲模式,要捕獲到串行通訊的起始位。捕獲到起始位之后,則要將TIME A 設置為比較模式,同時(shí)第一位與后面的其他位定時(shí)時(shí)間不一樣,第一位的定時(shí)時(shí)間是其他位的1.5倍。當所有數據接收完畢則結束。在硬件上使用232或485都可以。

小結

在充分掌握MSP430各個(gè)片內模塊的性能與特性基礎上,使用最簡(jiǎn)單、最便宜、最常規的器件,設計高性能價(jià)格比的是非??尚械?。同時(shí)隨著(zhù)產(chǎn)量的增加,經(jīng)濟效益也會(huì )顯著(zhù)增加。



參考文獻:
1 魏小龍 MSP430 系列單片機接口技術(shù)及系統設計實(shí)例 北京航空航天大學(xué)出版社 2002
2 TI資料 Implementing a UART Function With TimerA3
3 TI資料 Economic Measurement Techniques With the Comparator_A Module

4 MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
5MSP430C1101datasheethttp://www.dzsc.com/datasheet/MSP430C1101.html.
6HT1621datasheethttp://www.dzsc.com/datasheet/HT1621_387407.html.


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

關(guān)鍵詞: 單片機 應用系統 結構設計

評論


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