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

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

?? dco_library.s43

?? ti發布的MSP430 dco庫 使用非常方便
?? S43
字號:
;*******************************************************************************
;   Code for application report - "DCO Library"
;*******************************************************************************
; THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR
; REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY,
; INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
; FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR
; COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE.
; TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET
; POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY
; INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR
; YOUR USE OF THE PROGRAM.
;
; IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
; CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY
; THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED
; OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT
; OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM.
; EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF
; REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS
; OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF
; USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S
; AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF
; YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS
; (U.S.$500).
;
; Unless otherwise stated, the Program written and copyrighted
; by Texas Instruments is distributed as "freeware".  You may,
; only under TI's copyright in the Program, use and modify the
; Program without any charge or restriction.  You may
; distribute to third parties, provided that you transfer a
; copy of this license to the third party and the third party
; agrees to these terms by its first use of the Program. You
; must reproduce the copyright notice and any other legend of
; ownership on each copy or partial copy, of the Program.
;
; You acknowledge and agree that the Program contains
; copyrighted material, trade secrets and other TI proprietary
; information and is protected by copyright laws,
; international copyright treaties, and trade secret laws, as
; well as other intellectual property laws.  To protect TI's
; rights in the Program, you agree not to decompile, reverse
; engineer, disassemble or otherwise translate any object code
; versions of the Program to a human-readable form.  You agree
; that in no event will you alter, remove or destroy any
; copyright notice included in the Program.  TI reserves all
; rights not specifically granted under this license. Except
; as specifically provided herein, nothing in this agreement
; shall be construed as conferring by implication, estoppel,
; or otherwise, upon you, any license or other right under any
; TI patents, copyrights or trade secrets.
;
; You may not use the Program in non-TI devices.
;
;*******************************************************************************
;   DCO Library
;
;   Description; Allows the DCO to be calibrated to a multiple of ACLK
;
;
;   Memory Usage:               <184 bytes
;
;   L. Westlund
;   Version    1.1
;   Texas Instruments, Inc
;   August 2007
;   Built with IAR Embedded Workbench Version: 3.42A
;*******************************************************************************
;Change log
;
;1.0 - Inital version - L.Westlund
;1.1 - Misc. updates - A.Dannenberg
;      * Fixed PUSH/POP inconsistency
;*******************************************************************************
#include <msp430x11x1.h>

            MODULE  DCO_Library
            ;Functions
            PUBLIC  TI_SetDCO
            RSEG    CODE                    ; Code is relocatable
            EVEN

#ifndef TACCTL2_                            ; For Timer_A2 devices
  #define TACCTL2 TACCTL0
  #define TACCR2 TACCR0
#endif

;-------------------------------------------------------------------------------
TI_SetDCO;     Subroutine: Sets DCO to selected frequency based on Delta.
;           R14 and R15 are used, ACLK = 32768/8 Timer_A clocked by DCOCLK
;           R13 used to hold old BCSCTL1 value
;           R12 is the parameter specifying the delta value, MCLK = delta * 4096
;           returns in R12:
;           0 - DCO Set Correctly
;           1 - DCO running at slowest setting
;           2 - DCO running at fastest setting
;           0xff - Timeout Occured while setting DCO
;-------------------------------------------------------------------------------
            push.w  r11                     ; save loop counter
            push.w  r10
            push.w  &TACTL
            push.w  &TACCTL2
            mov.w   #10000, r11             ; max number of times to loop
            clr.w   r15                     ;
            mov.b   &BCSCTL1, r13           ; Copy BC settings to preserve
            #ifndef __MSP430_HAS_BC2__
            and.w   #0xF8,    r13           ; Mask out bits which will change (0-2) 1xx
            #else
            and.w   #0xF0,    r13           ; Mask out bits which will change (0-3) 2xx
            #endif
SetupBC     bis.b   #XT2OFF+DIVA_3,&BCSCTL1 ; ACLK=LFXT1CLK/8, XT2OFF to make a known state
SetupCC2    mov.w   #CM_1+CCIS_1+CAP,&TACCTL2 ; CAP, ACLK
            mov.w   #TASSEL_2+MC_2+TACLR, &TACTL; SMCLK, cont-mode, clear
firstTest   bit.w   #CCIFG,&TACCTL2         ; Test capture flag, skip first short ACLK to avoid error
            jz      firstTest               ;
            bic.w   #CCIFG,&TACCTL2         ; Clear capture flag
TestDCO     dec.w   r11
            jz      ExitTimeOutError        ;
TestDCO2    bit.w   #CCIFG,&TACCTL2         ; Test capture flag
            jz      TestDCO2                ;
            bic.w   #CCIFG,&TACCTL2         ; Clear capture flag
                                            ;
AdjDCO      mov.w   &TACCR2,r14             ; R14 = captured SMCLK
            sub.w   r15,r14                 ; R14 = capture difference
            mov.w   &TACCR2,r15             ; R15 = captured SMCLK
            mov.w   r14, r10                ; r10 = capture difference
            sub.w   r12, r10                ; r10 = difference between desired and actual
            jz      ExitNoError             ; if r12 = r10, DCO set exactly
            cmp.w   #0xFFFF, r10            ; DCO can be off by 1 for a tolerance
            jeq     ExitNoError
            cmp.w   r12,   r14              ; Delta = SMCLK/(32768/8)
            jlo     IncDCO                  ;
DecDCO      dec.b   &DCOCTL                 ; Slow DCO with DCO and MOD
            jc      TestDCO                 ; Slower?
            #ifndef __MSP430_HAS_BC2__
            bit.b   #0x7, &BCSCTL1          ; Can RSEL.x be decremented? 1xx
            #else
            bit.b   #0xF, &BCSCTL1          ; Can RSEL.x be decremented? 2xx
            #endif
            jz      ExitSlowestSetting      ; jmp>DCO at slowest setting
            dec.b   &BCSCTL1                ; Decrement RSEL.x
            jmp     TestDCO                 ;
IncDCO
            #ifndef __MSP430_HAS_BC2__
            inc.b   &DCOCTL                 ; Speed DCO with DCO and MOD
            jnc     TestDCO                 ; Faster?
            cmp.b   #XT2OFF+DIVA_3+0x7, &BCSCTL1 ; Can RSEL.x be increased? 1xx
            jeq     ExitFastestSetting      ; jmp> DCO at fastest setting
            inc.b   &BCSCTL1                ; Increment RSEL.x
            jmp     TestDCO                 ;
            #else
            inc.b   &DCOCTL                 ; Speed DCO with DCO and MOD
            jnc     TestFor16MHz
            cmp.b   #XT2OFF+DIVA_3+0xF, &BCSCTL1 ; Can RSEL.x be increased? 2xx
            jeq     ExitFastestSetting      ; jmp> DCO at fastest setting
            inc.b   &BCSCTL1                ; Increment RSEL.x
            jmp     TestDCO                 ;
            ;-------Compare to built in values
TestFor16MHz
            cmp.b   &CALDCO_16MHZ, &DCOCTL  ; compare current DCO to built in DCO constants
            jne     TestDCO                 ; if they are not equal, leave
            mov.b   &CALBC1_16MHZ, r14      ; move cal values into R14 for manipulation
            bis.b   #XT2OFF+DIVA_3, r14     ; make sure BCSCTL1 cal has same state
            cmp.b   r14, &BCSCTL1           ; if they are the same
            jeq     ExitFastestSetting2xx   ; leave all values in place and exit
            jmp     TestDCO
            ;-------Compare to built in values
            #endif
ExitSlowestSetting
            clr.b   &DCOCTL
            mov.w   #0x01, r12
            jmp     SetDCO_Exit
ExitFastestSetting
            mov.b   #0xFF, &DCOCTL          ; since the DCO previously rolled over
ExitFastestSetting2xx
            mov.w   #0x02, r12
            jmp     SetDCO_Exit
ExitTimeOutError
            mov.w   #0xff, r12
            jmp     SetDCO_Exit
ExitNoError clr.w   r12
SetDCO_Exit clr.w   &TACCTL2                ; Stop CCR2
            #ifndef __MSP430_HAS_BC2__
            bic.b   #0xF8,    &BCSCTL1      ; Mask out bits which will change (0-2) 1xx
            #else
            bic.b   #0xF0,    &BCSCTL1      ; Mask out bits which will change (0-3) 2xx
            #endif
            bis.b   r13, &BCSCTL1           ; copy in old non-DCO BC settings
            pop.w   &TACCTL2
            pop.w   &TACTL
            pop.w   r10
            pop.w   r11
            ret                             ; Return from subroutine
                                            ;
            END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品亚洲二区| 亚洲免费观看高清在线观看| 国产福利一区二区三区视频在线| 亚洲激情一二三区| 久久午夜羞羞影院免费观看| 欧美在线观看一区二区| 国产精选一区二区三区| 亚洲成人动漫在线免费观看| 欧美经典三级视频一区二区三区| 欧美精品粉嫩高潮一区二区| 色综合咪咪久久| 国产永久精品大片wwwapp| 亚洲成人免费在线观看| 亚洲欧美一区二区在线观看| 久久夜色精品一区| 欧美肥大bbwbbw高潮| 在线观看免费亚洲| 99re8在线精品视频免费播放| 国产呦萝稀缺另类资源| 日本在线不卡一区| 亚洲国产中文字幕在线视频综合| 中文字幕一区日韩精品欧美| 久久久久久久久久久久电影| 欧美电影免费观看完整版| 欧美少妇性性性| 一本在线高清不卡dvd| 成人性生交大片免费看中文网站| 麻豆成人免费电影| 美女视频黄久久| 日韩国产一区二| 日韩成人av影视| 日韩成人一级片| 免费人成网站在线观看欧美高清| 亚洲成人第一页| 亚洲韩国一区二区三区| 亚洲成a天堂v人片| 亚洲福利电影网| 亚洲第一福利视频在线| 亚洲国产中文字幕| 亚洲午夜av在线| 午夜精品久久久久久久久久久| 亚洲第一主播视频| 丝袜美腿成人在线| 日韩激情在线观看| 久草中文综合在线| 精品夜夜嗨av一区二区三区| 精品无人码麻豆乱码1区2区| 麻豆精品视频在线观看免费| 国产在线播放一区三区四| 国产精品一区二区久久精品爱涩| 国产精品911| 99r精品视频| 色八戒一区二区三区| 欧美中文字幕一区二区三区| 91麻豆精品国产自产在线观看一区 | 日韩欧美中文字幕精品| 精品日韩一区二区| 国产日韩亚洲欧美综合| 成人免费在线观看入口| 亚洲精品国产无套在线观| 亚洲国产精品一区二区久久 | 国产农村妇女精品| 国产精品视频看| 亚洲制服丝袜av| 免费在线视频一区| 国产成人免费av在线| 色综合久久88色综合天天6| 欧美日韩免费电影| 欧美mv日韩mv国产网站app| 欧美国产一区在线| 夜夜精品视频一区二区| 久久精品国产精品亚洲红杏| 成人免费视频视频在线观看免费| 一本色道久久综合狠狠躁的推荐| 欧美巨大另类极品videosbest| 久久先锋资源网| 亚洲激情中文1区| 另类综合日韩欧美亚洲| 99久久久久免费精品国产| 欧美久久久久久久久久| 久久久久久电影| 亚洲一区免费观看| 国产老肥熟一区二区三区| 色伊人久久综合中文字幕| 日韩精品资源二区在线| 亚洲人吸女人奶水| 久久精品99国产精品日本| 99精品久久99久久久久| 欧美成人精品3d动漫h| 国产精品传媒入口麻豆| 亚洲国产成人tv| 国产一区二区在线电影| 色婷婷综合久久久久中文| 日韩视频中午一区| 久久久www成人免费无遮挡大片| 中文字幕一区二区视频| 日韩va欧美va亚洲va久久| 国产高清在线精品| 欧美精选一区二区| 国产亚洲1区2区3区| 精品99999| 亚洲国产成人porn| 国产二区国产一区在线观看| 欧美视频日韩视频在线观看| 久久久久久毛片| 丝袜美腿亚洲综合| 欧美亚洲丝袜传媒另类| 久久综合精品国产一区二区三区 | 国产精品久99| 免费一区二区视频| 99久久综合狠狠综合久久| 欧美午夜精品久久久久久超碰| 久久先锋影音av| 久久99国产精品久久99果冻传媒| 91亚洲精品一区二区乱码| 欧美大片国产精品| 亚洲综合网站在线观看| 成人午夜又粗又硬又大| 日韩亚洲电影在线| 日韩中文字幕一区二区三区| 成人一道本在线| 欧美久久久久久久久中文字幕| 中文字幕在线不卡一区二区三区| 男人操女人的视频在线观看欧美 | 欧美日韩电影一区| 国产精品久久一级| 国产综合色在线| 欧美一级一区二区| 亚洲最新在线观看| 国产一区二区美女| 欧美一区二区黄| 午夜视频在线观看一区| 91网页版在线| 国产免费成人在线视频| 国产中文一区二区三区| 91免费视频网址| 国产精品网站导航| 国产麻豆精品95视频| 精品三级在线观看| 美女网站色91| caoporn国产一区二区| 国产亚洲成aⅴ人片在线观看| 麻豆精品在线视频| 91.com视频| 首页亚洲欧美制服丝腿| 欧美日韩国产一区| 一区二区高清视频在线观看| 色综合天天做天天爱| 亚洲国产岛国毛片在线| 丁香五精品蜜臀久久久久99网站 | 在线成人av网站| 午夜影院久久久| 欧美肥妇毛茸茸| 亚洲一线二线三线视频| 欧美日韩你懂得| 首页国产欧美久久| 9191久久久久久久久久久| 午夜精品一区二区三区三上悠亚| 欧美日韩在线亚洲一区蜜芽| 2020日本不卡一区二区视频| 免费成人结看片| 精品国产亚洲在线| 国产一区在线看| 国产午夜亚洲精品羞羞网站| 精品在线视频一区| xvideos.蜜桃一区二区| 国产一区二区三区久久悠悠色av| 欧美极品少妇xxxxⅹ高跟鞋| 99久久久久免费精品国产 | 国产精品久久久久aaaa| 99久久国产综合精品麻豆| 久久精品一区蜜桃臀影院| www.欧美亚洲| 国产精品久久久久桃色tv| av成人老司机| 亚洲成av人片www| 91精品国产综合久久久久| 精品一二三四区| 中文字幕一区二区在线观看| 在线视频你懂得一区| 欧美96一区二区免费视频| 日韩免费在线观看| 高清成人在线观看| 伊人婷婷欧美激情| 欧美视频一区二区| 视频在线观看国产精品| 精品国产青草久久久久福利| av中文字幕在线不卡| 天天av天天翘天天综合网色鬼国产| 在线成人高清不卡| 国产成人精品免费网站| 亚洲欧美日韩久久| 欧美日韩精品福利| 国产成人免费网站| 久久九九久精品国产免费直播| 91国产精品成人| 国产精品一区二区三区四区| 亚洲一二三四在线| 久久天堂av综合合色蜜桃网| 一本色道久久综合精品竹菊|