大肉大捧一进一出好爽视色大师,丰满少妇被猛烈进入在线播放,欧美真人性野外做爰,黑人巨大vs日本人优在线

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
MSP430定時器調(diào)試總結(jié)
MSP430定時器調(diào)試總結(jié)
 更新時間:2009-12-3 16:31:06  點擊數(shù):0
【字體: 字體顏色
 MSP430 是TI 公司推出的16 位低功耗單片機,已廣泛應用到抄表、汽車和工業(yè)控制等領(lǐng)域。筆者在用匯編語言進行編程調(diào)試中發(fā)現(xiàn),現(xiàn)有書籍和資料大多取自英文的產(chǎn)品手冊,對程序調(diào)試的指導意義有限,難以滿足初學者需要,本文就在MSP430F169 的定時器調(diào)試中出現(xiàn)的問題進行了總結(jié),希望更多的MSP430 使用者總結(jié)出自己的使用經(jīng)驗,以供大家分享。
問題一:在定時器增計數(shù)模式下,程序不能正確進入中斷程序。

程序如下:
 ;時鐘初始化
  BIC.B #XT2OFF,BCSCTL1
  BIC.B #XTS,BCSCTL1
  BIS.B #SELM1,&BCSCTL2
 ;選擇XT2CLK 為MCLK 的時鐘源

  ;定時器初始化
  MOV #0FFH,&TBCCR0 BIS # ID_3,&TBCTL
  ;MCLK8 分頻作為定時器的時鐘源
   BIS # CCIE +MC_1,&TBCTL
  ;以增計數(shù)模式開始計數(shù)并開中斷
  EINTMainloop ...
  JMP Mainloop

 ;定時器中斷程序
 TIMERB0 ADD.W &TBIV,PC RETI ...
 TBOVER XOR.B #04h,P2OUT RETI
-------------------------------------------------------------------------------
現(xiàn)象:TBCCR0 計滿0FFH,程序指向TIMERB0,執(zhí)行中斷便死機。
經(jīng)查原因如下:當TBR 計數(shù)到TBC-CR0 設(shè)定值0FFH 時,中斷標志位TBIFG 置位,指針跳轉(zhuǎn)到中斷程序首址TIMERB0 處。在這里執(zhí)行程序指針PC 加上定時器中斷向量TBIV 內(nèi)的值,指
向相應的執(zhí)行程序。但TBIE 的中斷向量要到中斷標志位TBIFG 置位的下一個定時器時鐘周期到來時才會產(chǎn)生,因為用MCLK 的8 分頻作為定時器的時鐘源,所以在下一個定時器的時鐘前,程序有8 個指令周期的空擋。換句話說,就是中斷標志位TBIFG 置位后,還需8 個指令周期TBIE內(nèi)的中斷向量才會產(chǎn)生。再看上面的程序,TBIFG 置位后第一個指令周期執(zhí)行的是跳轉(zhuǎn)指令,程序指向TIMERB0 處,第二個指令周期就開始執(zhí)行語句“ADD.W &TBIV,PC”,而這時TBIV 內(nèi)的中斷向量值還沒有產(chǎn)生,所以程序會死掉。
決辦法:可以在定時器中斷程序的首址TIMERB0 與執(zhí)行語句“ADD.W&TBIV,PC”之間
加7 條以上的NOP 指令,等待定時器中斷向量TBIV 的產(chǎn)生。

問題二:調(diào)用子程序時產(chǎn)生錯誤。
   例如,調(diào)用延時程序的語句為:“CALL DB-LAY”,執(zhí)行時程序跑飛。查看手冊和相關(guān)書籍,指令格式為“CALL dst”,應該沒有錯,但問題依舊存在。
   解決辦法:找一個MSP430 調(diào)用子程序的例程,發(fā)現(xiàn)指令的格式為“CALL #dst”。將調(diào)用子程序的語句改為“CALL #DE-LAY”再運行,問題解決。

問題三:在定時器增/減計數(shù)模式下,不能進入中斷程序。
程序如下:
MOV #0FFH,&TBCCR0 BIS # CCIE +MC_3,&TBCTL;以增/減計數(shù)模式開始計數(shù)并開中斷;
   --------中斷向量部分------
   ORG 0FFFEh       ;/﹡ 0xFFFE Reset ﹡/
   DW RESET
   ORG 0FFFAh       ;/﹡ 0xFFFA Timer B CC0 ﹡/
   DW HMERB0 END

現(xiàn)象:TBR 計數(shù)到0FFH,TBCCR0 溢出,相應的中斷標志位TBIFG 也置位了,但程序無法
進入中斷。
解決辦法:查看msp430x16x..h 頭文件中斷向量相關(guān)部分如下:
 #define TIMERB1_VECTOR(12 ﹡ 2u)   /﹡ 0xFFF8 Timer B CC1-6, TB ﹡/
 #define TIMERB0_VECTOR(13 ﹡ 2u)   /﹡ 0xFFFA Timer B CC0 ﹡/

  TBCCR0 應該對應0xFFFA 處的中斷向量TIMERB0_VECTOR,而TBCCR1~TBCCR6 應該
對應0xFFF8 處的中斷向量TIMERB1_VECTOR,但TBCCR0 溢出時,程序指針就是不指向0xFFFA
處的中斷向量。查閱所有手冊和書籍,均沒有相關(guān)說明和解釋。經(jīng)過嘗試,筆者將上面程序中的“ORG 0FFFAh”改為“ORG0FFF8h”后,程序運行就正常了,即這時使用的是中斷向量
TIMERB1_VECTOR。
  另外,“ORG 0FFF8h”不能寫為“ORG TIMERB1_VECTOR”,若寫成后者,可以編譯,但
程序不會執(zhí)行。
  • 上一篇: MSP430 IIC總線程序
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 思茅市| 盐源县| 论坛| 诸暨市| 昆明市| 湖北省| 武强县| 吉林市| 交口县| 津南区| 根河市| 开江县| 治县。| 青田县| 宜州市| 五河县| 如东县| 林周县| 汤原县| 德安县| 太白县| 海晏县| 红河县| 那坡县| 肇庆市| 长汀县| 延吉市| 肥东县| 巴中市| 湖南省| 滦南县| 资源县| 区。| 莆田市| 游戏| 灵寿县| 宝坻区| 喀什市| 洛川县| 长顺县| 项城市|