亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 628g.asm

?? 利用視覺暫留在自行車輪或MOto車輪上閃出絢麗的圖案
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
; Ian Paterson's Spoke POV
; Version "g" copyright 2005 Ian Paterson
; and copyleft under the terms of the GNU General Public License
; http://www.gnu.org/licenses/gpl.txt
;
;    This program is free software; you can redistribute it and/or modify
;    it under the terms of the GNU General Public License as published by
;    the Free Software Foundation; either version 2 of the License, or
;    (at your option) any later version.
;
;    This program is distributed in the hope that it will be useful,
;    but WITHOUT ANY WARRANTY; without even the implied warranty of
;    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;    GNU General Public License for more details.
;
;    You should have received a copy of the GNU General Public License
;    along with this program; if not, write to the Free Software
;    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
;
; To contact Ian Paterson, or for more information about this program, visit http://www.ianpaterson.org 


	title "628g"
	LIST	P=16F628A, F=INHX8M
#include <p16f628a.inc>

   __CONFIG  _INTRC_OSC_NOCLKOUT & _WDT_OFF & _LVP_OFF & _CP_OFF

IMAGESIZE       equ 0xFF      ; Declare image size constant
POSTSCALERLIMIT equ 0x02      ; Declare upper limit of the "postscaler" for TIMER1

linecount       equ 0x20
byteout         equ 0x21
postscaler      equ 0x22
timebasevector  equ 0x23
timebasevalue   equ 0x24

   org 0x00
   GOTO Main
   org 0x04
; Interrupt handler code goes here
; NOTE: Since virtually every part of this program runs inside an interrupt handler, it's not necesssary
; to back up any critical registers when entering or exiting the handler.
   BTFSC PIR1,TMR1IF          ; Check to see if the interrupt was caused by a TIMER1 rollover Overflow)
   GOTO  Timer1Rollover
   BTFSC INTCON,INTF          ; Check to see if the interrupt was caused by the hall effect sensor
   GOTO  HallEffectTrigger
   BTFSC INTCON,T0IF          ; Check to see if the interrupt was caused by a TIMER0 rollover (overflow)
   GOTO  Timer0Rollover
   RETFIE                     ; If none of the above is true, then just leave the interrupt handler

Timer1Rollover
   MOVLW POSTSCALERLIMIT
   SUBWF postscaler, W
   BTFSS STATUS, Z            ; If postscaler <> POSTSCALERLIMIT,
   INCF  postscaler, F        ; Increment the TIMER1 postscaler
   BCF   PIR1,TMR1IF          ; Clear TMR1IF (TIMER1 Interrupt Flag) before enabling interrupts
   RETFIE

HallEffectTrigger
   MOVFW TMR1H                ; Capture the value in the high byte of the TIMER1 register pair
   MOVWF timebasevector       ; Store it in timebasevector (after some manipulation, this will be used to reference the timebase lookup table)
   MOVLW POSTSCALERLIMIT
   SUBWF postscaler, W
   BTFSC STATUS, Z            ; If postscaler = POSTSCALERLIMIT,
   GOTO  TimerOverflowed
   GOTO  RollBits
TimerOverflowed
   MOVLW 0xFF
   MOVWF timebasevector
   GOTO  EndHallEffectTrigger
RollBits
   RRF   timebasevector
   BCF   timebasevector,7
   BTFSC postscaler,0
   BSF   timebasevector,7
EndHallEffectTrigger
   MOVLW 0x2                  ; Load memory page number into PCLATH: 
   MOVWF PCLATH               ; The TimingData table starts at 0x200,
   MOVFW timebasevector       ; therefore PCLATH must be loaded with 0x2.
   CALL  TimingData           ; (see example in the OutputImage subroutine)
   MOVWF timebasevalue        ; Store the value fetched from the TimingData table in timebasevalue
   CLRF  postscaler           ; Reset the postscaler
   CLRF  linecount            ; Reset the line counter
   CLRF  TMR1L                ; Reset TIMER1 low byte
   CLRF  TMR1H                ; Reset TIMER1 high byte
   BCF   INTCON,INTF          ; Clear INTF flag before enabling interrupts
   RETFIE

Timer0Rollover                ; (263 instruction cycles)
   CALL  OutputImage
   MOVLW IMAGESIZE
   SUBWF linecount, 0
   BTFSS STATUS, Z            ; if linecount <> IMAGESIZE
   INCF  linecount, 1         ; Increment the line counter
   BCF   INTCON,T0IF          ; Clear T0IF flag before enabling interrupts
   MOVFW timebasevalue
   MOVWF TMR0
   RETFIE

Main
   CLRF  postscaler
   MOVLW 0xFF
   MOVWF timebasevalue
   BCF   STATUS,RP0           ; Go to bank 0
   BCF   STATUS,RP1           ; Go to bank 0

   CLRF  PORTA                ; Clear port A (set all lines low)
   CLRF  PORTB                ; Clear port B (set all lines low)

   MOVLW 0x07                 ; Turn comparators off and
   MOVWF CMCON                ; free all port A pins for I/O functions

   BSF   STATUS,RP0           ; Go to bank 1
   CLRF  TRISA                ; Set port A as all outputs
   CLRF  TRISB                ; Set port B as all outputs and then....
   BSF   TRISB,0              ; set bit 0 of port B as an input 
; OPTION_REG bit descriptions:
; Bit#:  Name:     If set to 1:
;  7     NOT_RBPU  Disable all PORTB pull-up resistors
;  6     INTEDG    Interrupt on rising edge of pulse to RB0/INT pin
;  5     T0CS      Select external clock source for TIMER0 (transition on RA4 pin as opposed to internal clock)
;  4     T0SE      TIMER0 increments on high to low transition of RA4
;  3     PSA       Prescaler counter is assigned to the watchdog timer (as opposed to TIMER0)
;  2     PS2   \
;  1     PS1    -> TIMER0 prescaler bits: 000=1:2 001=1:4 010=1:8 011=1:16 100=1:32 101=1:64 110=1:128 111=1:256
;  0     PS0   /
   MOVLW B'01000011'          ; According to the 16F628A data sheet, this is the way you must set bits in
   MOVWF OPTION_REG           ; OPTION_REG if you are switching the prescaler from watchdog timer to TIMER0.
   BCF   STATUS,RP0           ; Go back to bank 0

   BSF   T1CON,T1CKPS1        ; These set the TIMER1 prescaler. Here are the possible values:
   BSF   T1CON,T1CKPS0        ; 00=1:1 01=1:2 10=1:4 11=1:8

   BCF   T1CON,T1OSCEN        ; Turn off the TIMER1 oscillator to save power (we don't need it because we're using the internal oscillator)
   BCF   T1CON,TMR1CS         ; Select the internal oscillator for TIMER1
   BSF   T1CON,TMR1ON         ; Turn on TIMER1


; Turn off all LEDs
   CLRF  PORTA                ; Clear port A (set all lines low)
ClearOutput macro
   MOVLW 0x00
   MOVWF byteout
   CALL  WriteByte
   endm
   ClearOutput
   ClearOutput
   ClearOutput
   ClearOutput
   BSF PORTA,2                ; Pulse the latch to send data to the LEDs
   BCF PORTA,2

; Enable interrupts
   BCF   INTCON,INTF          ; Clear INTF flag before enabling interrupts
   BCF   INTCON,T0IF          ; Clear T0IF (TIMER0 Interrupt Flag) before enabling interrupts
   BCF   PIR1,TMR1IF          ; Clear TMR1IF (TIMER1 Interrupt Flag) before enabling interrupts
   BSF   INTCON,INTE          ; Enable interrupt on RB0/INT pin (an External interrupt)
   BSF   INTCON,T0IE          ; Enable interrupt on TIMER0 overflow (when TIMER0 wraps around from 0xFF to 0x00)
   BSF   INTCON,PEIE          ; Enable PEIE (PEripheral Interrupt Enable - for TIMER1, the 16 bit timer)
   BSF   STATUS,RP0           ; Go to bank 1
   BSF   PIE1,TMR1IE          ; Enable interrupt on TIMER1 overflow (when the TMR1 register pair wraps around from 0xFFFF to 0x0000)
   BCF   STATUS,RP0           ; Go to bank 0
   BSF   INTCON,GIE           ; Enable global interrupts

WaitForInterrupt
   GOTO WaitForInterrupt

OutputImage                   ; (252 instruction cycles)
GetData macro pagenum
   MOVLW pagenum              ; Load memory page number into PCLATH: 
   MOVWF PCLATH               ; The top four pages start at: 0x400, 0x500, 0x600 and 0x700 respectively.
                              ; The lower eight bits are handled by adding linecount to PCL,
                              ; therefore PCLATH only needs to be loaded with 0x4, 0x5, 0x6 and 0x7.
   MOVFW linecount            ; Move linecount into W (the lower eight bits of page address)
   CALL ImageData
   MOVWF byteout
   CALL WriteByte
   endm

   GetData 0x7;
   GetData 0x6;
   GetData 0x5;
   GetData 0x4;

   BSF PORTA,2                ; Pulse the latch to send data to the LEDs
   BCF PORTA,2
   RETURN

WriteByte                     ; (50 instruction cycles)
BitLoop macro
   BCF PORTA,0
   BTFSC byteout,0
   BSF PORTA,0
   BSF PORTA,1
   BCF PORTA,1
   RRF byteout
   endm
   BitLoop
   BitLoop
   BitLoop
   BitLoop
   BitLoop
   BitLoop
   BitLoop
   BitLoop
   RETURN

   org 0x1FF
TimingData
   ADDWF PCL,F
; Page boundary, timing data starts here
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFF
   RETLW 0xFE
   RETLW 0xFD
   RETLW 0xFC
   RETLW 0xFB
   RETLW 0xFA
   RETLW 0xF8
   RETLW 0xF7
   RETLW 0xF6
   RETLW 0xF5
   RETLW 0xF4
   RETLW 0xF3
   RETLW 0xF2
   RETLW 0xF1
   RETLW 0xF0
   RETLW 0xEF
   RETLW 0xEE
   RETLW 0xED
   RETLW 0xEC
   RETLW 0xEA
   RETLW 0xE9
   RETLW 0xE8
   RETLW 0xE7
   RETLW 0xE6
   RETLW 0xE5
   RETLW 0xE4
   RETLW 0xE3
   RETLW 0xE2
   RETLW 0xE1
   RETLW 0xE0
   RETLW 0xDF
   RETLW 0xDE
   RETLW 0xDC
   RETLW 0xDB
   RETLW 0xDA
   RETLW 0xD9
   RETLW 0xD8
   RETLW 0xD7
   RETLW 0xD6
   RETLW 0xD5
   RETLW 0xD4
   RETLW 0xD3
   RETLW 0xD2
   RETLW 0xD1
   RETLW 0xD0
   RETLW 0xCF
   RETLW 0xCD
   RETLW 0xCC
   RETLW 0xCB
   RETLW 0xCA
   RETLW 0xC9
   RETLW 0xC8
   RETLW 0xC7
   RETLW 0xC6
   RETLW 0xC5
   RETLW 0xC4
   RETLW 0xC3
   RETLW 0xC2
   RETLW 0xC1
   RETLW 0xBF
   RETLW 0xBE
   RETLW 0xBD
   RETLW 0xBC
   RETLW 0xBB
   RETLW 0xBA
   RETLW 0xB9
   RETLW 0xB8
   RETLW 0xB7
   RETLW 0xB6
   RETLW 0xB5
   RETLW 0xB4
   RETLW 0xB3
   RETLW 0xB1
   RETLW 0xB0
   RETLW 0xAF
   RETLW 0xAE
   RETLW 0xAD
   RETLW 0xAC
   RETLW 0xAB
   RETLW 0xAA
   RETLW 0xA9
   RETLW 0xA8
   RETLW 0xA7
   RETLW 0xA6
   RETLW 0xA5
   RETLW 0xA3
   RETLW 0xA2
   RETLW 0xA1
   RETLW 0xA0
   RETLW 0x9F
   RETLW 0x9E
   RETLW 0x9D
   RETLW 0x9C
   RETLW 0x9B
   RETLW 0x9A
   RETLW 0x99
   RETLW 0x98
   RETLW 0x97
   RETLW 0x96
   RETLW 0x94
   RETLW 0x93
   RETLW 0x92
   RETLW 0x91
   RETLW 0x90
   RETLW 0x8F
   RETLW 0x8E
   RETLW 0x8D
   RETLW 0x8C
   RETLW 0x8B
   RETLW 0x8A
   RETLW 0x89
   RETLW 0x88
   RETLW 0x86
   RETLW 0x85
   RETLW 0x84
   RETLW 0x83
   RETLW 0x82
   RETLW 0x81
   RETLW 0x80
   RETLW 0x7F
   RETLW 0x7E
   RETLW 0x7D
   RETLW 0x7C
   RETLW 0x7B
   RETLW 0x7A
   RETLW 0x78
   RETLW 0x77
   RETLW 0x76
   RETLW 0x75
   RETLW 0x74
   RETLW 0x73
   RETLW 0x72
   RETLW 0x71
   RETLW 0x70
   RETLW 0x6F
   RETLW 0x6E
   RETLW 0x6D
   RETLW 0x6C
   RETLW 0x6A
   RETLW 0x69
   RETLW 0x68
   RETLW 0x67
   RETLW 0x66
   RETLW 0x65
   RETLW 0x64
   RETLW 0x63
   RETLW 0x62
   RETLW 0x61
   RETLW 0x60
   RETLW 0x5F
   RETLW 0x5E
   RETLW 0x5D
   RETLW 0x5B
   RETLW 0x5A
   RETLW 0x59
   RETLW 0x58
   RETLW 0x57
   RETLW 0x56
   RETLW 0x55
   RETLW 0x54
   RETLW 0x53
   RETLW 0x52
   RETLW 0x51
   RETLW 0x50
   RETLW 0x4F
   RETLW 0x4D
   RETLW 0x4C
   RETLW 0x4B
   RETLW 0x4A
   RETLW 0x49
   RETLW 0x48
   RETLW 0x47
   RETLW 0x46
   RETLW 0x45
   RETLW 0x44
   RETLW 0x43
   RETLW 0x42
   RETLW 0x41
   RETLW 0x3F
   RETLW 0x3E
   RETLW 0x3D
   RETLW 0x3C
   RETLW 0x3B
   RETLW 0x3A
   RETLW 0x39
   RETLW 0x38
   RETLW 0x37
   RETLW 0x36
   RETLW 0x35
   RETLW 0x34
   RETLW 0x33
   RETLW 0x31
   RETLW 0x30
   RETLW 0x2F
   RETLW 0x2E
   RETLW 0x2D
   RETLW 0x2C
   RETLW 0x2B
   RETLW 0x2A
   RETLW 0x29
   RETLW 0x28
   RETLW 0x27
   RETLW 0x26
   RETLW 0x25
   RETLW 0x23
   RETLW 0x22
   RETLW 0x21
   RETLW 0x20
   RETLW 0x1F
   RETLW 0x1E
   RETLW 0x1D
   RETLW 0x1C
   RETLW 0x1B
   RETLW 0x1A
   RETLW 0x19
   RETLW 0x18
   RETLW 0x17
   RETLW 0x16
   RETLW 0x14
   RETLW 0x13
   RETLW 0x12
   RETLW 0x11
   RETLW 0x10
   RETLW 0xF
   RETLW 0xE
   RETLW 0xD
   RETLW 0xC
   RETLW 0xB
   RETLW 0xA
   RETLW 0x9
   RETLW 0x8
   RETLW 0x6
   RETLW 0x5
   RETLW 0x4
   RETLW 0x3
   RETLW 0x2
   RETLW 0x1
   RETLW 0x0

   org 0x3FF
ImageData
   ADDWF PCL,F
; Page boundary, image data starts here.
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000001'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000000'
   RETLW B'00000100'
   RETLW B'00001000'
   RETLW B'00000001'
   RETLW B'00000000'
   RETLW B'00000010'

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产电影网| 成年人国产精品| 国产一区二区电影| 91精彩视频在线观看| 日韩一区二区三区免费看| 国产精品久久夜| 极品少妇xxxx精品少妇| 99久久精品国产麻豆演员表| 精品久久久久久久一区二区蜜臀| 一区二区成人在线| jvid福利写真一区二区三区| 日韩欧美国产三级电影视频| 天天av天天翘天天综合网色鬼国产| 成人国产电影网| 国产日产欧美一区二区三区 | 欧美美女视频在线观看| 综合欧美亚洲日本| 成人在线视频一区二区| 久久伊人中文字幕| 久久电影网站中文字幕 | jlzzjlzz国产精品久久| 久久蜜桃av一区二区天堂 | 久久精品夜色噜噜亚洲a∨| 日本在线不卡一区| 在线播放中文字幕一区| 亚洲成人资源网| 欧美性videosxxxxx| 亚洲一区二区三区视频在线| 91成人在线观看喷潮| 亚洲色图视频网| 欧美专区在线观看一区| 一区二区三区产品免费精品久久75| 99久久精品国产毛片| 亚洲男女一区二区三区| 一本大道久久a久久精二百| 国产精品久久久久久久裸模 | 国产一区二区伦理| 国产亚洲欧洲997久久综合 | 欧美精品视频www在线观看| 一区二区三区国产豹纹内裤在线| 欧美在线三级电影| 亚洲一区在线视频观看| 9191久久久久久久久久久| 日韩国产精品大片| 久久久久久久久免费| caoporen国产精品视频| 亚洲精选视频在线| 在线观看91av| 国产一区二区三区黄视频| 欧美韩国日本不卡| 99r国产精品| 丝袜脚交一区二区| 国产性色一区二区| 一本大道久久a久久综合| 日韩成人一级大片| 久久久久久久久久久久久夜| 91尤物视频在线观看| 亚洲成人黄色影院| 精品999在线播放| av资源站一区| 日本v片在线高清不卡在线观看| 欧美mv日韩mv国产| 91在线观看一区二区| 日韩精品一级二级| 亚洲国产成人自拍| 欧美嫩在线观看| 成人激情免费视频| 视频一区视频二区在线观看| 久久一二三国产| 色婷婷激情综合| 狠狠色狠狠色合久久伊人| 一区二区在线电影| 久久久久久久性| 91精品中文字幕一区二区三区| 国产大片一区二区| 日韩在线一区二区| 色婷婷综合久久久久中文 | 成人午夜免费视频| 亚洲国产精品久久久久婷婷884| 欧美变态凌虐bdsm| 91美女在线看| 欧美日韩一区二区欧美激情| 福利视频网站一区二区三区| 日韩国产高清在线| 一二三四区精品视频| 国产精品视频麻豆| 精品裸体舞一区二区三区| 在线视频你懂得一区二区三区| 国产福利一区二区三区视频在线| 亚洲电影中文字幕在线观看| 国产欧美精品一区二区色综合朱莉| 欧美浪妇xxxx高跟鞋交| 色综合久久久久综合体| 国产黄色91视频| 黄页网站大全一区二区| 日韩精品国产精品| 亚洲一区二区三区爽爽爽爽爽| 国产精品成人免费在线| 国产高清成人在线| 性欧美大战久久久久久久久| 国产精品无人区| 久久精品夜色噜噜亚洲aⅴ| 欧美成人aa大片| 678五月天丁香亚洲综合网| 欧美做爰猛烈大尺度电影无法无天| 成人激情电影免费在线观看| 成人的网站免费观看| 高清不卡在线观看av| 国产精品一区专区| 国产成人精品aa毛片| 国产成人亚洲综合色影视| 精品在线播放午夜| 激情亚洲综合在线| 国产盗摄女厕一区二区三区| 国产一区二区电影| 成人福利视频网站| 99久久er热在这里只有精品15 | 日日噜噜夜夜狠狠视频欧美人| 亚洲午夜羞羞片| 亚洲国产精品视频| 天天影视网天天综合色在线播放| 日本中文在线一区| 久久超碰97中文字幕| 国产精品中文字幕日韩精品| 成人午夜视频网站| 色妹子一区二区| 欧美三区在线观看| 欧美一区二区在线视频| 精品国产免费一区二区三区四区 | 一区二区三区在线观看动漫| 亚洲在线视频一区| 日本美女视频一区二区| 国产麻豆9l精品三级站| www..com久久爱| 884aa四虎影成人精品一区| 久久久久久毛片| 亚洲精品一卡二卡| 美女视频黄免费的久久| 国产成人精品网址| 91亚洲大成网污www| 欧美喷潮久久久xxxxx| 国产性做久久久久久| 一区二区成人在线视频| 久久激情五月婷婷| 99国产精品99久久久久久| 在线播放91灌醉迷j高跟美女| 精品国产第一区二区三区观看体验| 中文字幕精品综合| 日韩经典一区二区| 成人av在线网| 91精品久久久久久久91蜜桃| 中文字幕不卡的av| 三级久久三级久久久| 成人在线视频一区| 日韩一区二区在线免费观看| 国产精品美女久久久久久久久久久 | 88在线观看91蜜桃国自产| 国产日韩影视精品| 午夜久久久久久电影| 国产精品一二三四| 欧美日本在线视频| 中文字幕在线观看不卡| 热久久一区二区| 91香蕉视频在线| 久久嫩草精品久久久精品| 亚洲1区2区3区视频| 成人动漫中文字幕| 欧美成人r级一区二区三区| 亚洲综合色网站| 粗大黑人巨茎大战欧美成人| 日韩欧美国产综合在线一区二区三区 | 国产欧美日韩视频一区二区| 午夜伦欧美伦电影理论片| 国产成人日日夜夜| 欧美放荡的少妇| 亚洲小说欧美激情另类| 成人av电影在线网| 久久午夜国产精品| 麻豆免费精品视频| 8x8x8国产精品| 午夜欧美大尺度福利影院在线看| 色综合久久综合网| 中文字幕色av一区二区三区| 韩国女主播成人在线| 精品乱人伦一区二区三区| 午夜不卡av在线| 欧美日韩国产在线播放网站| 亚洲人成在线播放网站岛国| 国产在线一区二区综合免费视频| 欧美午夜电影网| 亚洲制服丝袜av| 欧美这里有精品| 一区二区久久久| 在线亚洲高清视频| 亚洲一区二区黄色| 欧美丝袜第三区| 日韩精品高清不卡| 日韩一区二区三区免费看 | 国产精品色哟哟| 97久久久精品综合88久久|