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

論壇索引


Board index » All Posts




dsPIC c30 Encoder 的使用
新會員
新會員


原本如此!!

QEA, QEB 與 A/D 共用腳位,
使用 QEI, 記得把 QEA, QEB 腳位 定為 digital!

發表於: 2005/7/26 16:10
頂部


Re: 請問PIC有自我測試的程式嗎?
版主
版主


請找DATA SHEET中有閼於TABLE READ的章節,應該就是您要的答案。

發表於: 2005/7/26 15:59
頂部


Re: 請問Pic12F675 QTP PATTERN CODE?
版主
版主


PATTERN CODE一般是指特別訂製或篩選的IC,或者出貨時已含客戶程式碼的IC的辨識碼。

您所提到的IC,是FLASH IC。重新燒錄之後,就算原有客戶程式碼也會被您改了。所以,如果說燒錄成功後,一個可用,一個不可用,也許真的是IC本身有經過特別篩選。不過,我比較相信是您本身軟硬體設計上並沒有考慮到IC之間原本就有的差異所造成。設計良好的話,應該是不會挑IC才對。

另外,您所提到 (e3),並不是 pattern code:它是目前Pb-free產品暫時性的註記符號。

發表於: 2005/7/26 15:52
頂部


Re: 請問要如何寫入TMR0H ?
版主
版主


1、要先將某值填入TMR0H,再將某值填入TMR0L:此時,TMR0的16-BIT 值才會同時更新。

2、根據方塊圖,TMR0H是無法自動變化的。必須下達READ TMR0L的指令,TMR0高位元的值才會同時被填到TMR0H。所以,也許您執行過READE TMR0L之類的指令之後,就會看到TMR0H的值發生改變了。

發表於: 2005/7/26 15:38
頂部


請問一下...LCD的問題
中級會員
中級會員


大家好 請問一下
PICDEM_2_PLUS Demoboard 的 LCD需不需要驅動程式
我使用PIC 16F873A 我參照光碟理的範例 但是還是出不來
可否指點一下 謝謝 以下是我的程式碼
list p=16F873a
#include P16F873a.inc


#define LCD_D4 PORTB, 0 ; LCD data bits
#define LCD_D5 PORTB, 1
#define LCD_D6 PORTB, 2
#define LCD_D7 PORTB, 3

#define LCD_D4_DIR TRISB, 0 ; LCD data bits
#define LCD_D5_DIR TRISB, 1
#define LCD_D6_DIR TRISB, 2
#define LCD_D7_DIR TRISB, 3

#define LCD_E PORTA, 1 ; LCD E clock
#define LCD_RW PORTA, 2 ; LCD read/write line
#define LCD_RS PORTA, 3 ; LCD register select line

#define LCD_E_DIR TRISA, 1
#define LCD_RW_DIR TRISA, 2
#define LCD_RS_DIR TRISA, 3

#define LCD_INS 0
#define LCD_DATA 1

D_LCD_DATA UDATA 0x10
COUNTER res 1
delay res 1
temp_wr res 1
temp_rd res 1

GLOBAL temp_wr

PROG1 CODE


;***************************************************************************

LCDLine_1
banksel temp_wr
movlw 0x80
movwf temp_wr
call i_write
return
GLOBAL LCDLine_1

LCDLine_2
banksel temp_wr
movlw 0xC0
movwf temp_wr
call i_write
return
GLOBAL LCDLine_2

d_write ;write data
call LCDBusy
bsf STATUS, C
call LCDWrite
banksel TXREG ;move data into TXREG
movwf TXREG
banksel TXSTA
btfss TXSTA,TRMT ;wait for data TX
goto $-1
banksel PORTA
return
GLOBAL d_write

i_write ;write instruction
call LCDBusy
bcf STATUS, C
call LCDWrite
return
GLOBAL i_write

rlcd macro MYREGISTER
IF MYREGISTER == 1
bsf STATUS, C
call LCDRead
ELSE
bcf STATUS, C
call LCDRead
ENDIF
endm
;****************************************************************************




; *******************************************************************
LCDInit
clrf PORTA

banksel TRISA ;configure control lines
bcf LCD_E_DIR
bcf LCD_RW_DIR
bcf LCD_RS_DIR

movlw b'00001110'
banksel ADCON1
movwf ADCON1

movlw 0xff ; Wait ~15ms @ 20 MHz
banksel COUNTER
movwf COUNTER
movlw 0xFF
banksel delay
movwf delay
call DelayXCycles
decfsz COUNTER, F
goto $-3

movlw b'00110000' ;#1 Send control sequence
movwf temp_wr
bcf STATUS,C
call LCDWriteNibble

movlw 0xff ;Wait ~4ms @ 20 MHz
movwf COUNTER
movlw 0xFF
movwf delay
call DelayXCycles
decfsz COUNTER, F
goto $-3

movlw b'00110000' ;#2 Send control sequence
movwf temp_wr
bcf STATUS,C
call LCDWriteNibble

movlw 0xFF ;Wait ~100us @ 20 MHz
movwf delay
call DelayXCycles

movlw b'0011000' ;#3 Send control sequence
movwf temp_wr
bcf STATUS,C
call LCDWriteNibble

;test delay
movlw 0xFF ;Wait ~100us @ 20 MHz
movwf delay
call DelayXCycles


movlw b'00100000' ;#4 set 4-bit
movwf temp_wr
bcf STATUS,C
call LCDWriteNibble

call LCDBusy ;Busy?

movlw b'00101000' ;#5 Function set
movwf temp_wr
call i_write

movlw b'00001101' ;#6 Display = ON
movwf temp_wr
call i_write

movlw b'00000001' ;#7 Display Clear
movwf temp_wr
call i_write

movlw b'00000110' ;#8 Entry Mode
movwf temp_wr
call i_write

movlw b'10000000' ;DDRAM addresss 0000
movwf temp_wr
call i_write

movlw b'00000010' ;return home
movwf temp_wr
call i_write


return

GLOBAL LCDInit
; *******************************************************************








;****************************************************************************
; _ ______________________________
; RS _>--<______________________________
; _____
; RW \_____________________________
; __________________
; E ____________/ \___
; _____________ ______
; DB _____________>--------------<______
;
LCDWriteNibble
btfss STATUS, C ; Set the register select
bcf LCD_RS
btfsc STATUS, C
bsf LCD_RS

bcf LCD_RW ; Set write mode

banksel TRISB
bcf LCD_D4_DIR ; Set data bits to outputs
bcf LCD_D5_DIR
bcf LCD_D6_DIR
bcf LCD_D7_DIR

NOP ; Small delay
NOP

banksel PORTA
bsf LCD_E ; Setup to clock data

btfss temp_wr, 7 ; Set high nibble
bcf LCD_D7
btfsc temp_wr, 7
bsf LCD_D7
btfss temp_wr, 6
bcf LCD_D6
btfsc temp_wr, 6
bsf LCD_D6
btfss temp_wr, 5
bcf LCD_D5
btfsc temp_wr, 5
bsf LCD_D5
btfss temp_wr, 4
bcf LCD_D4
btfsc temp_wr, 4
bsf LCD_D4

NOP
NOP

bcf LCD_E ; Send the data

return
; *******************************************************************





; *******************************************************************
LCDWrite
call LCDBusy
call LCDWriteNibble
BANKSEL temp_wr
swapf temp_wr, f
call LCDWriteNibble
banksel temp_wr
swapf temp_wr,f

return

GLOBAL LCDWrite
; *******************************************************************





; *******************************************************************
; _____ _____________________________________________________
; RS _____>--<_____________________________________________________
; ____________________________________________________
; RW _________/
; ____________________ ____________________
; E ____________/ \____/ \__
; _________________ __________ ___
; DB _________________>--------------<__________>--------------<___
;
LCDRead
banksel TRISB
bsf LCD_D4_DIR ; Set data bits to inputs
bsf LCD_D5_DIR
bsf LCD_D6_DIR
bsf LCD_D7_DIR

BANKSEL PORTA
btfss STATUS, C ; Set the register select
bcf LCD_RS
btfsc STATUS, C
bsf LCD_RS

bsf LCD_RW ;Read = 1

NOP
NOP

bsf LCD_E ; Setup to clock data

NOP
NOP
NOP
NOP

btfss LCD_D7 ; Get high nibble
bcf temp_rd, 7
btfsc LCD_D7
bsf temp_rd, 7
btfss LCD_D6
bcf temp_rd, 6
btfsc LCD_D6
bsf temp_rd, 6
btfss LCD_D5
bcf temp_rd, 5
btfsc LCD_D5
bsf temp_rd, 5
btfss LCD_D4
bcf temp_rd, 4
btfsc LCD_D4
bsf temp_rd, 4

bcf LCD_E ; Finished reading the data

NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP

bsf LCD_E ; Setup to clock data

NOP
NOP

btfss LCD_D7 ; Get low nibble
bcf temp_rd, 3
btfsc LCD_D7
bsf temp_rd, 3
btfss LCD_D6

發表於: 2005/7/26 15:00
頂部


也是 dsPIC c30 Encoder 的問題
新會員
新會員


也是 dsPIC c30 Encoder 的問題
何仁杰先生有寫過 QEI 計轉速程式?
可否寄一份給我參考? 謝謝!!

jerry@smart4micro.com.tw

發表於: 2005/7/26 14:49
頂部


Re: HCS362F and rfRXD0420
版主
版主


在 KEELOQ Security ICs License CD 中有範例程式。詳情可以看:

http://ww1.microchip.com/downloads/en/DeviceDoc/30177t.pdf

取得該CD,可以透過:

1、台灣的代理商,如右方的列表。建議找對KEELOQ及RF比較熟的。

或者,逕洽:

2、asia.inquiry@microchip.com

另外,FSK和ASK的優缺點,有人說FSK抗雜訊能力較強,而ASK比較省電。


發表於: 2005/7/26 13:22
頂部


PICmicro 在低電壓操作時可能因 BOR 被 Enable 而誤判為不震盪 ( 例如 PIC16LF72 )
管理員
管理員


大家好 :

7/25 有客戶問到 PIC16LF72 在 3.3V 無法工作 , 一定要把 Vdd 提高到 4V 以上才工作的問題 . 在此將發現的問題發表 . 因為我們在 7/25 接到電話時並未想到這一點 ----> BOR

PIC16F72 / PIC16LF72 內部有 BOR 的功能 , 它的設定電位是固定的 ( 3,65V to 4.35V ) . 所以要在低電壓環境下操作時不可以 Enable BOR . 否則 CPU 會一直處於 RESET 狀態 ! 表面上看起來就好像是不震盪啦 !

Best Regards,

發表於: 2005/7/26 11:21
頂部


HCS362F and rfRXD0420
新會員
新會員


各位前輩:
小弟接下一個新專案要用 HCS362F和rfRXD0420做無線傳輸. 希望有人能夠提供一組可以動(Tx可以傳,Rx可以收)的source code給我作為繼續發展的基礎架構. 看Data Sheet從頭寫實在太慢了. 我快被老闆釘到滿頭包了.

2.還有可以跟我說一下FSK和ASK有什麼不同及優缺點嗎?

發表於: 2005/7/26 10:32
頂部


請問要如何寫入TMR0H ?
資深會員
資深會員


使用18F452
;規劃TIMER0,8/16位元計數器
          MOVLW   
B'00000100'           ;設定TIMER0為16位元計數器
          MOVWF   T0CON                 
;預先除頻32
          MOVLW   0EFH                  
;設定除頻4320 (65536 4320=61216,計數4320次後產生中斷)
          
MOVWF   TMR0H                 ;5.5296MHz 32 4320 10Hz
          MOVLW   20H                   
;
          
MOVWF   TMR0L                 ;


          
BCF     INTCON2,TMR0IP        ;TIMER0中斷為低優先權
          BSF     RCON
,IPEN             ;致能中斷優先權
;致能中斷及模組
          BSF     INTCON
,GIE            ;致能所有中斷
          BSF     INTCON
,PEIE           ;致能週邊中斷
          BSF     INTCON
,TMR0IE         ;致能TIMER0溢位中斷
          BSF     T0CON
,TMR0ON          ;致能TIMER0

把TIMER0規劃為16位元計數器
但我還是只能寫入TMR0L
無法寫入TMR0H
用WATCH視窗看TMR0H的數值都永遠保持在00H
在範例程式裡及美國網站的應用筆記中都沒找到範例

規格書中的圖10-2
(TIMER0 BLOCK DIAGRAM IN 16-BIT MODE)
所畫的是什麼意思?
TMR0L可以直接與資料匯流排讀寫
而要讀寫TMR0H必須透過TMR0L讀寫?!
可是我先寫入TMR0L後
再寫入TMR0H
他的值依然是00H...

用示波器看中斷時間
不論怎麼試就是無法改變TMR0H...
請問有沒有範例程式
或是教一下怎麼控制TMR0H
謝謝


發表於: 2005/7/26 10:15
頂部



« 1 ... 6997 6998 6999 (7000) 7001 7002 7003 ... 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... ]

教育訓練中心

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