www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1、 BANK設(shè)置錯誤:  先來看一段程序:  include  PORTDB EQU 20H  ……  START  movlw b‘11110000’  movwf PORTDB  clrf TRISD  MAIN  bcf STATUS,C  rlf PORTDB,1 

1、 BANK設(shè)置錯誤:

  先來看一段程序:

  include

  PORTDB EQU 20H

  ……

  START

  movlw b‘11110000’

  movwf PORTDB

  clrf TRISD

  MAIN

  bcf STATUS,C

  rlf PORTDB,1

  btfsc STATUS,C

  bsf PORTDB,0

  movf PORTDB,W

  movwf PORTD

  call DELAY

  goto MAIN

  ……

  上面的是一個將D口的發(fā)光二極管循環(huán)點亮的小程序,實際運行發(fā)現(xiàn)并不能達到點亮的效果。通過設(shè)置斷點和觀察變量的手段發(fā)現(xiàn),單片機在執(zhí)行“clrf TRISD”這一語句后,TRISD寄存器的值為0FFH,而PORTD的值被清成了0。這是因為未設(shè)置BANK的緣故,此時BANK=0,而TRISD寄存器卻是位于BAKN1的。因此,在該語句前要加上一句“bsf STATUS,RP0”,使BANK=1。

  經(jīng)過改動,運行后發(fā)現(xiàn)程序仍然不正常。同樣使用設(shè)置斷點和觀察變量的手段來分析程序,發(fā)現(xiàn)同樣由于BANK設(shè)置的錯誤,單片機并未對位于BANK0的PORTD、 PORTDB操作。因此,在該語句前要加上一句“bcf STATUS,RP0”,使BANK=0。經(jīng)過這樣的調(diào)整后,程序運行正常了。

  實際上,這樣的錯誤很容易發(fā)生,在編寫比較復(fù)雜的需要常常切換BANK的程序時更是如此。建議初學(xué)者在寫程序時在有可能的情況下,在每次對BANK0以外的寄存器操作完成后都將BANK切換回BANK0。這樣做雖然會麻煩一些,但會減少錯誤的發(fā)生,使調(diào)試更為簡單一些。

  2、 PC操作錯誤:

  在進行查表操作時需要對PCL進行操作,這項操作也比較容易出錯。舉個例子來說:

  ……

  00CA bcf PCLATH,0

  00CB movf RTCCSIG,W

  00CC addwf PCL,1

  00CD goto main

  00CE goto RtccS1

  00CF goto RtccS2

  00D0 goto Rtccs3

  00D1 goto Rtccs4

  ……

  0130 bsf PCLATH,0

  0131 movf RTCCSIG1,W

  0132 addwf PCL,1

  0133 goto SetHour

  0134 goto SetMins

  ……

  上面的程序是高奇ICD教學(xué)實驗套件的演示程序CLKTEST.ASM編譯完成之后的List文件中的一段,前面的4位數(shù)據(jù)是16進制數(shù),代表了該程序行在單片機內(nèi)程序存儲器的裝載位置。其中00CA句和0130句保證了執(zhí)行“addwf PCL,1”語句后PC能跳轉(zhuǎn)到正確的位置,感興趣的朋友可以將這兩句屏蔽后看一下結(jié)果。

  在PIC16F877單片機中PCLATH寄存器是一個低5位有效的寄存器,單片機在執(zhí)行“addwf PCL,1”語句時,會將PCLATH和PCL寄存器的值(PCLATH:PCL)一起送入程序計數(shù)器PC。以上面的程序0132H句為例,此時PCL=32H如果此時PCLATH=00H,RTCCSIG1=1則執(zhí)行完該句后PC=PCLATH:PCL=0033H,這樣在下一個指令周期到來時就發(fā)生了錯誤。本來該執(zhí)行第0134H句的,卻變成了執(zhí)行第0034H句。同樣的,我們能夠知道第00CAH句的作用。避免發(fā)生這樣錯誤的方法是:在調(diào)試程序的時候調(diào)出List文件,特別關(guān)注一下有這類操作的語句,再根據(jù)實際的情況來決定PCLATH的值。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

新加坡獲選為重慶2025世界智能產(chǎn)業(yè)博覽會主賓國,進一步鞏固兩國長期戰(zhàn)略合作伙伴關(guān)系 今年新加坡展館匯聚12家創(chuàng)新科技、數(shù)字貿(mào)易、智慧城市領(lǐng)域企業(yè),包括Accred...

關(guān)鍵字: 新加坡 SI AN 數(shù)據(jù)安全

-DXC通過初創(chuàng)企業(yè)合作推動汽車與制造業(yè)AI創(chuàng)新 初創(chuàng)企業(yè)Acumino、CAMB.AI與GreenMatterAI合作將AI創(chuàng)新推向市場 合作源于DXC與STARTUP AUTOBAHN的伙伴關(guān)系 弗吉尼亞州阿什...

關(guān)鍵字: 汽車 AI AN AC

無錫2025年8月29日 /美通社/ -- 2025年8月27日,正值中國與瑞士建交75周年這一歷史性時刻,在北京隆重舉辦的中瑞商業(yè)大獎頒獎典禮上,作為中瑞經(jīng)貿(mào)合作的標桿企業(yè),布勒憑借在創(chuàng)新研發(fā)和數(shù)字化轉(zhuǎn)型領(lǐng)域的卓越表現(xiàn)...

關(guān)鍵字: 解碼 數(shù)字化 AN SMART

-Neel Pandya推出Climaty AI,助推營銷新時代 阿聯(lián)酋迪拜2025年8月27日 /美通社/ -- Climaty AI是一家由代理式AI驅(qū)動的全球氣候營銷科技(CliMarTech)公司,由Neel...

關(guān)鍵字: AN AI 創(chuàng)始人 GROUP

北京2025年8月22日 /美通社/ -- 8月20日,國際獨立第三方檢測、檢驗和認證機構(gòu)德國萊茵TÜV(簡稱"TÜV萊茵")受邀出席...

關(guān)鍵字: 研究驅(qū)動 AN 數(shù)字經(jīng)濟 電子電氣

開創(chuàng)中國文旅產(chǎn)業(yè)AI深度應(yīng)用新樣本 北京2025年8月22日 /美通社/ -- 以下為來自億歐的報道: 8月22日,桂林旅游股份有限公司旗下銀子巖景區(qū)聯(lián)合合作伙伴正式發(fā)布全球首款A(yù)I伴游財神玩具 —— "五...

關(guān)鍵字: AI IP 數(shù)字化 硬件

-Delska在拉脫維亞新建的10兆瓦數(shù)據(jù)中心獲得Tier III設(shè)計認證 拉脫維亞里加2025年8月20日 /美通社/ -- 北歐數(shù)據(jù)中心運營商Delska即將啟用的EU...

關(guān)鍵字: 數(shù)據(jù)中心 TI 冷卻系統(tǒng) AN

- ‘Match Chat' AI助手可在所有254場單打比賽期間及結(jié)束后實時回答問題 - 升級版IBM SlamTracker將提供實時獲勝概率預(yù)測,而‘Key Poin...

關(guān)鍵字: IBM AI PEN AN

北京2025年8月15日 /美通社/ -- 今日,以"破局者 ? 智行合璧"為主題的2025戴爾科技峰會在北京中國大飯店盛大啟幕。作為戴爾科技大中華區(qū)極具戰(zhàn)略意義的年度旗艦活動,本屆峰會吸引逾千名行業(yè)...

關(guān)鍵字: 戴爾 全棧 PC ALIENWARE

馬來西亞吉隆坡2025年8月14日 /美通社/ -- 全球云通信平臺Infobip今日發(fā)布最新報告《AI優(yōu)勢:領(lǐng)先品牌如何在全天候客戶世界中蓬勃發(fā)展》(The AI Advantage: How Leading...

關(guān)鍵字: 人工智能 IP 智能體 IDC
關(guān)閉