PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   help me!code?? (http://www.picvietnam.com/forum/showthread.php?t=7659)

codockiem 03-01-2011 01:19 AM

help me!code??
 
Các bạn ơi! giúp mình với.Mình đang cần đoạn code lấy số ngẫu nhiên viết bằng asm mà tìm mãi không thấy hàm random ,các bạn giúp mình với .còn hơn 1 ngày nữa là mình pải nộp bài ,nếu không có ,mình chết mất!Help!

KVLV 03-01-2011 05:07 AM

tôi chưa thử nên không biết, cái code này tôi copy từ 1 program khác.
Code:

;****************************************************************
;* RANDOM    : Generate random number                          *
;*                                                              *
;* Input      : R0 = seed                                      *
;* Output    : R0 = result                                    *
;*                                                              *
;* Notes      : 24 cycles including call and DONE.              *
;****************************************************************

;    ifdef RANDOM_USED
;  LIST
RANDOM  movf    R0 + 1, W      ; 1    Assure Seed <> 0
        iorwf  R0, W          ; 1
        btfsc  STATUS, Z      ; 1 / 2 Nudge Seed to 1
        incf    R0, F          ; 1 / 0
        movlw  80h            ; 1    Tap Bit 15
        btfsc  R0, 4          ; 1 / 2 Tap Bit 4
        xorwf  R0 + 1, F      ; 1 / 0
        btfsc  R0, 2          ; 1 / 2 Tap Bit 2
        xorwf  R0 + 1, F      ; 1 / 0
        btfsc  R0, 1          ; 1 / 2 Tap Bit 1
        xorwf  R0 + 1, F      ; 1
        rlf    R0 + 1, W      ; 1    C = New Bit
        rlf    R0, F          ; 1    Rotate Left
        rlf    R0 + 1, F      ; 1
;        return

;        goto    DONE            ; 8 + 2 Done
;  NOLIST
;DONE_USED = 1
;    endif


codockiem 03-01-2011 08:37 AM

code?
 
Trích:

Nguyên văn bởi KVLV (Post 41243)
tôi chưa thử nên không biết, cái code này tôi copy từ 1 program khác.
Code:

;****************************************************************
;* RANDOM    : Generate random number                          *
;*                                                              *
;* Input      : R0 = seed                                      *
;* Output    : R0 = result                                    *
;*                                                              *
;* Notes      : 24 cycles including call and DONE.              *
;****************************************************************

;    ifdef RANDOM_USED
;  LIST
RANDOM  movf    R0 + 1, W      ; 1    Assure Seed <> 0
        iorwf  R0, W          ; 1
        btfsc  STATUS, Z      ; 1 / 2 Nudge Seed to 1
        incf    R0, F          ; 1 / 0
        movlw  80h            ; 1    Tap Bit 15
        btfsc  R0, 4          ; 1 / 2 Tap Bit 4
        xorwf  R0 + 1, F      ; 1 / 0
        btfsc  R0, 2          ; 1 / 2 Tap Bit 2
        xorwf  R0 + 1, F      ; 1 / 0
        btfsc  R0, 1          ; 1 / 2 Tap Bit 1
        xorwf  R0 + 1, F      ; 1
        rlf    R0 + 1, W      ; 1    C = New Bit
        rlf    R0, F          ; 1    Rotate Left
        rlf    R0 + 1, F      ; 1
;        return

;        goto    DONE            ; 8 + 2 Done
;  NOLIST
;DONE_USED = 1
;    endif



cảm ơn bác nhưng cái này la vxl mà bác.em cần code vđk.Em làm về đếm ,nháy thì nhìu rùi nhưng cái này thì chưa bít gì cả.Mong các bác chỉ giúp!Thanks

KVLV 03-01-2011 09:18 AM

code mà tôi post là cho pic16F của microchip.


Múi giờ GMT. Hiện tại là 05:50 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam