98国产精品综合一区二区三区,国产福利视频,男人添女人囗交做爰视频,日本免费一区二区三区视频观看

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> PIC單片機編程漫談(一)

PIC單片機編程漫談(一)

關(guān)鍵字:PIC 單片機編程 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:30

PIC的編程是比較簡單的,但是對于初學者來說還是有些概念不太容易理解,從而影響編程。例如,PIC單片機初學者在編寫程序時就比較容易在BANK設置和PC操作上出錯。

1、 BANK設置錯誤:

先來看一段程序:

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)并不能達到點亮的效果。通過設置斷點和觀察變量的手段發(fā)現(xiàn),單片機在執(zhí)行“clrf TRISD”這一語句后,TRISD寄存器的值為0FFH,而PORTD的值被清成了0。這是因為未設置BANK的緣故,此時BANK=0,而TRISD寄存器卻是位于BAKN1的。因此,在該語句前要加上一句“bsf STATUS,RP0”,使BANK=1。

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

實際上,這樣的錯誤很容易發(fā)生,在編寫比較復雜的需要常常切換BANK的程序時更是如此。建議初學者在寫程序時在有可能的情況下,在每次對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教學實驗套件的演示程序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的值。

擴展閱讀:PIC單片機引腳中斷程序的設計技巧

編輯:admin  最后修改時間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

无码一区二区三区在线观看| 色欲av永久无码精品无码蜜桃| 嗯啊灬别停啊灬用力灬快| 香港三级午夜理伦三级三| 久久久精品国产sm调教网站| 男生女生向前冲第六季| 一本一道av无码中文字幕﹣百度| 肉yin荡公厕肉便调教车ac| 丰腴妖艳饥渴50岁岳| 精品国产一区二区三区四区| 性生生活大片又黄又| 无码人妻精品一区二区三区蜜臀| 校花被迫撑开颤抖高潮求饶| 双性喂奶给室友八人攻| 小sao货cao得你舒服吗男男| 国产精品亚洲成在人线| 校花奶头好大揉得好爽| 国产一区二区三区精品视频| 小鸡庄园每日答案汇总| 人妻熟女一二三区夜夜爱| 丰满少妇大乳高潮在线| 亚洲最大的成人网站| 国产大学生粉嫩无套流白浆| 国产精品偷窥熟女精品视频| 精品少妇无码av无码专区| 一个人看的www免费视频| 岳婆三p一起玩田淑芬| 被c哭着爬走又被拉回来挺进h| 丰满的已婚女人hd中字| 三个黑人跟一个女人xxoo| 亚洲av色香蕉一区二区三区| 亚洲欧洲日产国码高潮AV| 人妻中出受孕 中文字幕在线| 亚洲 国产 另类 无码 日韩| 国产毛片精品一区二区色欲黄a片| 无人在线观看完整免费版视频| 无码人妻少妇色欲av一区二区| 亚洲国产av精品一区二区蜜芽| 国产精品视频一区| 无码国产精品一区二区免费式直播| 人妻凌参观1看动漫在线|