• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: PIR1 SFR
#14
版主
版主


查看用戶資訊
這是觀念問題,用 EQU 定義的 Symbol 本來就可以依所使用的指令變成常數或變數。你在使用時就要知道他這時所代表的意義。
一般較有經驗的設計師會用 EQU 定常數值,而用 Cblock & ENDC 與 RTS 的虛指令來定變數,這樣就不會混淆了。而且用 EQU 所定的常數都會以大寫字元來區別。而一般的變數第一個字母用大寫其餘用小寫來區別。

發表於: 2009/6/5 16:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#13
中級會員
中級會員


查看用戶資訊
movwf Z ???....

這樣子的話,Z不就變成使用者變數,PIC 沒有限定自定變數
不能用公用變數的名稱嗎?

附帶一提,假若在inc.檔,不做特別說 Z 為第二個bit...

mark 起來,這樣子可以嗎?

發表於: 2009/6/5 12:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#12
版主
版主


查看用戶資訊
如果我程式這樣寫 btfss 0x03,2 還是這樣寫 btfss STATUS,Z
這兩種寫法哪種比較易讀?

PCL 是等於 RAM 位址 0x02,而 Z 卻是定義為 bit 2 的位元,當然 Z equ .2 也是可以說 2 用 Z 這個符號來取代,至於是位址、常數或位元值納是要看你所使用的指令而定。

movlw Z ???
movwf Z ???
btfss PORTC,Z ???

以上的指令都用到 Z 的符號,請問這三者的差異在哪?

發表於: 2009/6/5 12:03
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#11
中級會員
中級會員


查看用戶資訊
STATUS EQU 03H ;Status Flag
C equ .0 ;Carry Flag
DC equ .1 ;Digit Carry Flag
Z EQU .2 ;Zero Flag
------------------------------------------

請教一個關乎 pic的問題 上面三行是從pic 的標頭檔擷取起來的,定義了 status 的位址,底下說明了它的內容值第幾個bit
代表的涵義,

我的問題點是,我把這一個標頭檔 include 進來,debug模式下,看到 0x02 這個位址 同時存在於 PCL 跟 Z

請問 像這樣子的狀況是正確的嗎? 還是我再使用這一個 .inc 檔 時,我要額外把 C DC Z ,類似 SFR 底下的描述bit 的作用,前面加上註解符號 。

謝謝

發表於: 2009/6/5 9:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#10
版主
版主


查看用戶資訊
基本上是會改到了因為是同一位址。不過沒有人會這樣做,因為這樣做是錯誤的動作,有經驗的設計師是不會這樣搬石頭在砸自己的腳的。

發表於: 2009/6/4 13:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#9
中級會員
中級會員


查看用戶資訊
請問,像這樣子位址設定一樣,這樣子假若改變其中一個相同名稱變數的值,會不會影響到同樣位址的變數(變數名稱不同)
例如 cont equ 0x0c 然後 0x0c 位址原本是PIR1 的位址

MOVLW 5FH ;CLEAR RAM LOOP
MOVWF CONT

5FH= 101 1111

這樣子我看watch PIR1也變成b'101 1111
看datasheet
PIR1 bit 6: ADIF: A/D Converter Interrupt Flag bit
1 = An A/D conversion completed
0 = The A/D conversion is not complete
這樣子 這個 bit6 會不會因為 這樣設定為 0
而對整個 mcu的動作有影響到

還是縱使有設定到,但是併沒有影響,因為現在動作還沒需要到這裡,也沒有做這一個bit的測試值。

謝謝

發表於: 2009/6/3 9:14
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#8
版主
版主


查看用戶資訊
參照:

meng 寫道:
在一開始宣告一個變數CONT 所在位址與 PIR1一樣,才會碰到上面的問題點,請問這樣子與SFR 宣告一樣的位址,但是名稱不同,其用意大部分是為了什麼呢?

且還碰到在watch 看到一個SFR 上同一個位址有三個變數宣告
,有一個變數名稱在程式裡並沒有看到這個變數宣告,
查datasheet 看不到這個變數CCPR1,這是音為什麼關係呢

謝謝您


變數的宣告有多種方式,當然也可以單一位址使用多種變數名稱,所以 Watch 在顯示該位址時會同時把所有該位址的變數名稱依起顯示出來,但他們都視同一個變數即使名稱不同。

CCPR1 是 Capture Compare PWM Register 它有分成 Hi/Low 兩個 Byte,證卻宣告名稱為 CCPR1L & CCPR1H,詳細請參考 PWM 的方塊圖。

發表於: 2009/6/2 18:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#7
中級會員
中級會員


查看用戶資訊
請問有人知道嗎???...

發表於: 2009/6/2 10:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#6
中級會員
中級會員


查看用戶資訊
為何我跑程式,
由Step into 執 行 DECFSZ CONT,1 然後CONT 就直接由0x40-->0x07
請問這是音為什麼緣故呢?謝謝

發表於: 2009/6/2 10:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIR1 SFR
#5
中級會員
中級會員


查看用戶資訊
謝謝 板主

PIR1 — ADIF — — — CCP1IF TMR2IF TMR1IF -0-- -000
0 1 0 0 0 0 1 1


...再請教一個問題,不好意思,請問程式一開始並沒有include
file 所以SFR 的位址指定,用EQU 寫在主程式裡,但
有些宣告時 名稱跟我們宣告時的SFR名稱並不一樣,所以用watch 看的時候會看到 大約在SFR 所在的位址區間,同一個位址有2種以上的變數名稱,所以

在一開始宣告一個變數CONT 所在位址與 PIR1一樣,才會碰到上面的問題點,請問這樣子與SFR 宣告一樣的位址,但是名稱不同,其用意大部分是為了什麼呢?

且還碰到在watch 看到一個SFR 上同一個位址有三個變數宣告
,有一個變數名稱在程式裡並沒有看到這個變數宣告,
查datasheet 看不到這個變數CCPR1,這是音為什麼關係呢

謝謝您

發表於: 2009/6/1 18:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------