• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   6 Anonymous Users




(1) 2 »


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#14
資深會員
資深會員


查看用戶資訊
Beee大及shpeng感謝您們的回覆,高手就是高手,
寫法真的有學習的必要,謝謝!

發表於: 2009/11/17 8:25
不怕苦...苦半輩子;怕苦...苦一輩子
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#13
資深會員
資深會員


查看用戶資訊
shpeng 大 :

才 一千 而已 , 不需要用到 3 BYTE 吧 !

發表於: 2009/11/17 2:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#12
資深會員
資深會員


查看用戶資訊
參照:

Beee 寫道:
好幾天沒來逛了, 就錯過一場華山論劍 ... 趕快來亂一下

最近剛看到一個 2 BYTE 減法 還蠻清爽的 ( 附檔 P 13 ; SUB16 )
之前 為了 2 BYTE 減法 , 居然還寫了 三十多行 , 真天才一個 ( 土法鍊鋼的悲哀 ..... )


又 .1000 如要 拆解成 2 BYTE , 在組語的寫法如下:
SUBWF     HIGH.1000 )   ;  MSB 高位元組
          SUBWF     LOW 
.1000  )  ;  LSB

.1000 轉成 HEX 後 , 其值是多少 , 就交由 組譯程式去煩惱吧 !



Sub16_enhanced
 MOVF lsb_a
,w
 SUBWF lsb_b
,f
 MOVF msb_a
,w
 SUBWFB msb_b
,f


UPPER(.1000)
HIGH(.1000)
LOW(.1000)

訊號採樣和分析 是大學問

Attach file:



gif  (0.00 KB)


發表於: 2009/11/17 1:53
少年不知愁滋味,老來方知路難行。
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#11
資深會員
資深會員


查看用戶資訊
好幾天沒來逛了, 就錯過一場華山論劍 ... 趕快來亂一下

最近剛看到一個 2 BYTE 減法 還蠻清爽的 ( 附檔 P 13 ; SUB16 )
之前 為了 2 BYTE 減法 , 居然還寫了 三十多行 , 真天才一個 ( 土法鍊鋼的悲哀 ..... )


又 .1000 如要 拆解成 2 BYTE , 在組語的寫法如下:
SUBWF     HIGH.1000 )   ;  MSB 高位元組
          SUBWF     LOW 
.1000  )  ;  LSB

.1000 轉成 HEX 後 , 其值是多少 , 就交由 組譯程式去煩惱吧 !

Attach file:


Link only for registered users

發表於: 2009/11/17 1:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#10
資深會員
資深會員


查看用戶資訊
感謝 inctech 大大的說明,
受益良多,謝謝!

發表於: 2009/11/16 11:05
不怕苦...苦半輩子;怕苦...苦一輩子
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#9
高級會員
高級會員


查看用戶資訊
如果你是用C語言的話,我覺得用自訂union型別,會很輕鬆能取到10Bit的A/D值放進int的變數中,並且很容易作運算.
http://www.microchip.com.tw/modules/n ... t_id=21849#forumpost21849

發表於: 2009/11/16 9:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#8
資深會員
資深會員


查看用戶資訊
感謝jason680大大的指點,經你這麼講解,有點概念了,
感謝感謝!

發表於: 2009/11/16 8:21
不怕苦...苦半輩子;怕苦...苦一輩子
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#7
資深會員
資深會員


查看用戶資訊
基本上, 10bits超過 8bits,簡單的來說就是比兩次.

如果你要比較的數值,有好幾個,而且集中在某一個區塊,
就可以一起處理,省一些code,也增加效率.

舉例:之前的有一個功能是可以快速讓電池放電.
平常電池為12V(最高14.4V,最低9V--低電保護)

先說明為什麼要有這個功能,主要是測產品中的充電電路是否正常.
這個測試程式RD已經寫好,也測試過.產線也驗證過,可以生產.
就在導入生產之後,原來早上生產測試是OK的,到了下午出了問題.
討論問題email滿天飛,當時我因別的案子出差在產線上,就去支援
看看到底出了什麼問題,反覆檢查測試之後才發現,原來是充電電流
大小跟電池狀態有關
(沒電--充電電流大(測試正常), 滿電時充電電流小(測試失敗))

最後測試條件是電池必需保持在"沒什麼電"的狀態.
因而有又一個新的需求,要做一個電池放電電路,
HW根據spec定出電池放電至9.5V.

最大電壓 14.4V
正常 12V
快速放電 2C, 10V以上
正常放電 1C, 9.5V - 10V
停止放電 , 9.5V
註: 9V以下會進入低電壓保護

因為VDD只有5V, 而A/D最大輸入可能是14.4V,所以先分壓除3.

經計算後
15 V 
0/0        
15 V 
1/3.75
15 V 
2/7.5  
15 V 
3/11.25
先檢測ADRESH 
(只有A/D bit9,bits8)
ADRESH 00電壓值在    0 =< Vin <3.75
ADRESH 
01電壓值在    3.75 =< Vin <7.5
ADRESH 
10電壓值在    7.5 =< Vin <11.25
ADRESH 
11電壓值在    11.25 =< Vin 
最後
,我們發現要檢測電壓集中在9.0,9.5V及10V,都是在
ADRESH 
10(2進位),所以雖然是10bits應用,我們也是
只需要先檢查ADRESH
,最後檢查9.0V,9.5V,10V即可

所以雖然是A
/D 10bits,而我們的檢查值仍然可設為8bits
優點
1.節省code
(9.0V,9.5V,10V只需使用8bits設定值)
2. 增加效率

缺點
:
1. 並不一定適用所有情形.
2. 必需事前仔細規畫.
3. 最後的code,並不一定的很直覺.
   (
因為設定比較9.0V,9.5V,10V的ADRESH已經不見了)

發表於: 2009/11/15 16:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#6
資深會員
資深會員


查看用戶資訊
感謝shpeng大大的幫助,小弟會用心學的!

發表於: 2009/11/15 9:20
不怕苦...苦半輩子;怕苦...苦一輩子
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教關於AD轉換完成後之ADRESH,ADRESL
#5
資深會員
資深會員


查看用戶資訊
介紹您 ASM 函數的網站

軟體架構技巧,需要自己慢慢摸索和歷練.

http://www.piclist.com/techref/microchip/compcon.htm#16_bit

;********** 16 BIT
;if( <= )
  
movfw XH
  sublw KH 
;not available on 12 bit core
  skpc
  
goto endif
  
skpz
  
goto then
  movfw XL
  sublw KL
  skpc
  
goto endif
then:
  ...
endif:

;if( 
<= /* obsolete */
  
movfw XH
  subwf YH
,; *isavailable on 12 bit core
  skpc
  
goto endif
  
skpz
  
goto then
  movfw XL
  subwf YL
,; Use ,w rather then ,f to preserve Y.
  
skpc
  
goto endif
  ; 
and Y are unchanged.
then:
  ...
endif:

發表於: 2009/11/14 23:29

Edited by shpeng on 2009年11月14日 23:48:19
Edited by shpeng on 2009年11月15日 00:00:38
少年不知愁滋味,老來方知路難行。
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... ]

教育訓練中心

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