Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
所以10 Bit A/D 向左靠齊, 放棄最低兩個Bit...
以5V而言, 解析度還是5mv/ per bit, 只是誤差會有 15mv .... am I right ???
發表於: 2007/9/4 5:49
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
參照:
12f509並沒有A/D
發表於: 2007/9/4 0:44
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
bsf STATUS,RP0 ; BANK1
movlw b' 00010001 ; Fosc/8 & ANS0 select. movwf ANSEL ; movlw b'00001001' ;GP0,3 =I/P GP1,2,4,5=O/P movwf TRISIO ; bcf STATUS,RP0 ;BANK0. movlw b'00000001' ;Left justified/Channel 00 (AN0) movwf ADCON0 movlw b'00000111' ;Comparator Off movwf CMCON bsf ADCON0,GO ;開始做A/D轉換 ;只讀取ADRESH來做判斷,相當於一個8bit A/D.
發表於: 2007/9/4 0:27
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
新會員
|
p42 7.1.6
7.1.6 CONVERSION OUTPUT The A/D conversion can be supplied in two formats: left or right shifted. The ADFM bit (ADCON0<7>) controls the output format. Figure 7-2 shows the output formats. or p12f509 8bit AD
發表於: 2007/9/3 23:49
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
嗯.... 不方便耶.... 笨鴨要用A/D....
如果10Bit A/D 可以改為 8Bit A/D ?? 那問題就解決了... Happy ....
發表於: 2007/9/3 23:32
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
原來 10Bit A/D 還可以如此用呀? 正合笨鴨使用, 知了...
10Bit A/D對笨鴨而言太奢侈啦 ! 8Bit A/D 很贊啦... 原來BANK是如此配置的, 笨鴨還真是土番鴨耶! 又笨又固執, 哈..哈.. 趕緊看看adfm, 是甚麼咚咚呀 ? 3Q !! Eigen... 說到 Tad , 偶是準備選用 Internal 4 Mhz OSC , 方便嘛... 以TABLE 7-1而言( PAGE42) 應該選用 8Tosc, Right ? 那如果選用AN0當輸入, ANSEL 就該如此設定 (PAGE 44) bsf STATUS,RP0 ; BANK1 movlw b' 00010001 ; Fosc/8 & ANS0 select. movwf ANSEL ; movlw b'00001001' ;GP0,3 =I/P GP1,2,4,5=O/P movwf TRISIO ; bcf STATUS,RP0 ;BANK0. 不豬到 有沒有對耶.... 3Q lor ! Happy... 又學到一些 ....只是... 好累耶... 有沒有方法直接燒到 笨鴨腦袋...Hahaha...
發表於: 2007/9/3 23:25
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
pic 10bit ad 都長成這樣。
知之為知之,不知為不知,是知也 pic 切 bank 是因為定址空間不足。 每個bank 的 register 定義都是有『義意』的。 ex:status , intcon,pcl ...這些都會在每個bank 出現,表示這些 register 『非常重要』。 只配置在 bank0 的表示『經常被使用』,而配置在 bank1 表示『不常被修改、或不常被使用』,而配置在 bank2 bank3 ,那就已經是天高皇帝遠,初學者很少會用到。 adresl 會出現在 bank1 ,表示,不很重要。 只要將 adfm clear, adresl 就可以當做不存在,adresh 依舊是 adres 。將 10bit ad 當成 8bit 使用 (唯一的差別就是 ad 的時間會多 2個 Tad )
發表於: 2007/9/3 13:15
|
|||
|
Re: 關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
覺得麻煩就先用12F629吧...
發表於: 2007/9/3 12:05
|
|||
|
關於12F675..
|
||||
---|---|---|---|---|
資深會員
|
轉抬啦!! 看了一天DATASHEET.. 還真是給它' 雪特"..
同樣是8腳蜈蚣, 怎麼這棵那麼囉嗦咩?? 8 Bit A/D 還會用, 只要movf ADRES,W 再movwf to... 10Bit A/D 的ADRES 居然放在不同 BANK, 而且還分ADRESH & ADRESL ... 那偶要如何儲存呢??? (DATASHEET 沒有程式可以套用..) 嗯.... 如果只儲存ADRESL, 那只能讀到約1.25V... 那輸入電壓必須限制在1.25V以下lor... 這個方法好像很笨,素不素呀?? 笨鴨笨方法, 不豬到 是否可行耶!!haha... EEPROM 部份比較清楚, 而且還有程式可以套用..可以玩玩.. 而且程式好像比外接的EEPROM程式簡單.. 版主介紹的那個I2C程式 ,完全末宰羊.. 不會用...偶笨嘛,haha..
發表於: 2007/9/3 11:20
|
|||
|