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

論壇索引


Board index » All Posts




Re: 74154IC4對16解碼
新會員
新會員


編碼比較簡單RC1輸入,RA3~RA0輸出就0001
但解碼4對16查表,還是不懂
是利用哪些指令做判斷
編碼我是用BTFSC和BTFSS做判斷
解的話想不出來

發表於: 2005/1/17 22:45
頂部


Re: PIC16F716的ADC問題
版主
版主


請利用右方「搜尋」功能,找「貼程式」這三個字。以前有人說明得很清楚了。

發表於: 2005/1/17 22:13
頂部


Re: 18F452 BOOTLOAD Firmware 的問題
版主
版主


打電話問一下 Steven Lin 吧,

Tel: 02-2500-6610

發表於: 2005/1/17 15:00
頂部


Re: 18F452 BOOTLOAD Firmware 的問題
初級會員
初級會員


我照上述的做法將Bootloader的hex檔燒到PICmicro,再用RS-232下載應用程式AN833的hex file, 但是當

我用ICD2將PROGRAM MEMORY的程式讀出來,發現PROGRAM MEMORY內只有BOOTLOAD的程式碼,並沒有AN833的

程式碼,証明我沒有將程式DOWNLOAD成功,我使用的步驟如下:

1. 在板子上同時按住RA4和RESET鍵,先放掉RESET,再放掉RA4
2. 先設定"Hyperterm"為 57.6kb, 8, N, 1, enable XON/XOFF
3. 在"Hyperterm"上選"傳送文字檔案",將hex file傳送

在傳送過程中,我並未發現RB2的燈號有在閃爍, 不知是那裡出了問題???

發表於: 2005/1/17 14:19
頂部


Re: PIC16F716的ADC問題
初級會員
初級會員


呃...請問一下...
程式碼要怎麼貼格式才不會變掉,謝謝。

發表於: 2005/1/17 14:01
頂部


Re: PIC16F716的ADC問題
初級會員
初級會員


謝謝版主的回覆

SIM可以模擬AD輸入嗎?請教一下謝謝。

我將我發生的狀況跟程式貼上,如下:

MCU為 PIC16F716
VDD=3V
AD的參考電壓為VDD
AD輸入腳為 RA1(第18腳)
LED輸出為 RB1

狀況為:
1. Brown Out Detect 選擇 On 時,AD輸入≧2.7V MCU就當住
2. Brown Out Detect 選擇 Off 時,
AD輸入慢慢增加至 2.5V ,MCU動作正常
AD輸入再增加至 5V ,MCU動作也正常
AD輸入再降至 0V ,
AD輸入再瞬間從 0V 升至 5V ,MCU當住
(只要AD輸入瞬間從 0V 升至 3V以上 ,MCU就會當住)

不曉得為什麼會這樣?是設定有問題嗎?還是有其它原因?
如果有人知道煩請不吝指導,謝謝。(百思不解中)
我再試試,有什麼發現再貼上來。

程式碼如下:
list p=16f716,r=dec ; list directive to define processor
include "c:\inc\p16f716.inc"

;Variable definition

ActiveFlag equ 37h
ADValue equ 38h
tempW equ 41h
tempStatus equ 42h
INTADCount1 equ 49h
INTADCount2 equ 50h
INTADCount3 equ 55h
DelayTime equ 52h
Count1 equ 53h
Count2 equ 54h

;Program Segment
org 00h
nop
goto start

org 04h
goto ISR

start
call Initial

banksel OPTION_REG
movlw b'11000000'
movwf OPTION_REG
banksel PIE1
bcf PIE1,ADIE
banksel INTCON
movlw b'00010000'
movwf INTCON
bsf INTCON,GIE
;--------------------------------------
banksel PIR1
bcf PIR1,ADIF
banksel ADCON0
movlw b'01001000'
movwf ADCON0
bsf ADCON0,ADON
banksel ADRES
clrf ADRES
banksel PIE1
bsf PIE1,ADIE
bsf INTCON,PEIE
;--------------------------------------
WaitInt
banksel PORTB
bsf PORTB,1
call ADDelay2
banksel PORTB
bcf PORTB,1
banksel ADCON0
bsf ADCON0,GO_DONE;.........ADgo
call ChkADValue
call ADDelay2
btfsc ActiveFlag,0
goto WaitInt
goto end1

Initial
movlw 1h
movwf ActiveFlag
movlw 0h
movwf ADValue
movwf tempW
movwf tempStatus
movlw 5h
movwf DelayTime

banksel TRISA
movlw b'00000010'
movwf TRISA
banksel PORTA
movlw b'00000000'
movwf PORTA
banksel TRISB
movlw b'00000001'
movwf TRISB
banksel PORTB
movlw b'00000000'
movwf PORTB

banksel ADCON1
movlw b'00000100'
movwf ADCON1

return

ISR
movwf tempW
swapf STATUS,w
movwf tempStatus

banksel PIR1
btfsc PIR1,ADIF
call GetADValue

swapf tempStatus,w
movwf STATUS
swapf tempW,f
swapf tempW,w

retfie

StopActive
banksel INTCON
movlw b'00010000'
movwf INTCON
bcf INTCON,GIE
;bcf INTCON,PEIE;
;banksel PIE1;
;bcf PIE1,ADIE;

movlw 0h
movwf ActiveFlag
banksel PORTB
bcf PORTB,1

PowerLed
banksel PORTB
bsf PORTB,1
call TestDelay
bcf PORTB,1
call TestDelay
decfsz DelayTime
goto PowerLed
movlw 5h
movwf DelayTime
banksel PORTB
bcf PORTB,1

return
;
GetADValue
btfss ActiveFlag,0
goto ExitGetADValue

banksel ADRES
movf ADRES,w
movwf ADValue
banksel PIR1
bcf PIR1,ADIF
return
ExitGetADValue
banksel PIR1
bcf PIR1,ADIF
return
;
ChkADValue
btfss ActiveFlag,0
goto ExitChkADValue

movlw D'119'
bcf STATUS,C
bcf STATUS,DC
bcf STATUS,Z
subwf ADValue,w
btfsc STATUS,Z
goto ADStop
btfsc STATUS,C
goto ADStop

return

ADStop
call StopActive
banksel ADCON0
bcf ADCON0,ADON
return
ExitChkADValue
return


;

ADDelay2
movlw D'66'
movwf INTADCount1
movlw D'100'
movwf INTADCount2
movlw D'100'
movwf INTADCount3
ADDelay2Loop
decfsz INTADCount3
goto ADDelay2Loop
movlw D'100'
movwf INTADCount3
decfsz INTADCount2
goto ADDelay2Loop
movlw D'100'
movwf INTADCount2
decfsz INTADCount1
goto ADDelay2Loop
return
;

TestDelay
movlw D'250'
movwf Count1
movwf Count2
TestLoop
decfsz Count2
goto TestLoop
movlw D'250'
movwf Count2
decfsz Count1
goto TestLoop
return
end1
end

發表於: 2005/1/17 13:53
頂部


Re: 請問A/D轉換
版主
版主


MPLAB IDE 有提供軟體模擬功能,名稱叫 MPLAB SIM
用用看比較不會像瞎子摸象般找不到問題之所在。

發表於: 2005/1/17 13:36
頂部


Re: 請問關於A/D轉換問題
版主
版主


沒錯! 所以選用適當的震盪頻率與預除器的值是可以達到最快的轉換速率,OSC 不一定是越高越好。

以書上為例: 如使用38.4MHz就可以得到約 5uS 的轉換速度
Tad=(1/38.4MHz) * 16 = 41.67nS
conversion rate = 12 Tad = 12 * 41.67nS = 5 uS

按書上說最小的TAD必須大於 385 nS (Table 25-21, page 372), 如果小於此時間就轉換結果就會不準。

發表於: 2005/1/17 13:32
頂部


Re: 74154IC4對16解碼
版主
版主


很簡單!

用軟體建一個 4 對16的查表輸出就可以了。

發表於: 2005/1/17 13:09
頂部


74154IC4對16解碼
新會員
新會員


請問原本用74154IC做4對16解碼,用16F877做編碼
74154輸出為負電,不符合我要正輸出,利用多顆正反器來
達到正輸出,這樣體積就會變大,想說利用一顆ㄶF877來做
4對16解馬來取代74154IC
RA3~RA0做4輸入,RC~RD做16輸出
如RA3~RA0都為0,即RC0輸出,0001即RC1輸出
0010即RC2輸出,0011即RC3輸出,以此類推
該用什麼方式作判斷
謝謝

發表於: 2005/1/16 22:18
頂部



« 1 ... 7270 7271 7272 (7273) 7274 7275 7276 ... 7522 »



:::

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... ]

教育訓練中心

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