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

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

?? csr_1.asm

?? 此文件是一個(gè)源程序代碼
?? ASM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
;;*****************************************************************************
;;*****************************************************************************
;;  FILENAME: CSR_1.asm
;;   Version: 1.1, Updated on 2005/10/13 at 09:13:22
;;  Generated by PSoC Designer ver 4.2  b1013 : 02 September, 2004
;;
;;  DESCRIPTION: CSR_1 User Module software implementation file
;;                for the 21xxx PSoC family of devices.
;;-----------------------------------------------------------------------------
;;  Copyright (c) Cypress MicroSystems 2000-2005. All Rights Reserved.
;;*****************************************************************************
;;*****************************************************************************

include "m8c.inc"
include "memory.inc"
include "CSR_1.inc"

;-----------------------------------------------
;  Global Symbols
;-----------------------------------------------

export _CSR_1_Start
export  CSR_1_Start
export _CSR_1_Stop
export  CSR_1_Stop
export _CSR_1_StartScan
export  CSR_1_StartScan
export _CSR_1_StopScan
export  CSR_1_StopScan
export _CSR_1_GetScanStatus
export  CSR_1_GetScanStatus
export _CSR_1_ClearSwitches
export  CSR_1_ClearSwitches
export _CSR_1_iReadSwitch
export  CSR_1_iReadSwitch

export _CSR_1_iGetPortPin
export  CSR_1_iGetPortPin
export _CSR_1_EnableSwitch
export  CSR_1_EnableSwitch
export _CSR_1_DisableSwitch
export  CSR_1_DisableSwitch
export _CSR_1_SetDacCurrent
export  CSR_1_SetDacCurrent
export _CSR_1_SetScanSpeed
export  CSR_1_SetScanSpeed

export  CSR_1_Switch_Table
export _CSR_1_Switch_Table

;-----------------------------------------------
; Variable Allocation
;-----------------------------------------------
AREA InterruptRAM (RAM, REL, CON)

 CSR_1_bBitMask:                        BLK  1  ; Temp bitmask byte

_CSR_1_bSwitchNum:                              ; Current switch to scan
 CSR_1_bSwitchNum:                      BLK  1

_CSR_1_bfStatus:                                ; Status byte
 CSR_1_bfStatus:                        BLK  1

_CSR_1_bScanStart:                              ; First switch to scan
 CSR_1_bScanStart:                      BLK  1

_CSR_1_bScanEnd:                                ; Last switch to scan
 CSR_1_bScanEnd:                        BLK  1

_CSR_1_iaSwResult:                              ; Array of ints, one entry for each switch
 CSR_1_iaSwResult:                      BLK  (2*CSR_1_TotalSwitchCount)

_CSR_1_bPWMPeriod:                              ; Last switch to scan
 CSR_1_bPWMPeriod:                      BLK  1

export  CSR_1_bfStatus
export _CSR_1_bfStatus
export  CSR_1_bSwitchNum
export _CSR_1_bSwitchNum
export  CSR_1_iaSwResult
export _CSR_1_iaSwResult

export  CSR_1_bScanStart
export _CSR_1_bScanStart
export  CSR_1_bScanEnd
export _CSR_1_bScanEnd

export  CSR_1_bPWMPeriod
export _CSR_1_bPWMPeriod

;@PSoC_UserCode_INIT@ (Do not change this line.)
;---------------------------------------------------
; Insert your custom declarations below this banner
;---------------------------------------------------

;------------------------
; User Includes
;------------------------


;------------------------
; User Constant Definitions
;------------------------


;------------------------
; User Variable Allocation
;------------------------


;---------------------------------------------------
; Insert your custom declarations above this banner
;---------------------------------------------------
;@PSoC_UserCode_END@ (Do not change this line.)

;------------------------
;  Constant Definitions
;------------------------

AREA UserModules (ROM, REL, CON)

LSB:  equ  1
MSB:  equ  0

;---------------------------------
; Tables below generated by Wizard
;---------------------------------

; The Switch Table consist of two bytes for each switch.  The first byte is the
; port number and the second is the bit mask for the bit.  (Not the bit number)
; For example an entry for port 2 bit 3 (P2[3])  would be "dw 0x0208"
;
; This table consist of 0xb switches.
 CSR_1_Switch_Table:
_CSR_1_Switch_Table:
	dw	0x0104	// Port 1 Bit 2
	dw	0x0110	// Port 1 Bit 4
	dw	0x0140	// Port 1 Bit 6
	dw	0x0001	// Port 0 Bit 0
	dw	0x0002	// Port 0 Bit 1
	dw	0x0004	// Port 0 Bit 2
	dw	0x0008	// Port 0 Bit 3
	dw	0x0010	// Port 0 Bit 4
	dw	0x0020	// Port 0 Bit 5
	dw	0x0040	// Port 0 Bit 6
	dw	0x0080	// Port 0 Bit 7


.SECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: CSR_1_Start(void)
;
;  DESCRIPTION:
;  Initializes registers and turns on the comparitor.
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:  
;    None
;
;  RETURNS:      None.   
;  SIDE EFFECTS: 
;    The A and X registers may be modified by this or future implementations
;    of this function.  The same is true for all RAM page pointer registers in
;    the Large Memory Model.  When necessary, it is the calling function's
;    responsibility to perserve their values across calls to fastcall16 
;    functions.
;
 CSR_1_Start:
_CSR_1_Start:
   RAM_PROLOGUE RAM_USE_CLASS_4
   RAM_SETPAGE_CUR >CSR_1_bPWMPeriod

IF (CSR_1_Method)
   // Period Method
   mov [CSR_1_bPWMPeriod], 0x10
   mov  reg[CSR_1_PWM_PERIOD_REG],0x10                ; Set period (default to 10 cycles)
   mov  reg[CSR_1_PWM_COMPARE_REG],0x0E               ; Set compare 
   mov  reg[DAC_D], 0x80                              ; Set Dac at medium level
ELSE
   // Frequency Method
   mov [CSR_1_bPWMPeriod], 0xFF
   mov  reg[CSR_1_PWM_PERIOD_REG],0xFF                ; Set period
   mov  reg[CSR_1_PWM_COMPARE_REG],0xFD               ; Set compare 
   mov  reg[DAC_D], 0x80                              ; Set Dac at medium level
ENDIF

   mov  reg[CMP_CR1],0x00                             ; CLDIS0 - synced comparator input enters mux

   mov   reg[DEC_CR0],0x00                            ; IGEN0 - output of comparator is not ANDed with a PWM

   or   reg[RDI0RI],0x03                              ; Connect Row 0 to GIO0[4]


   M8C_SetBank1
   mov  reg[DAC_CR],0x03                              ; Range high = 0x08, Reset on G00[4] = 0x02, Dac Enable = 0x01
   mov  reg[CMP_GO_EN],0x08                           ; GOO[4] out = 0x08, SEL0 - now sends output of IGEN0
   or   reg[GDI_O_OU],0x10                            ;  THIS SHOULD WORK IN THE XML  DEBUG

   mov  reg[MUX_CR0],0x00                             ; Make sure all switches are off by default
   mov  reg[MUX_CR1],0x00
   mov  reg[MUX_CR2],0x00
   mov  reg[MUX_CR3],0x00

   or   reg[CLK_CR3],0x04                             ; Use Sysclock direct for Column 0

   mov  reg[CSR_1_PWM_OUT_REG],0x3C                   ; Output PWM compare to row 0, TC to row 3
   
IF (CSR_1_Method)

   // Period Method
   mov  reg[CSR_1_PWM_IN_REG],0x1C                    ; Data = 0x10 (High) and Clock = 0x0C (Row_Input_0)
   mov  reg[CSR_1_CTR_INPUT_LSB_REG],0xFC             ; Data = 0xF0 (Row_input_3) and Clock = 0x0X (SysClk direct see output reg) 
   mov  reg[CSR_1_CTR_INPUT_MSB_REG],0x3C             ; Data = 0x30 (Chain from LSB) and Clock = 0x0C (SysClk direct see output reg)  
   mov  reg[CSR_1_CTR_OUTPUT_LSB_REG],0xC0            ; Use SysClk direct              
   mov  reg[CSR_1_CTR_OUTPUT_MSB_REG],0xC0            ; Use SysClk direct

ELSE

   // Frequency Method
   mov  reg[OSC_CR4],0x00                             ; Use Sysclock as input to VC3
   mov  reg[OSC_CR3],0xFF                             ; Set VC3 to 255
   mov  reg[CSR_1_PWM_IN_REG],0x11                    ; Data = 0x10 (High) and Clock = 0x01 (VC3)
   mov  reg[CSR_1_CTR_INPUT_LSB_REG],0xFC             ; Data = 0x80 (Row_input_3) and Clock = 0x0C (Row_Input_0) 
   mov  reg[CSR_1_CTR_INPUT_MSB_REG],0x3C             ; Data = 0x30 (Chain from LSB) and Clock = 0x0C (Row_Input_0)  
   mov  reg[CSR_1_CTR_OUTPUT_LSB_REG],0x00            ; Sync to SysClk and no outputs
   mov  reg[CSR_1_CTR_OUTPUT_MSB_REG],0x00            ; Sync to SysClk and no outputs

ENDIF

   and  reg[RDI0IS], ~0x80                            ; Make sure input 'A' to LUT3 is RO[3] 
   and  reg[RDI0LT1],~0xF0				
   or   reg[RDI0LT1],0x40                             ; Combine PWM compare and ~PWM TC running to GPIO: ~A&B (LUT3)
   and  reg[RDI0RO1],~0xF0
   or   reg[RDI0RO1],0x80                             ; Output LUT3 to global out odd 7
   or   reg[GDI_O_OU],0x80                            ; Drive global out odd 7 onto global in odd 7
   or   reg[RDI0RI],0xC0                              ; Row input 3 comes from global in odd 7
   and  reg[RDI0SYN],~0x08                            ; Row input 3 passes with synchronization

   M8C_SetBank0

   call  CSR_1_ClearSwitches                          ; Loop through all keys and deactivate
                                                      ; This also puts pin in proper mode.

   RAM_EPILOGUE RAM_USE_CLASS_4
   ret
.ENDSECTION




.SECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: CSR_1_ClearSwitches(void)
;
;  DESCRIPTION:
;    Clears all switches to the non-sampling state.
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:    None.
;  RETURNS:      None
;  SIDE EFFECTS: 
;    The A and X registers may be modified by this or future implementations
;    of this function.  The same is true for all RAM page pointer registers in
;    the Large Memory Model.  When necessary, it is the calling function's
;    responsibility to perserve their values across calls to fastcall16 
;    functions.
;
 CSR_1_ClearSwitches:
_CSR_1_ClearSwitches:
   RAM_PROLOGUE RAM_USE_CLASS_4
                                                      ; Loop through all keys and deactivate

   mov   A,CSR_1_TotalSwitchCount                     ; Check if key value in range.
   dec   A
.InitLoop:                                            ; Initialize all keys to be Disabled
   push  A
   call  CSR_1_iGetPortPin
   call  CSR_1_DisableSwitch
   pop   A
   dec   A
   jnc   .InitLoop

   RAM_EPILOGUE RAM_USE_CLASS_4
   ret
.ENDSECTION


.SECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: CSR_1_Stop(void)
;
;  DESCRIPTION:
;  Stop the switch scanner, disable interrupts and remove power to the analog 
;  block. This function also resets all switches to there inactive state.
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:    None.
;  RETURNS:      Nothing.
;  SIDE EFFECTS: 
;    The A and X registers may be modified by this or future implementations
;    of this function.  The same is true for all RAM page pointer registers in
;    the Large Memory Model.  When necessary, it is the calling function's
;    responsibility to perserve their values across calls to fastcall16 
;    functions.
;
 CSR_1_Stop:
_CSR_1_Stop:
   RAM_PROLOGUE RAM_USE_CLASS_4

   CSR_1_DisableInt_M                                 ; Disable scanner interrupts
   CSR_1_Stop_M                                       ; Disable PWM scanner
   mov   reg[CSR_1_ACE_CONTROL2_REG],0x00             ; Turn off Power to analog block

   call  CSR_1_ClearSwitches                          ; Loop through all keys and deactivate

   RAM_EPILOGUE RAM_USE_CLASS_4
   ret
.ENDSECTION

.SECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: CSR_1_iGetPortPin(BYTE bSwitch)
;
;  DESCRIPTION:
;      Returns the port and pin mask from a given key number.  This function
;      uses the table CSR_1_Switch_Table to retreive this information.
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:    
;        A => Switch Number  ( 0 to n )
;  RETURNS:    
;        A  <=  Switch Bitmap
;        X  <=  Port Number
;
;  SIDE EFFECTS: 
;    The A and X registers may be modified by this or future implementations
;    of this function.  The same is true for all RAM page pointer registers in
;    the Large Memory Model.  When necessary, it is the calling function's
;    responsibility to perserve their values across calls to fastcall16 
;    functions.
;
 CSR_1_iGetPortPin:
_CSR_1_iGetPortPin:

  RAM_PROLOGUE RAM_USE_CLASS_1
   asl    A                                      ; multiply key by 2 since table is 2 bytes per key
   mov    X,A                                    ; Copy index*2 in x for next value
   index  CSR_1_Switch_Table                     ; A contains the port value
   swap   A,X                                    ; Place port value in X and index*2 in A
   inc    A                                      ; Advance to next value (bitMask) 
   index  CSR_1_Switch_Table                     ; A contains bitMask, X has port number

   RAM_EPILOGUE RAM_USE_CLASS_1
   ret

.ENDSECTION


.SECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: CSR_1_EnableSwitch(BYTE bSwitchMask, BYTE bPort)
;
;  DESCRIPTION:
;    Configures switch to be an input to be measure duirng next measurement
;    cycle.  This function does not clear the last switch.
;    Place key port in Analog Hi-Z mode and enables the correct mux input.
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:    
;          X =>  Port Number for given key
;          A =>  Bit mask for given switch
;
;  RETURNS:      none    
;
;  SIDE EFFECTS: 
;    The A and X registers may be modified by this or future implementations

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av电影在线观看| 亚洲自拍偷拍麻豆| 午夜av一区二区三区| 国产不卡在线播放| 337p亚洲精品色噜噜狠狠| 亚洲男同1069视频| 国产呦萝稀缺另类资源| 欧美二区在线观看| 亚洲欧洲日本在线| 国产激情一区二区三区| 日韩小视频在线观看专区| 一个色综合网站| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美精品一区二区三区很污很色的 | 久久你懂得1024| 日本免费在线视频不卡一不卡二 | 激情久久久久久久久久久久久久久久| 色噜噜狠狠成人网p站| 国产精品色呦呦| 激情文学综合插| 91精品一区二区三区在线观看| 一区二区三区在线视频观看| 成人免费看黄yyy456| 久久综合久久久久88| 久久精品国产久精国产爱| 在线观看91精品国产麻豆| 洋洋av久久久久久久一区| 99r精品视频| 中文字幕av在线一区二区三区| 国产在线精品免费av| 欧美电视剧在线看免费| 日韩制服丝袜av| 欧美日韩日日骚| 亚洲高清视频中文字幕| 久久久精品国产免费观看同学| 免费高清视频精品| 制服丝袜国产精品| 蜜臀av性久久久久蜜臀aⅴ| 91精品国产一区二区三区蜜臀| 午夜精品一区在线观看| 欧美日韩免费电影| 日日夜夜精品视频免费| 欧美电影影音先锋| 奇米亚洲午夜久久精品| 欧美一区二区久久| 蜜桃视频在线观看一区二区| 日韩欧美久久一区| 久久精品国产一区二区| 欧美sm美女调教| 国产综合久久久久久鬼色| 欧美电影免费提供在线观看| 国模大尺度一区二区三区| 亚洲精品一区二区三区影院| 国产一区二区三区久久久| 国产亚洲欧美日韩俺去了| 国产91丝袜在线播放九色| 中文字幕久久午夜不卡| 91麻豆123| 亚瑟在线精品视频| 日韩三级在线观看| 国产精品99久| 亚洲欧美一区二区不卡| 欧美三级在线视频| 视频一区二区中文字幕| 26uuu色噜噜精品一区| 风间由美一区二区三区在线观看| 中文字幕中文字幕在线一区| 色94色欧美sute亚洲线路一ni | 国产色91在线| 91亚洲国产成人精品一区二区三| 亚洲一区二区在线视频| 7777精品伊人久久久大香线蕉超级流畅| 蜜桃av噜噜一区| 欧美国产1区2区| 一本色道久久加勒比精品| 三级在线观看一区二区| 精品少妇一区二区三区免费观看| 豆国产96在线|亚洲| 一区二区日韩电影| 欧美一卡2卡3卡4卡| 国产成人午夜精品5599| 亚洲黄一区二区三区| 宅男在线国产精品| 国产在线播放一区二区三区| 亚洲精品一卡二卡| 欧美一区二区免费视频| 国产91在线观看丝袜| 亚洲国产日韩av| 久久久久久久精| 欧美视频第二页| 国产一区二区免费在线| 一区二区三区四区蜜桃| 欧美电影免费观看高清完整版在| av资源网一区| 蜜臀久久久99精品久久久久久| 国产精品久久久久婷婷| 在线不卡的av| 成人妖精视频yjsp地址| 天天操天天干天天综合网| 加勒比av一区二区| 国产精品资源在线| 91影视在线播放| 欧美三级电影精品| 亚洲精品在线电影| ㊣最新国产の精品bt伙计久久| 亚洲香肠在线观看| 亚洲国产cao| 国产福利一区二区三区在线视频| 国产电影一区二区三区| 91免费看片在线观看| 制服丝袜亚洲色图| 亚洲欧美另类小说| 欧美性受极品xxxx喷水| 老司机精品视频导航| 成人精品亚洲人成在线| 日本成人超碰在线观看| 自拍偷拍国产精品| 日韩视频国产视频| 欧美午夜电影网| av在线一区二区三区| 狠狠色丁香久久婷婷综| 亚洲成人福利片| 国产精品国产三级国产| 精品国产乱码久久久久久浪潮 | 久99久精品视频免费观看| 一区二区三区四区视频精品免费 | 欧美日本一区二区| 色94色欧美sute亚洲线路一久| 高清国产一区二区| 国产在线精品一区在线观看麻豆| 日欧美一区二区| 依依成人精品视频| 亚洲三级电影全部在线观看高清| 久久久亚洲高清| 精品欧美乱码久久久久久1区2区| 欧美伦理视频网站| 欧美视频中文一区二区三区在线观看| 99久久精品国产网站| 丁香啪啪综合成人亚洲小说 | 国产一区二区日韩精品| 美国一区二区三区在线播放| 日精品一区二区三区| 亚洲一卡二卡三卡四卡五卡| 亚洲日本一区二区| 国产精品不卡一区| 国产精品免费久久久久| 国产日韩欧美在线一区| www国产亚洲精品久久麻豆| 欧美不卡视频一区| 日韩欧美一级精品久久| 91精品国产综合久久小美女| 欧美日韩国产成人在线免费| 欧美日韩亚洲另类| 欧美日韩在线三区| 欧美亚洲日本国产| 精品国产伦一区二区三区观看方式 | 久久久久久免费网| 精品黑人一区二区三区久久 | 91福利国产精品| 欧美性受极品xxxx喷水| 欧美天天综合网| 欧美精品久久久久久久久老牛影院| 欧美午夜一区二区三区| 欧美日韩激情一区| 欧美精品亚洲一区二区在线播放| 欧美日韩免费一区二区三区视频| 欧美日韩精品福利| 日韩情涩欧美日韩视频| 2021久久国产精品不只是精品| 久久麻豆一区二区| 国产精品九色蝌蚪自拍| 亚洲精品写真福利| 午夜影视日本亚洲欧洲精品| 日韩国产欧美在线视频| 九九久久精品视频| 国产精品一二三四| 成人91在线观看| 一本一道久久a久久精品| 欧美系列在线观看| 日韩精品一区二区三区中文精品| 久久久久久亚洲综合| 国产精品嫩草99a| 亚洲午夜视频在线| 蜜桃久久久久久| 国产99精品在线观看| 日本久久电影网| 91精品国产综合久久精品app| 精品美女在线播放| 欧美国产激情二区三区 | 欧美国产国产综合| 一区二区欧美在线观看| 蜜桃视频第一区免费观看| 国产高清不卡一区二区| 色系网站成人免费| 日韩一级黄色片| 国产精品久久久一本精品| 亚洲成人动漫av| 国产美女一区二区| 在线观看免费一区| 亚洲精品一区二区三区福利|