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

論壇索引


Board index » All Posts




Re: PIC做的嵌入式網路機器人/狗
資深會員
資深會員


確實很棒

結合機械機構(但是如果能夠在請機械所人員設計一下或修飾一下Dog可能會更好看)

關節部分可以在加強其活動角度會更棒

有像日本的機器人

加油

希望能研發像日本的機器人在一起跳舞

發表於: 2004/11/26 9:40
頂部


訪客
can bus無法傳輸
訪客-訪客
這是我寫的不知為何,無法傳輸
LIST P=18F458
#INCLUDE "P18F458.INC"
;/*-----------------------------------------------*/

CAN_FLAG EQU 0X0027

RX_COUNT EQU 0X002F
TX_COUNT EQU 0X004F
dTimer2 EQU .100
dTimer_60ms EQU .255
Timer_60ms EQU 0X0050
W_TEMP EQU 0X0051
STATUS_TEMP EQU 0X0052
BSR_TEMP EQU 0X0053
TIMER_Falg
WR_FULL EQU 0X005F

;/*-----------------------------------------------*/
;/* FLAG SET */
;/*-----------------------------------------------*/
TIMER_Falg_1ms EQU .1
TIMER_Falg_60ms EQU .2

ORG 0X0000
GOTO START
;/*----------------Initial------------------------*/
ORG 0X0008
;/*-----------------------------------------------*/
INTSERVE
MOVWF W_TEMP
MOVFF STATUS,STATUS_TEMP
MOVFF BSR,BSR_TEMP
BTFSC PIR3,RXB0IF
CALL CAN_ISR
BTFSC PIR1,RCIF ; test rc interrupt flag
CALL rs232_isr_Rx
BTFSC PIR1,TMR2IF
CALL timer_2_isr

; BTFSC PIR2,BCLIF
; CALL CAN_ERROR
E:
MOVFF BSR_TEMP,BSR
MOVF W_TEMP,W
MOVFF STATUS_TEMP,STATUS
RETFIE
;/*------------------------------------*/
;/* rs232 ISR Procedure */
;/*------------------------------------*/
rs232_isr_Rx:
bcf PIR1,RCIF ;
movlw low(TXB0D0)
ADDWF RX_COUNT,W
MOVWF FSR0L
MOVLW 0X0F
MOVWF FSR0H
MOVF RCREG,W
BTFSC RX_COUNT,3
GOTO RX_BUF_FULL
MOVWF INDF0
RX_BUF_FULL:
INCF RX_COUNT,F
MOVF RX_COUNT,W
xorlw 0x0A ;
BTFSS STATUS,Z
GOTO E_RX
BSF WR_FULL,0
RETURN
E_RX:
BCF WR_FULL,0
RETURN
;/*------------------------------------*/
;/* can ERROR Procedure */
;/*------------------------------------*/
CAN_ERROR
BCF PIR2,BCLIF
RETURN
;/*------------------------------------*/
;/* can ISR Procedure */
;/*------------------------------------*/
CAN_ISR:
BCF PIR3,RXB0IF ;
BSF CAN_FLAG,1
BCF RXB0CON,RXFUL
RETURN
;/*------------------------------------*/
;/* timer2 ISR Procedure */
;/*------------------------------------*/
timer_2_isr:
bcf PIR1,TMR2IF ; Clear TIMER2 interrupt flag
bsf TIMER_Falg,TIMER_Falg_1ms
eTimer2:
RETURN
;/*----------------Initial------------------------*/

START
CLRF WR_FULL
CLRF CAN_FLAG
CLRF RX_COUNT
CLRF TX_COUNT
CLRF INTCON
movlw dTimer_60ms
movwf Timer_60ms
MOVLW 0X08
MOVWF TRISB

;/*-----------------------------------------------*/
;/* PORTC DEFINITIONS */
;/*-----------------------------------------------*/
banksel PORTC
movlw b'11111111'
movwf PORTC

banksel TRISC ; Select bank 1
movlw b'10111111' ; Set RC<6> as output, others input
movwf TRISC

;/*-----------------------------------------------*/
;/* USART port setup */
;/*--------------------------------------------
movlw b'10010000' ; Continous recieve enabled, PORTC port enabled
movwf RCSTA

banksel SPBRG ; Select bank 1
movlw b'01100111' ; 71 sets Baud rate to 9600 w/ .16% error note: BRGH=1
movwf SPBRG ; Baud Rate , 9600 = 11.059/16(71+1)
banksel TXSTA
movlw b'00100110'
movwf TXSTA ; BRGH = 1, Asynch mode, enable transmit
; 8 bit transmission
; Select bank 1
bsf PIE1,RCIE ; Enable USART recieve interrupts
;bSf PIE1,TXIE ; Enable USART transmit interrupts

;/*-----------------------------------------------*/
;/* timer2 setup */
;/*-----------------------------------------------*/
;/* Note: w/ T2CON=00011111 */
;/* the prescaler = 16, the postscale = 2 */
;/* */
;/* This gives 1 x 4 x 250 x 1us = 1ms */
;/* interrupt intervals. */
;/*-----------------------------------------------*/

banksel T2CON
movlw b'01010101' ; 173*16*2*(4/11.059) = 2002.35us = 2ms
movwf T2CON ; Move W register to T2CON
banksel dTimer2 ; Select bank 1 register
movlw dTimer2 ; Place decimal 173 into W
movwf PR2 ; Update Period reg for T2
bsf PIE1,TMR2IE ; Enable TMR2 interrupts

;/*-----------------------------------------------------------------------------------------*/
;CAN Baud Rate 125K,Fosc=16Mhz,Tbit=8us,BRP=01h,
;TQ=[2*(1+BRP)]/Fosc=2*(7+1)/16=1us。
;NOMINAL BIT RATE=8TQ,SJW=1,Sync_Seg=1TQ,Prog _Seg=1TQ,Phase_Seg1=3TQ,Phase_Seg2=3TQ
;/*-----------------------------------------------------------------------------------------*/
MOVLW 0X0F
MOVWF BSR
MOVLW 0X80
MOVWF CANCON ;request for CAN BUS Confirguration MODE
WAIT
BTFSS CANSTAT,OPMODE2 ;wait for CAN BUS Configuration MODE=100
GOTO WAIT
MOVLW 0X06
MOVWF BRGCON1 ;set SJW and BRP,SJW=1TQ,BRP=06H
MOVLW 0X90
MOVWF BRGCON2 ;Phase_Seg1=3TQ and Prog _Seg=1TQ
MOVLW 0X42
MOVWF BRGCON3 ;Phase_Seg2=3TQ

;SET Transmit Buffer0 Control Register
MOVLW 0X03
MOVWF TXB0CON
MOVLW 0XFF
MOVWF TXB0SIDH
MOVLW 0XE0
MOVWF TXB0SIDL
MOVLW 0X08
MOVWF TXB0DLC
MOVLW 0X0F
MOVWF BSR
;
LFSR FSR0,TXB0D0
NEXT
CLRF POSTINC0
MOVF FSR0L,W
XORLW 0X4E
BTFSS STATUS,Z
GOTO NEXT
;
MOVLW 0XFF
MOVWF RXB0SIDH
MOVLW 0XE0
MOVWF RXB0SIDL
MOVLW 0X20
MOVWF RXB0CON ;FILHIT0=0

MOVLW 0X08
MOVWF RXB0DLC

LFSR FSR0,RXB0D0
NEXT2
CLRF POSTINC0
MOVF FSR0L,W
XORLW 0X6E
BTFSS STATUS,Z
GOTO NEXT2

MOVLW 0XFF
MOVWF RXF0SIDH
MOVLW 0XE0
MOVWF RXF0SIDL
MOVLW 0X00
MOVWF RXM0SIDH
MOVLW 0X00
MOVWF RXM0SIDL

;
MOVLW 0X00
MOVWF CIOCON

;
MOVLW 0X40 ;CANCON=0X00->Normal mode CANCON=0X40->Loop back mode
MOVWF CANCON ;
WAIT2
MOVF CANSTAT
ANDLW 0XE0
SUBLW 0X40
BTFSS STATUS,Z ;wait for CAN BUS->Loop back mode=010
GOTO WAIT2
;
BSF RCON,IPEN
MOVLW 0X01
MOVWF IPR3
MOVWF PIE3
MOVLW 0X22
MOVWF IPR1
; MOVLW 0X08
; MOVWF PIE2
;/*--------------------------------------------------------------------*/
;/* Main procedure */
;/*--------------------------------------------------------------------*/
MAIN
NOP
MOVLW 0XC0
MOVWF INTCON
LOOP
btfss TIMER_Falg,TIMER_Falg_1ms
GOTO LOOP
bcf TIMER_Falg,TIMER_Falg_1ms
decfsz Timer_60ms
GOTO LOOP
movlw dTimer_60ms
movwf Timer_60ms
CLRF RX_COUNT
BTFSS WR_FULL,0
GOTO E_TX
CALL CAN_BUS_TX
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
E_TX:
BTFSC CAN_FLAG,1
CALL TX_OK1
BCF WR_FULL,0
BCF CAN_FLAG,1
GOTO LOOP

;/*--------------------------------------------------------------------*/
;/* UART TX procedure */
;/*--------------------------------------------------------------------*/
TX_OK1:
movlw low(RXB0D0)
ADDWF TX_COUNT,W
MOVWF FSR0L
MOVLW 0X0F
MOVWF FSR0H
MOVF INDF0,W
movwf TXREG
tx_ok:
btfss TXSTA,TRMT
goto tx_ok
INCF TX_COUNT
MOVF TX_COUNT,W
XORLW 0X08
btfss STATUS,Z
goto TX_OK1
clrf TX_COUNT
RETURN
;/*--------------------------------------------------------------------*/
;/* CAN BUS TX procedure */
;/*--------------------------------------------------------------------*/
CAN_BUS_TX:
BSF TXB0CON,TXREQ ;TXREQ=1
WAITE4:
BTFSS PIR3,TXB0IF ;Wait Transmit finish
GOTO WAITE4
RETURN
;WAITE5:
; BTFSS CAN_FLAG,1 ;
; GOTO WAITE5
; BCF CAN_FLAG,1 ;
; BCF TXB0CON,TXREQ ;
; RETURN
END

頂部


Re: PIC做的嵌入式網路機器人/狗
資深會員
資深會員


Very Good Work!!

不過,恕我眼拙,不管從網頁或照片都看不出是用什麼晶片作的?

發表於: 2004/11/25 22:41
頂部


PIC做的嵌入式網路機器人/狗
初級會員
初級會員


這裡有用一個團隊用PIC & PIC- Embedded TCP/IP技術做的Robot
蠻有趣的.用Embedded TCP/IP技術後成本降了很低!
交通大學的網站,網頁如下:

http://xlab.cn.nctu.edu.tw/research.htm
http://xlab.cn.nctu.edu.tw/

狗名叫做O-Di (歐弟),跟電影一樣..哈
很多Video很好玩大家參考一下!!


發表於: 2004/11/25 20:11
頂部


Re: debug中所出現的錯誤訊息
新會員
新會員


參照:

minusone 寫道:
從訊息中看來,程式verify是成功的;只是configuration bits verify失敗。


謝謝版主
那再請問一下
如果是configuration bits verify失敗
是否意味著(Address = 0xF80006)設定上的錯誤?
有沒有可能是晶片的問題?(手邊只有一顆DIP包裝的試用品)

p.s:
1.)目前無論如何更動Cofiguration Bits的資料
都無法使錯誤訊息不再出現

2.)接線也沒問題

3.)IDE版本為V6.62

發表於: 2004/11/25 19:31
頂部


Re: 有關#define和RES?!
高級會員
高級會員


昏倒...

RES 是假指令 .. 不能用在程式段...

真搞不董..你程式的邏輯...@@...


發表於: 2004/11/25 17:48
頂部


Re: 16f877推動relay問題
資深會員
資深會員


PS:RELAY有動作
但是當RELAY動作後
會又干擾其他輸入腳位的輸入電壓
大概180mV~130mV

發表於: 2004/11/25 17:20
頂部


Re: 16f877推動relay問題
新會員
新會員


sorry 實在看不懂你再寫什麼!?

不過,如果推不動,可以先讓16F877推電晶體如9013(NPN)
再用pull-up的方式推Relay的線圈

發表於: 2004/11/25 17:01
頂部


Re: 請問如何不抹除內建EEPROM啊?
資深會員
資深會員


我就是選擇手動啊
EEPROM打勾去掉
右邊的erase all 取消
結果燒錄時就出問題
必須選擇erase all才能正常燒錄
而他也順便把我的eeprom抹除掉了...

發表於: 2004/11/25 16:59
頂部


16f877推動relay問題
資深會員
資深會員


16f877在推動relay(7A及 1A ic型)時會其他電壓輸入16f877腳位壓降
而量測入電壓及16f877電壓並無改變

16F877是推2004 IC
2004 IC再推RELAY
RELAY.2004 IC是吃24V電壓
RELAY 有三個

或16F877是推光偶合器
推光偶合器再推RELAY
RELAY.推光偶合器是吃24V電壓
RELAY 有三個


PS:RELAY有動作
但是當RELAY動作後
會又干擾其他輸入腳位的輸入電壓
大概180mV~130mV

發表於: 2004/11/25 16:22
頂部



« 1 ... 7331 7332 7333 (7334) 7335 7336 7337 ... 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... ]

教育訓練中心

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