亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
中文字幕在线观看不卡| 亚洲综合区在线| 亚洲激情男女视频| 激情成人综合网| 欧美午夜宅男影院| 国产精品丝袜久久久久久app| 天堂一区二区在线免费观看| www.成人在线| 久久久久久久久久久电影| 日韩电影在线一区二区三区| 91色在线porny| 亚洲国产精品激情在线观看| 久久国内精品自在自线400部| 欧美丝袜自拍制服另类| 一区二区三区不卡在线观看| 床上的激情91.| 国产日韩在线不卡| 国模娜娜一区二区三区| 91精品在线观看入口| 亚洲精品成人精品456| 成人激情开心网| 中日韩免费视频中文字幕| 狠狠久久亚洲欧美| 欧美刺激午夜性久久久久久久| 亚洲成av人**亚洲成av**| www国产亚洲精品久久麻豆| 亚洲444eee在线观看| 欧美午夜精品免费| 亚洲自拍偷拍网站| 97精品久久久久中文字幕 | 91影院在线免费观看| 国产精品成人免费精品自在线观看| 精品一区二区免费视频| 日韩一区二区三区三四区视频在线观看 | 国产伦精品一区二区三区免费迷 | 蜜桃视频一区二区三区在线观看| 91精品麻豆日日躁夜夜躁| 天天综合色天天综合色h| 在线播放中文字幕一区| 石原莉奈在线亚洲三区| 3d动漫精品啪啪一区二区竹菊 | 国产美女久久久久| 国产精品区一区二区三区| 成人做爰69片免费看网站| 国产精品久久久久久久久晋中| www.亚洲人| 香蕉影视欧美成人| 欧美不卡一区二区| 成人午夜视频网站| 亚洲一区视频在线| 日韩精品一区在线观看| 国产成人av影院| 国产精品第一页第二页第三页| av不卡免费电影| 夜色激情一区二区| 欧美日韩日日夜夜| 国产精品正在播放| 亚洲另类色综合网站| 91精品久久久久久久91蜜桃| 国产精品影视在线| 亚洲精品国产一区二区三区四区在线| 91官网在线免费观看| 蜜桃精品在线观看| 中文字幕一区二区三区四区| 欧美视频日韩视频在线观看| 秋霞午夜av一区二区三区| 国产欧美精品一区| 欧美午夜电影在线播放| 久久99精品国产麻豆婷婷| 久久久久久久性| 欧美午夜精品久久久| 国产一区二区三区国产| 一区二区三国产精华液| 精品国产免费一区二区三区香蕉| 99久久久久久99| 蜜臀av国产精品久久久久| 亚洲欧洲日韩av| 日韩欧美国产精品| 色婷婷激情久久| 国产黄色精品视频| 亚洲成在人线免费| 国产精品久久久久aaaa樱花| 91精品在线免费观看| 91亚洲精华国产精华精华液| 日本免费新一区视频| 最新久久zyz资源站| 日韩午夜精品电影| 99久久精品一区二区| 韩国精品免费视频| 亚洲一区二区三区国产| 欧美激情一区二区| 欧美成人a视频| 欧美精品丝袜中出| 91一区二区三区在线观看| 国产在线精品一区在线观看麻豆| 亚洲国产视频a| 亚洲综合在线观看视频| 亚洲人成精品久久久久| 中文av字幕一区| 久久久国产精华| 2017欧美狠狠色| 欧美一区二区三区啪啪| 在线观看国产91| 一本大道久久a久久综合| 国产白丝网站精品污在线入口| 久久精品国产第一区二区三区| 亚洲一卡二卡三卡四卡无卡久久| ...xxx性欧美| 亚洲色图欧洲色图| 亚洲少妇30p| 亚洲手机成人高清视频| 国产精品色眯眯| 国产精品久久久久一区二区三区| 欧美videos中文字幕| 精品不卡在线视频| 久久久精品免费网站| 久久精品日韩一区二区三区| 国产日韩精品一区| 中文成人av在线| 亚洲精品国产a久久久久久| 亚洲精品国产一区二区精华液| 亚洲欧美另类久久久精品| 夜夜嗨av一区二区三区网页| 亚洲国产一区二区视频| 日韩不卡一区二区| 国内成人自拍视频| 国产宾馆实践打屁股91| 色狠狠色狠狠综合| 欧美人牲a欧美精品| 日韩精品一区二区三区视频播放| 精品伦理精品一区| 国产欧美一区二区精品久导航| 国产精品久久久久天堂| 一区二区三区小说| 日日夜夜免费精品| 国产自产2019最新不卡| 成人深夜在线观看| 欧美视频一二三区| 欧美大片在线观看一区| 日本一区二区综合亚洲| 亚洲丝袜精品丝袜在线| 天堂资源在线中文精品| 韩国av一区二区| 99r国产精品| 欧美日韩国产中文| 国产日产欧美精品一区二区三区| 国产精品久久久久久亚洲伦 | 欧美另类一区二区三区| 日韩精品一区在线观看| 中文字幕日韩av资源站| 日本在线播放一区二区三区| 国产一区二区三区在线观看精品 | 亚洲免费电影在线| 久久国产精品99精品国产| 成人高清视频在线观看| 欧美精品乱码久久久久久 | 欧美一区二区三区日韩| 中文字幕在线免费不卡| 麻豆一区二区三区| 色天使色偷偷av一区二区| 日韩精品一区二区三区视频 | 在线精品亚洲一区二区不卡| 久久伊人蜜桃av一区二区| 亚洲综合成人在线| 国产凹凸在线观看一区二区| 777精品伊人久久久久大香线蕉| 久久久不卡网国产精品二区| 亚洲图片自拍偷拍| 高清在线成人网| 欧美一区二区私人影院日本| 1区2区3区精品视频| 极品少妇一区二区| 欧美精选午夜久久久乱码6080| 国产精品热久久久久夜色精品三区 | 中文字幕一区日韩精品欧美| 蜜桃精品在线观看| 欧美男男青年gay1069videost | 国产精品伦一区二区三级视频| 日韩精品1区2区3区| 色婷婷综合久久久中文字幕| 国产三级一区二区三区| 麻豆国产精品官网| 欧美精品三级日韩久久| 亚洲成人久久影院| 91免费精品国自产拍在线不卡| 久久亚洲一级片| 狠狠色狠狠色合久久伊人| 91麻豆精品国产91久久久 | 日韩一区二区免费电影| 亚洲国产精品视频| 欧洲国内综合视频| 亚洲精品欧美在线| 91久久线看在观草草青青| 国产精品每日更新| 成人天堂资源www在线| 中文字幕一区二区5566日韩| 成人动漫一区二区三区| 中文字幕巨乱亚洲| 成人av电影观看| 亚洲色图制服丝袜|