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

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

?? sub_apply_menu_choice.s

?? 該文件包含30F的電機控制程序
?? S
字號:
;START_HEADER
;
; dsPIC30F6014 Demo Source File
; (c) Copyright 2005 Microchip Technology, All rights reserved
;
; --------------------------------------------------------------------------
; File Revision History:
; --------------------------------------------------------------------------
;
; $Log: sub_apply_menu_choice.s,v $
; Revision 1.3  2005/04/04 23:39:13  VasukiH
; Updated comments in header
;
; Revision 1.2  2005/04/04 23:14:51  VasukiH
; Updates for MPLAB C30 v1.30 compatiblity
;
; Revision 1.1.1.1  2003/08/23 00:38:32  VasukiH
; First import of demo source into CVS Repository
;
;
;
; --------------------------------------------------------------------------
;
; Software and Development Tools Info:
; --------------------------------------------------------------------------
; Tool                          Version
; --------------------------------------------------------------------------
; MPLAB IDE                     7.0
; MPLAB C30 Toolsuite           1.30
; dsPICDEM(TM) Processor Board  1.10
; --------------------------------------------------------------------------
;
; File Notes:
;
;
;END_HEADER


.include "common.inc"
.include "p30fxxxx.inc"

.global  BypassCtrl, ScreenSelection, CursorChanged

.section .ndata, data, near
.align 2
ScreenSelection:.hword 0x0000                   ;Variable that tracks the selected Menu Screen

BypassCtrl:     .hword 0x0000                   ;In the most typical scenario, command and data
                                                ;bytes sent to the LCD Controller are interleaved
                                                ;In some cases, when consecutive data bytes need
                                                ;to be sent to the LCD controller, this flag is set
                                                ;to enable a decision block in the SPI2 ISR

CursorChanged:  .hword 0xFFFF                   ;Flag that tracks whether the cursor in the DTMF
                                                ;screen needs to be changed from the current position
                                                ;or not.


.global         _sub_apply_menu_choice

.section        .text

_sub_apply_menu_choice:

        push.d  w0                              ;Save w0, w1, w2 and w3
        push.d  w2


        mov     ScreenSelection, w0             ;Load w0 with current Menu Screen selection
        mov     SwitchPress, w1                 ;Load w1 with the value of last switch pressed


        cp      w0, #0                          ;Is Current Screen = 0 (Power-up screen)?
        bra     nz, CheckScreen1                ;If not then check Screen = 1
                                                ;Else,
        btss    w1, #1                          ;In Screen 0 (Power-up Screen),
        bra     exit_routine                    ;only Switch S1 may be pressed.
                                                ;For any other switch, exit routine
        mov     #1, w2                          ;For S1, change current screen to 1=Main Menu
        mov     w2, ScreenSelection
        bra     exit_routine

CheckScreen1:
        cp      w0, #1                          ;Is current screen = 1 (Main Menu)?
        bra     nz, CheckScreen2                ;If not check Screen 2
        btsc    w1, #1                          ;Else, check which switch was pressed
        bra     exit_routine                    ;If S1 was pressed in Screen1, then exit routine
        btsc    w1, #2                          ;If S2 was pressed in Screen1, then set
        bra     SetScreen2                      ;screen selection to 2 (Data Acquisition display)
        btsc    w1, #3                          ;If S3 was pressed in Screen1, then set
        bra     SetScreen3                      ;screen selection to 3 (DSP display)
        btsc    w1, #4                          ;If S4 was pressed in Screen1, then set
        bra     SetScreen4                      ;screen selection to 4 (DTMF display)
        bra     exit_routine

SetScreen2:
        bclr    SwitchPress, #2
        mov     #2, w2
        mov     w2, ScreenSelection
        bra     exit_routine

SetScreen3:
        bclr    SwitchPress, #3
        mov     #3, w2
        mov     w2, ScreenSelection
        bra     exit_routine

SetScreen4:
        bclr    SwitchPress, #4
        mov     #4, w2
        mov     w2, ScreenSelection
        bra     exit_routine

CheckScreen2:
        cp      w0, #2                          ;Is current Screen selection = 2 (Data Acq.)?
        bra     nz, CheckScreen3                ;If not then check Screen = 3
        btsc    w1, #1                          ;Else check the switch pressed.
        bra     DA_SetScreen1                   ;If S1 was pressed in Screen 2, then set
                                                ;screen selection to Main Menu (Screen 1)
        bra     exit_routine                    ;Else exit routine

DA_SetScreen1:
        mov     #1, w2
        mov     w2, ScreenSelection
        bra     exit_routine

CheckScreen3:
        cp      w0, #3                          ;Is current screen selection = 3 (DSP Display)?
        bra     nz, CheckScreen5                ;Else check screen 5 (DTMF with cursor enabled
                                                ;and positioned)
                                                ;NOTE: Screen=4 is a special DTMF screen without
                                                ;any cursor. Once Screen4 is displayed fully, the
                                                ;screen selection automatically changes to 5 and
                                                ;positions a cursor under the digits 0-9 on the
                                                ;DTMF screen. So User can never make any choices
                                                ;on screen 4

        btsc    w1, #1                          ;If screen=3 then check switches
        bra     DSP_SetScreen1                  ;If S1 was pressed set screen selection to 1 (Main
                                                ;Menu)
        btsc    w1, #2                          ;If S2 was pressed, then change Filter Type
        bra     DSP_SetFilterType               ;Three choices are cycled - FIR, IIR and No Filtering
        bra     exit_routine

DSP_SetScreen1:
        mov     #1, w2
        mov     w2, ScreenSelection
        bra     exit_routine

DSP_SetFilterType:
        mov     FilterType, w0
        cp      w0, #0
        bra     nz, CurFltTypeFir
CurFltTypeIir:
        inc     FilterType
        mov     #ANxInputSignal, w1
        mov     w1, ANxInputSignalPtr
        bclr    SwitchPress, #2
        bra     exit_routine

CurFltTypeFir:
        cp      w0, #1
        bra     nz, CurFltTypeNone
        inc     FilterType
        mov     #FilteredOutput, w1
        mov     w1, ANxInputSignalPtr
        bclr    SwitchPress, #2
        bra     exit_routine

CurFltTypeNone:
        cp      w0, #2
        bra     nz, exit_routine
        clr     FilterType
        mov     #ANxInputSignal, w1
        mov     w1, ANxInputSignalPtr
        bclr    SwitchPress, #2
        bra     exit_routine


CheckScreen5:
        cp      w0, #5                          ;Is screen selection = 5 (DTMF with cursor)?
        bra     nz, exit_routine                ;If not then exit routine.
        btsc    w1, #1                          ;If yes, then examine Switch pressed
        bra     DTMF_SetScreen1                 ;S1 will return to screen 1 (main menu)
        btsc    w1, #2
        bra     DTMF_IncCursor                  ;S2 will increment a cursor
        btsc    w1, #3
        bra     DTMF_SelectTone                 ;S3 will select the tone where cursor is
                                                ;positioned for playing
        btsc    w1, #4                          ;S4 will initate playing a sequence of 10 digits
        bra     DTMF_PlaySeq
        bra exit_routine

DTMF_SetScreen1:
        mov     #0x0001, w2
        mov     w2, ScreenSelection             ;S1 always goes to Main Menu
        mov     #0, w2
        mov     w2, LcdCharCnt
        mov.b   #0x0A, w0
        mov.b   WREG, CursorPos
        bclr    SPI2STAT, #SPIROV               ;Clear overflow flag
        clr     CtrlOrData
        bset    LATG, #LATG9                    ;Deselect Slave LCD controller
        bclr    LATG, #LATG9                    ;Select Slave LCD controller
        mov.b   SPI2BUF, WREG
        mov.b   #0x80, w0
        mov.b   WREG, SPI2BUF
wait_until_tx:
        btss    SPI2STAT, #SPIRBF
        bra     wait_until_tx
        bra     exit_routine


DTMF_IncCursor:
        bclr    SwitchPress, #2
        inc.b   CursorPos
        mov.b   CursorPos, WREG
        cp.b    w0, #0x13
        bra     le, NoCursorRollover
        mov.b   #0x0A, w0
NoCursorRollover:
        mov.b   WREG, CursorPos
        setm    CursorChanged
        bra     exit_routine

DTMF_SelectTone:
        bclr    SwitchPress, #3
        btsc    DCIUnavailable, #1              ;Is the DCI available for use?
        bra     exit_routine
        mov     CursorPos, w2
        mov     #DTMF_disp, w3
        mov.b   [w2+w3], w0                     ;Offset into character array where
        rcall   _sub_dci_kickoff                ;Digits are stored.
        bra     exit_routine

DTMF_PlaySeq:
        bclr    SwitchPress, #4
        btsc    DCIUnavailable, #1              ;Is the DCI available for use?
        bra     exit_routine
        cp0     PlayRecSequence
        bra     nz, exit_routine
        setm    PlayRecSequence                 ;Set a flag indicating that a recorded
        mov     #DtmfSeq, w0                    ;sequence will be played.
        mov     w0, DtmfSeqPtr


exit_routine:
        pop.d   w2                              ;Restore w0, w1, w2 and w3
        pop.d   w0
        return




.end                                            ;EOF


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产目拍亚洲精品99久久精品| 亚洲免费av高清| 国产精品色婷婷| 日欧美一区二区| 成人精品国产一区二区4080| 久久99国内精品| 久久九九99视频| 五月天中文字幕一区二区| 国产成人精品三级| 日韩一卡二卡三卡| 亚洲成人一区二区| 91日韩精品一区| 国产午夜精品福利| 久久成人免费日本黄色| 欧美日韩一区二区在线观看视频| 欧美激情艳妇裸体舞| 美女网站色91| 欧美一区二区三区免费在线看| 亚洲精品国产a| 91精品在线免费| 一区二区三区中文字幕| 不卡视频一二三| 中文字幕欧美激情一区| 国产精品一区免费视频| www.一区二区| 国产亚洲精品bt天堂精选| 久久国产福利国产秒拍| 91精选在线观看| 日本不卡一二三区黄网| 欧美日韩大陆在线| 日韩在线卡一卡二| 欧美日韩成人综合在线一区二区| 午夜视频一区在线观看| 欧美日韩国产在线观看| 亚洲第一福利视频在线| 欧美日韩情趣电影| 日韩电影免费在线观看网站| 欧美日韩成人在线一区| 免费成人在线观看视频| 精品国产91亚洲一区二区三区婷婷| 青青青伊人色综合久久| 精品少妇一区二区三区在线视频 | 中文字幕一区二区三区在线播放| 日韩精品91亚洲二区在线观看| 99re在线精品| 中文字幕免费在线观看视频一区| 国产精品亚洲专一区二区三区| 精品国产网站在线观看| 国产黑丝在线一区二区三区| 欧美激情在线看| 成人国产精品视频| 亚洲精品欧美在线| 欧美福利一区二区| 国产真实乱对白精彩久久| 欧美高清在线一区| 一本色道a无线码一区v| 日韩av中文字幕一区二区三区| 日韩欧美中文字幕公布| 国产99久久久国产精品免费看 | 日韩一区二区三区四区| 久久精工是国产品牌吗| 欧美va天堂va视频va在线| 国产一区二区三区久久久 | 欧美一区在线视频| 精品在线免费视频| 国产精品二区一区二区aⅴ污介绍| 99精品热视频| 蜜臀久久久99精品久久久久久| 久久亚洲免费视频| 色先锋久久av资源部| 捆绑调教一区二区三区| 国产精品福利一区| 欧美一区二区三区在线看| 国产福利一区在线观看| 亚洲va天堂va国产va久| 久久美女高清视频| 欧美午夜不卡视频| 国产成人免费视频精品含羞草妖精| 亚洲人精品午夜| 精品捆绑美女sm三区| 色综合天天做天天爱| 日韩午夜在线影院| 色综合天天综合给合国产| 看电视剧不卡顿的网站| 一区二区三区精品视频| 2017欧美狠狠色| 欧美日韩午夜影院| 91丨porny丨首页| 国产毛片精品国产一区二区三区| 亚洲国产综合在线| 亚洲欧美色一区| 国产婷婷精品av在线| 91精品国产色综合久久不卡蜜臀| 91丨九色丨尤物| 国产成人免费视频精品含羞草妖精| 日韩精品电影一区亚洲| 亚洲自拍偷拍九九九| 日韩美女精品在线| 国产片一区二区| 欧美精品一区二区在线播放| 91精品国产欧美一区二区成人| 日本韩国精品一区二区在线观看| 成人做爰69片免费看网站| 久久99深爱久久99精品| 日韩精品亚洲一区二区三区免费| 一区二区三区四区蜜桃| 亚洲男人天堂av网| 亚洲欧美日韩人成在线播放| 国产精品天干天干在线综合| 久久久99久久精品欧美| 国产亚洲制服色| 国产亚洲欧美中文| 久久精品一区四区| 国产欧美综合色| 国产欧美一区二区三区在线老狼| 26uuu国产电影一区二区| 精品国产乱码久久久久久牛牛| 欧美一级电影网站| 国v精品久久久网| 日韩精品一二区| 日本人妖一区二区| 青青草国产精品亚洲专区无| 美国十次了思思久久精品导航| 日韩高清不卡一区二区| 蜜臀久久99精品久久久久久9| 毛片不卡一区二区| 国产福利91精品一区| 懂色av一区二区三区免费看| 成人激情午夜影院| 色综合久久中文字幕| 欧美日韩在线直播| 日韩三级免费观看| 久久久久久9999| 日韩一区在线播放| 亚洲国产欧美另类丝袜| 免费在线观看一区二区三区| 国精产品一区一区三区mba桃花| 风间由美一区二区三区在线观看 | 国产乱人伦偷精品视频免下载| 国产成人免费视频网站高清观看视频| 国产91对白在线观看九色| 91网站在线观看视频| 欧美精品丝袜久久久中文字幕| 精品久久久久久久久久久久久久久 | 韩国午夜理伦三级不卡影院| 国产精品一级在线| 在线一区二区三区四区五区| 91麻豆精品91久久久久久清纯 | 国产制服丝袜一区| 91免费看片在线观看| 欧美一区二区人人喊爽| 精品国产凹凸成av人导航| 国产精品成人一区二区艾草| 日日夜夜精品视频天天综合网| 97久久精品人人澡人人爽| 欧美视频三区在线播放| 精品国产区一区| 亚洲一二三区在线观看| 国产精品一区不卡| 欧美精品v日韩精品v韩国精品v| 久久精品男人的天堂| 一区二区三区在线免费视频| 国产米奇在线777精品观看| 在线免费观看日本一区| 久久久久久97三级| 日韩avvvv在线播放| 色综合久久综合网| 久久久久久99精品| 日韩精品一级中文字幕精品视频免费观看 | 欧美丝袜丝交足nylons图片| 久久精品人人做人人综合| 午夜成人在线视频| aaa欧美日韩| 久久精品亚洲国产奇米99| 午夜a成v人精品| 在线免费观看日韩欧美| 国产精品天干天干在观线| 免费高清在线一区| 欧美日韩国产在线观看| 亚洲人成人一区二区在线观看| 国产精品一二三四五| 日韩欧美的一区二区| 婷婷综合在线观看| 欧美体内she精视频| 亚洲欧美日本韩国| 成人av网站在线观看| 久久精品人人做人人爽人人| 成人av一区二区三区| 欧美天堂一区二区三区| 中文字幕中文字幕在线一区| 国产精品一二三区在线| 精品国产91洋老外米糕| 日本少妇一区二区| 7777精品伊人久久久大香线蕉 | 99精品视频在线观看免费| 国产亚洲成年网址在线观看| 精品系列免费在线观看| 日韩免费一区二区| 精品在线播放免费| www激情久久|