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

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

?? audio.asm

?? CCP1模塊使用的有關PIC應用程序Trabicom On Board Engine Controller
?? ASM
字號:
; audio.asm

; Program to demonstrate the use of PWM using the CCP modules on the PIC 
; by driving the audio output on the Raven board.
;
; PWM output is a square wave with the following characteristics
;
;                Period
;          |<----------------->|
;
;          |-------|           |-------|
;          |       |           |       |
;   -------|       |-----------|       |-------
;          
;          :<----->:           :
;          : Duty  :           :
;          : Cycle :       TMR2 = PR2
;          :       :         
;      TMR2=PR2   TMR2 = Duty Cycle
;
; You begin with PR2 set to some value.  Timer2 is started and when the 
; Timer2 count register is equal to PR2, the PWM output goes high. It 
; then resets Timer2 and counts until the Timer2 count equals the duty 
; cycle counter (CCPRxL:CCP1CON) and then the signal goes low again.  
; Then the process starts again.  So the period consists of a high part
; and a low part, defined by the period and the duty cycle.  Note that 
; the duty cycle need not be one-half of the period.  Normally the duty 
; cycle is reported as a percentage, such as 65%, meaning that 65% of the 
; period the signal is high.
;
; In this instance, we want to generate signals that can be used to drive 
; a speaker, so we will have a duty cycle of 50% and we will want to vary 
; the frequency (by varying the period) to get different tones.

        LIST P=16F877, R=DEC

        INCLUDE "P16F877.inc"

; Definitions

;  __CONFIG _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC20

; Define start of vars

RAM        EQU   0x20

; Variables

Temp       EQU   RAM+0
DTemp1     EQU   RAM+1
DTemp2     EQU   RAM+2
Counter    EQU   RAM+3

; Start of the Program

        ORG       3
        goto      Start

        ORG       4
Timer1ISR
; Since PWM won't give us the low end frequencies we want, we will generate our own.
; Timer1 will be set up to interrupt every 1/4000 seconds to give us the desired
; resolution.  Then, we will set our own version of T2CON to determine the period.
; In this case, the duty cycle is always 50%, so its not a problem.
;

; 
        ORG       0x20

; The frequencies are numbered 0 through 15 and represent an uniformly spaced
; group from 1225 Hz to 9470 Hz in steps of about 550Hz.

GetFreq 
        addwf     PCL,F
        retlw     33
        retlw     48
        retlw     63
        retlw     77
        retlw     92
        retlw     107
        retlw     122
        retlw     137
        retlw     151
        retlw     166
        retlw     181
        retlw     196
        retlw     211
        retlw     225
        retlw     240
        retlw     255

SongNote
        addwf     PCL,F
        retlw     0x0F
        retlw     0x0E
        retlw     0x1B
        retlw     0x0C
        retlw     0x0B
        retlw     0x09
        retlw     0x0A
        retlw     0x0B
        retlw     0x0C
        retlw     0x0D
        retlw     0x1A
        retlw     0x1C

Start

        bsf       STATUS, RP0
        bcf       TRISC,2                    ; PWM output port
        bcf       STATUS, RP0

        call      PWMConfig

; Go through a cycle of creating some special sounds.  We aren't far from music
; here.  Everybody sing along!!

        movlw     11
        movwf     Counter
main_loop
        movf      Counter,W
        call      SongNote
        call      PlayNote
        decfsz    Counter,F
        goto      main_loop
        movlw     11
        movwf     Counter
        goto      main_loop

; Sound support

PlayNote
        movwf     Temp
        andlw     0x0F
        call      GetFreq
        call      PWMSetPeriod
        movlw     250
        btfss     Temp,7
        movlw     100
        call      Delay_ms
        return

            
; -------------------------------------------------------------------
; PWM routines

; We want to have frequencies in the range of 100 Hz to about 10,000 Hz, so
; we need periods of 0.01 to 0.0001.  Given the formula:
;    PWM period = [PR2 + 1] * 4 / Fosc * Timer2 Prescale Value
; 
; and an oscillator frequency of 20Mhz (Fosc),
; For a 20 MHz clock, the frequency table is:
;
;  Prescaler         Pr2=1      Pr2=255
;     1              5 MHz       1.9608 kHz
;     4              1.25 MHz    4.902  kHz
;    16              0.3125 MHz  1.225  kHz
;
; So we will have to use two different prescalers.  One for use a prescaler of 4 for Timer2 and let Pr2 vary from 208 down 
; to about 0.

PWMConfig
; Initialize CCP1

        movlw       255
        call        PWMSetPeriod

        movlw       b'00100000'         ; duty cycle is 50% = 128
        movwf       CCPR1L

        movlw       b'00000110'         ; Timer 2 is on and prescaler is 16
        movwf       T2CON

        movlw       b'00001100'         ; PWM mode with two LSB's = 00
        movwf       CCP1CON

        return
        

PWMSetPeriod
        bsf         STATUS,RP0      
        movwf       PR2          ; set period

        bcf         STATUS,C
        rrl         PR2,W        ; and duty cycle = period/2
        movwf       CCPR1L
        bcf         STATUS,RP0
        return

; -----------------------------------------------
; Output a value to the LED bar

DispLedBar

; Enable the led bar and put the value in W there.

        movwf     Temp             ; save W
        movlw     0x12
        movwf     PORTA

        comf      Temp,W
        movwf     PORTD

        return

; -------------------------
; Delay milliseconds

Delay_ms
        bsf     STATUS,RP0
        bsf     STATUS,RP1

        movwf  	DTemp1
dloop_0	                ; number of ms to delay
        movlw  	250
        movwf  	DTemp2
dloop_1	                ; 1 ms delay (approximately)
        fill (nop), 17
        decfsz 	DTemp2,F
        goto    dloop_1
        decfsz 	DTemp1,F
        goto   	dloop_0

        bcf     STATUS,RP1
        bcf     STATUS,RP0
        return

        END



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品人在线二区三区| 91蜜桃传媒精品久久久一区二区| 91精品国产色综合久久不卡蜜臀 | 久久精品一区四区| 国产激情91久久精品导航| 欧美激情艳妇裸体舞| 97se狠狠狠综合亚洲狠狠| 亚洲丶国产丶欧美一区二区三区| 91精品在线观看入口| 国产乱码精品一品二品| 国产精品国产自产拍在线| 在线免费观看日本欧美| 麻豆精品久久精品色综合| 久久精品一区二区| 色老汉av一区二区三区| 日本欧美肥老太交大片| 中文字幕欧美日韩一区| 欧美亚洲综合在线| 国产激情视频一区二区三区欧美| 18欧美亚洲精品| 日韩欧美国产电影| 91影视在线播放| 蜜臀久久久久久久| 中文在线免费一区三区高中清不卡| 色综合久久88色综合天天免费| 午夜精品久久久久久不卡8050| 久久天堂av综合合色蜜桃网| 在线观看欧美精品| 国产高清不卡一区二区| 亚洲国产日韩精品| 国产欧美一区二区精品久导航| 91国偷自产一区二区三区成为亚洲经典| 青青青爽久久午夜综合久久午夜| 国产精品久久精品日日| 日韩欧美成人午夜| 色综合天天综合网国产成人综合天 | 国产美女精品在线| 亚洲一区二区三区免费视频| 久久丝袜美腿综合| 欧美精品三级在线观看| 成人av免费在线| 激情综合五月天| 亚洲在线观看免费视频| 国产精品美女久久久久久久久久久 | 成人av网站在线观看免费| 麻豆成人免费电影| 亚洲成a人v欧美综合天堂下载 | 亚洲精品在线一区二区| 欧美三级电影一区| 91在线丨porny丨国产| 国产寡妇亲子伦一区二区| 免费观看在线综合色| 亚洲国产精品久久久久婷婷884| 国产精品―色哟哟| 久久亚洲私人国产精品va媚药| 欧美精品18+| 欧美系列日韩一区| 91免费看`日韩一区二区| www.视频一区| 成人18精品视频| 成人午夜视频在线| 懂色中文一区二区在线播放| 韩国成人在线视频| 久久成人羞羞网站| 青青国产91久久久久久 | 精品亚洲porn| 久久精品久久99精品久久| 午夜精品久久久久久久久| 午夜视频一区在线观看| 亚洲电影在线免费观看| 亚洲综合一区二区| 亚洲高清久久久| 日韩国产欧美在线播放| 日韩制服丝袜av| 麻豆久久久久久久| 久久国产尿小便嘘嘘尿| 激情小说亚洲一区| 国产成人高清在线| 国产99久久久久| 成人黄色小视频在线观看| 成人午夜激情在线| 99re这里只有精品6| 91麻豆成人久久精品二区三区| 99国产精品久久久久久久久久| av网站一区二区三区| 色国产综合视频| 欧美情侣在线播放| 欧美大片在线观看一区| 久久久精品日韩欧美| 日本一区二区三级电影在线观看 | 男女男精品视频| 激情久久久久久久久久久久久久久久| 精彩视频一区二区三区| 成人午夜大片免费观看| 一本一道波多野结衣一区二区| 欧美唯美清纯偷拍| 欧美一级二级在线观看| 久久久久久久国产精品影院| 亚洲欧美综合色| 婷婷综合五月天| 国产乱人伦精品一区二区在线观看| 成人综合在线网站| 色老综合老女人久久久| 日韩写真欧美这视频| 国产日韩成人精品| 亚洲资源在线观看| 极品美女销魂一区二区三区 | 色综合久久中文综合久久牛| 欧美高清精品3d| 国产日本亚洲高清| 亚洲一级电影视频| 国产精品亚洲午夜一区二区三区 | 卡一卡二国产精品| 成人黄色综合网站| 制服丝袜中文字幕一区| 国产欧美日韩视频一区二区| 一区二区三区免费观看| 久久机这里只有精品| 色综合色综合色综合色综合色综合| 欧美一级一区二区| 亚洲少妇30p| 精品一区二区三区香蕉蜜桃| 91欧美一区二区| www国产成人| 亚洲gay无套男同| www.日韩av| 欧美xxx久久| 亚洲第一久久影院| 99r国产精品| 精品国产免费人成电影在线观看四季| 一区二区在线观看视频| 国产在线不卡一区| 欧美老年两性高潮| 亚洲欧美视频在线观看| 国产一区二区调教| 91精品国产欧美一区二区18| 一区二区三区在线视频观看| 国产乱码精品1区2区3区| 91精品国产综合久久久蜜臀粉嫩 | 91福利视频久久久久| 久久久久久久一区| 日韩制服丝袜av| 91九色最新地址| 国产精品女主播av| 国产乱码精品一区二区三区av| 欧美日韩大陆在线| 一区二区三区久久| 91麻豆免费看| 亚洲视频小说图片| 成人综合激情网| 久久精品亚洲乱码伦伦中文| 美女精品自拍一二三四| 欧美日韩午夜精品| 亚洲综合一区在线| 色综合天天狠狠| 一区二区三区欧美在线观看| 99精品久久免费看蜜臀剧情介绍| 欧美国产乱子伦| 国产69精品久久777的优势| 久久综合色之久久综合| 麻豆91精品91久久久的内涵| 日韩欧美激情一区| 精品一区二区免费看| 欧美mv日韩mv国产网站| 国产乱人伦偷精品视频免下载| 26uuuu精品一区二区| 国产高清不卡二三区| 国产精品区一区二区三区| 成人午夜视频网站| 136国产福利精品导航| 色婷婷av久久久久久久| 亚洲一区在线视频| 3d动漫精品啪啪1区2区免费| 美女网站色91| 26uuu亚洲婷婷狠狠天堂| 国产精品一二一区| 中文字幕在线免费不卡| 91美女精品福利| 亚洲综合av网| 欧美大尺度电影在线| 国产一区二区电影| 国产欧美精品日韩区二区麻豆天美| 粉嫩在线一区二区三区视频| 亚洲人成小说网站色在线 | 6080国产精品一区二区| 日韩avvvv在线播放| 久久亚洲一区二区三区明星换脸| 丁香婷婷综合激情五月色| 一区二区在线电影| 欧美日韩三级在线| 韩国中文字幕2020精品| 国产精品免费观看视频| 欧美体内she精视频| 蜜臂av日日欢夜夜爽一区| 国产欧美精品一区二区三区四区| 91久久精品国产91性色tv| 日本不卡一区二区三区| 国产精品免费观看视频| 欧美日韩国产美| 国产高清成人在线|