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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? doorbell.asm

?? proteus 仿真實(shí)例
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
              LIST    p=16F84 ; PIC16F844 is the target processor

              #include "P16F84.INC" ; Include header file

              CBLOCK 0x10   ; Temporary storage
              tempo
              tptrl
              tptrh
              note
              length
              pitch
              temp              
              dl1
              dl2              
              ENDC


              ORG   0
entrypoint    goto  initialise

              ORG   4
intvector     goto    toggle

initialise    ; Register set up:
              clrw                    ; Zero.
              movwf   PORTA	      ; Ensure PORTB is zero before we enable it.		
              movwf   PORTB           ; Ensure PORTB is zero before we enable it.
              bsf     STATUS,RP0      ; Select Bank 1
              clrf    TRISB	      ; Port B is outputs              

	      ; Set up timer 0 for tone generation
	      movlw   0x02            ; Prescaler on, internal clocking, divide by 4            
	      movwf   OPTION_REG
              bcf     STATUS,RP0      ; Back to bank 0                              
              
                                
	      ; Poll for a button
wait	      clrf    PORTB
wloop	      btfss   PORTA,0
	      goto    playtune0
	      btfss   PORTA,1
	      goto    playtune1
	      goto    wloop                                   

;Routines to play the tunes
playtune0     movlw   0x13
	      movwf   PORTB
	      movlw   0x50
    	      movwf   tempo
	      movlw   tune0 / 0x100
	      movwf   tptrh
	      movlw   tune0 % 0x100
	      movwf   tptrl
	      goto    playtune

playtune1     movlw   0x23
	      movwf   PORTB
	      movlw   0xA0
    	      movwf   tempo
	      movlw   tune1 / 0x100
	      movwf   tptrh
	      movlw   tune1 % 0x100
	      movwf   tptrl
	      goto    playtune
                  
;Subroutine to play a tune
playtune      call    gettunedata       ; Lookup note from tune table
	      movwf   note              ; Store the note code
	      btfsc   note,7		; Bit 7 set => end of tune
	      goto    wait		; Back to waiting for a button press
 	      incf    tptrl,F           ; Increment the tune pointer
	      call    gettunedata       ; Get the note length
	      movwf   length            ; Store it
                                                                             
; Play the stored note
; The tune table supports two octaves and 8 note lengths.
playnote      btfsc   note,6	 	; Bit 6 set => rest
              goto    playwait          ; Silence ensues...     
	      movf    note,W		; Retrieve the note	      
              andlw   0x3F              ; Mask off the pitch index
	      call    pitchtable        ; and look it up in the pitchtable
 	      movwf   pitch             ; Transfer the value to Timer 0
 	      movwf   TMR0
 	      bcf     INTCON,T0IF       ; Clear Timer Interrupt
	      bsf     INTCON,T0IE       ; Enable interrupts for Timer 0
	      bsf     INTCON,GIE
playwait      movf    length,W          ; Retrieve the note length
	      movwf   dl1               ; and store it in delay counter 1
loop1	      movf    tempo,W  	        ; This value sets the timing resolution
	      movwf   dl2
loop2         nop                       ; Inner delay loop delay
	      nop      
	      decfsz  dl2,F             
              goto    loop2
              decfsz  dl1,F             ; Outer delay loop 
              goto    loop1
              bcf     INTCON,T0IE       ; Timer interrupts off            

;Fetch next note/length pair:
   	      incf    tptrl,F           ; Increment tune ptr   	      
 	      btfsc   STATUS,Z     	; Test for low byte rollover
 	      incf    tptrh,F           ; Inc high byte
              goto    playtune	        ; Loop for next note

; Routine to fetch data from the tune tables
gettunedata   movf    tptrh,W         ; Set up PCLATH for the jump
              movwf   PCLATH                      
	      movf    tptrl,W	      ; Get low address of tptr
	      movwf   PCL	      ; Jump off to the table entry                                   

; Pitch lookup function		                             
pitchtable    clrf    PCLATH           ; Clear PCLATH for zero page
	      addwf PCL,F
	      retlw 0x11               ;C5  // Midi Code 60
	      retlw 0x1F               ;C#
	      retlw 0x2B               ;D
	      retlw 0x37               ;D#
	      retlw 0x42               ;E
	      retlw 0x4D               ;F
	      retlw 0x57               ;F#
	      retlw 0x61               ;G
	      retlw 0x6A	       ;G#
	      retlw 0x72               ;A (440)
	      retlw 0x7A               ;Bb
	      retlw 0x81               ;B
	      retlw 0x89               ;C6 // Midi Code 72
	      retlw 0x8F               ;Db
	      retlw 0x96               ;D
	      retlw 0x9C               ;Eb
	      retlw 0xA1               ;E
	      retlw 0xA7               ;F
	      retlw 0xAC               ;F#
	      retlw 0xB0               ;G
	      retlw 0xB5               ;Ab
	      retlw 0xB9               ;A (880)
	      retlw 0xBD               ;Bb
	      retlw 0xC1               ;B
	      retlw 0xC4               ;C7 // Midi Code 84
	      retlw 0xC8               ;Db
	      retlw 0xCB               ;D
	      retlw 0xCE               ;Eb
	      retlw 0xD1               ;E
	      retlw 0xD3               ;F
	      retlw 0xD6               ;F#
	      retlw 0xD8               ;G
	      retlw 0xDA               ;Ab
	      retlw 0xDC               ;A (1760)
      	      retlw 0xDE	       ;Bb
	      retlw 0xE0               ;
	      retlw 0xE2               ;C8 // Midi Code 96

                                                                    
              

;Interrupt service - toggle the drive polarity to the sounder
;Note that this does not preserve the status bits - be careful,
;and that there is an assumption we are addressing bank 0.
toggle        movwf   temp
              movf    pitch,W
              movwf   TMR0
	      movf    PORTB,W
              xorlw   0x0F
              movwf   PORTB
	      bcf     INTCON,T0IF
	      movf    temp,w
	      retfie

;Tune Tables             
;Must be on even byte boundary                        
                        
	      org 0x0080

; Tune 0 Data
; Bach 'Badinerie' from Suite No 2
tune0	retlw 0x17	;B
	retlw 0x78	;240
	retlw 0x1A	;D
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0xF0	;480
	retlw 0x06	;F#
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0A	;A#
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x10	;E
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0B	;B
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x78	;240
	retlw 0x1A	;D
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0xF0	;480
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
 	retlw 0x10	;E
	retlw 0x3C	;60
	retlw 0x0E	;D
	retlw 0x3C	;30
	retlw 0x0D	;C#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x1A	;D
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;220
	retlw 0x12	;F#
	retlw 0x3C	;30
	retlw 0x14	;G#
	retlw 0x3C	;65
	retlw 0x11	;F
	retlw 0x78	;270
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x39	;115
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x19	;C#
	retlw 0x3E	;125
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x39	;115
	retlw 0x1A	;D
	retlw 0x3E	;125
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x1A	;D
	retlw 0x3C	;120
	retlw 0x19	;C#
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x19	;C#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频精品在线观看| 9l国产精品久久久久麻豆| 欧美日韩欧美一区二区| 一区二区三区不卡在线观看| 欧美视频三区在线播放| 婷婷一区二区三区| 欧美xxxxx牲另类人与| 狠狠狠色丁香婷婷综合久久五月| 精品国产91乱码一区二区三区| 黄色日韩三级电影| 国产亚洲成aⅴ人片在线观看| 成人精品免费看| 亚洲精品一二三四区| 欧美妇女性影城| 久久av中文字幕片| 国产精品水嫩水嫩| 欧美少妇xxx| 精品综合免费视频观看| 日本一区二区三级电影在线观看| caoporen国产精品视频| 五月天视频一区| 国产色综合久久| 欧美三级中文字| 国产精品一区二区在线看| 中文字幕一区三区| 欧美久久久久久久久| 国产乱码一区二区三区| 成人欧美一区二区三区在线播放| 欧美日产国产精品| 国产风韵犹存在线视精品| 亚洲精品日日夜夜| 日韩一区二区免费在线观看| 丁香亚洲综合激情啪啪综合| 亚洲一区二区三区美女| 国产亚洲一区二区三区| 91久久精品一区二区三区| 奇米四色…亚洲| 中文字幕亚洲一区二区av在线| 欧美日韩一区二区欧美激情| 国产精一品亚洲二区在线视频| 伊人一区二区三区| 久久久亚洲精华液精华液精华液| 在线亚洲精品福利网址导航| 国产一区二区三区视频在线播放| 一区二区欧美精品| 国产偷国产偷亚洲高清人白洁| 欧美日韩高清一区二区不卡| 成人综合激情网| 蜜桃视频一区二区| 亚洲国产精品自拍| 国产精品嫩草99a| 日韩欧美成人午夜| 欧美日本一区二区| 99精品国产一区二区三区不卡| 日本欧美大码aⅴ在线播放| 亚洲另类一区二区| 中文字幕人成不卡一区| www国产成人| 日韩一区二区电影网| 精品国产乱码久久久久久久久 | 在线观看日韩一区| 国产成人自拍在线| 久久99久久99小草精品免视看| 亚洲一区二区三区中文字幕在线| 欧美国产一区在线| 久久久久久99久久久精品网站| 欧美日韩高清一区二区不卡 | 蜜桃视频一区二区三区在线观看| 一二三区精品福利视频| 亚洲欧美一区二区久久 | 欧美丰满少妇xxxxx高潮对白| 色噜噜狠狠色综合中国| 91免费看视频| 色综合天天狠狠| 色婷婷综合久色| 色综合一区二区| 欧美美女网站色| 欧美三级蜜桃2在线观看| 色久综合一二码| 日本韩国精品在线| 日本精品一级二级| 欧美午夜精品久久久久久超碰| 一本久久综合亚洲鲁鲁五月天 | 国产福利91精品| 国产成人综合自拍| 成人免费观看视频| av一区二区三区在线| 99re成人在线| 色天使色偷偷av一区二区 | 欧美色男人天堂| 欧美日产国产精品| 91精品国产麻豆国产自产在线 | 91在线观看污| 欧洲av一区二区嗯嗯嗯啊| 欧美亚洲图片小说| 欧美一区二区大片| 久久久久久久免费视频了| 国产亚洲精品超碰| 亚洲美女屁股眼交3| 午夜欧美一区二区三区在线播放| 天堂久久一区二区三区| 玖玖九九国产精品| 国产乱妇无码大片在线观看| 高清在线不卡av| 在线观看视频一区二区欧美日韩| 欧美老人xxxx18| 久久久久久久久久久99999| 欧美国产激情二区三区| 亚洲综合激情网| 免费看欧美美女黄的网站| 国产成a人亚洲| 在线观看av一区二区| 欧美一区二区免费视频| 日本一区二区三区免费乱视频| 一区二区三区日韩欧美精品 | 1区2区3区精品视频| 午夜影院在线观看欧美| 激情另类小说区图片区视频区| 波多野结衣亚洲| 91精品国产综合久久久久久漫画| 国产夜色精品一区二区av| 一区二区三区欧美久久| 国产综合久久久久影院| 日本高清免费不卡视频| 精品av久久707| 亚洲制服丝袜在线| 国产精品一区二区三区乱码 | 午夜日韩在线观看| 国产精品白丝av| 欧美日韩www| 中文字幕亚洲区| 国产真实乱子伦精品视频| 欧美色图一区二区三区| 国产欧美日韩卡一| 日本在线不卡一区| 在线亚洲高清视频| 国产欧美精品一区二区色综合| 日韩黄色片在线观看| 9i在线看片成人免费| 久久伊99综合婷婷久久伊| 亚洲综合成人在线| 成人开心网精品视频| 337p日本欧洲亚洲大胆色噜噜| 午夜精品福利在线| 色欧美88888久久久久久影院| 久久这里只有精品视频网| 视频一区在线播放| 日本乱码高清不卡字幕| 中文字幕在线不卡一区| 国产一区二区三区免费| 制服丝袜日韩国产| 午夜精品一区二区三区电影天堂 | 亚洲私人影院在线观看| 国产·精品毛片| 久久精品人人做人人爽人人| 美女视频黄 久久| 欧美日韩免费电影| 亚洲国产精品久久人人爱| 91在线视频播放地址| 国产精品私人影院| 成人性生交大片免费看中文网站| 久久一区二区三区国产精品| 毛片av一区二区| 日韩亚洲欧美高清| 蜜桃av一区二区在线观看| 91精品啪在线观看国产60岁| 午夜激情一区二区| 欧美精品久久久久久久多人混战| 亚洲国产视频网站| 欧美色图第一页| 日日摸夜夜添夜夜添精品视频| 欧美日韩成人综合天天影院| 亚洲无线码一区二区三区| 欧美系列在线观看| 午夜私人影院久久久久| 欧美日韩在线观看一区二区| 亚洲国产日韩一区二区| 欧美妇女性影城| 麻豆国产精品777777在线| 精品福利一区二区三区| 国产老肥熟一区二区三区| 日本一区二区电影| 91视频一区二区| 亚洲国产日韩一级| 日韩欧美一级二级三级久久久| 久久99精品久久久久| 国产欧美综合在线| 91亚洲精品久久久蜜桃网站| 亚洲精品菠萝久久久久久久| 欧美日韩aaaaaa| 国内成+人亚洲+欧美+综合在线 | 爽好多水快深点欧美视频| 日韩一区二区三区四区| 国产成人亚洲精品狼色在线 | 樱花影视一区二区| 欧美二区三区91| 国产麻豆精品在线| 亚洲男人电影天堂| 日韩欧美激情在线| 成人视屏免费看|