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

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

?? spi.asm

?? 汽車無鑰進入系統設計,基于PIC單片機16F639,包括電路圖和源碼
?? ASM
字號:
;------------------------------------------------------------------------------+
;                                                                              |
;    Module SPI                                                                |
;                                                                              |
;------------------------------------------------------------------------------+
;                                                                              |
;    SPI.asm                                                                   |
;    Jan Ornter                                                                |
;    DATE:   11-9-2005                                                         |
;    VER.:   1.0                                                               |
;    This class provides functions for the modified physical SPI-Layer         |
;                                                                              |
;                                                                              |
;------------------------------------------------------------------------------+
#include Project.inc	
;	when overriding these values, you will have to change the source code
#define	AFECS		PORTC,1		; Chip select output
#define	SCK			PORTC,2		; SPI Clock Output
#define	SDIO		PORTC,3		; Serial output
	udata
SPI.BufferH res 1
SPI.BufferL res 1
SPI_ovr	udata_ovr
Count00 res 1
flag_ovr	udata_ovr
flag	res 1		;using bit 0
	global SPI.BufferH, SPI.BufferL
	global SPI.Read, SPI.Write
	code
;------------------------------------------------------------------------------+
;                                                                              |
;     SPI.BufferH  SPI.BufferL SPI.Read( SPI.BufferH  SPI.BufferL )            |
;                                                                              |
;------------------------------------------------------------------------------+
;                                                                              |
;    This macro reads two Bytes from the SPI-Bus.                              |
;    Put the Read command and the address in the SPI.BufferH and SPI.BufferL   |
;    Registers.                                                                |
;    Then call SPI.Read.                                                       |
;    Then read the returned values in SPI.BufferH and SPI.BufferL.             |
;                                                                              |
;                                                                              |
;    Parameters:                                                               |
;    SPI.BufferH - The most significant Byte of the Data                       |
;    SPI.BufferL - The least significant Byte of the Data                      |
;                                                                              |
;                                                                              |
;    Returns:                                                                  |
;    SPI.BufferH - The most significant Byte of the Data                       |
;    SPI.BufferL - The least significant Byte of the Data                      |
;                                                                              |
;                                                                              |
;    Stacklevel: 1                                                             |
;                                                                              |
;                                                                              |
;    Example:                                                                  |
;    pagesel SPI.BufferH                                                       |
;    movlw   0xf0                                                              |
;    movwf   SPI.BufferH                                                       |
;    movlw   0x0f                                                              |
;    movwf   SPI.BufferL                                                       |
;    call    SPI.Read                                                          |
;                                                                              |
;                                                                              |
;    Description:                                                              |
;        This sends 0xf00f over the SPI-Bus, and reads the answer to           |
;        SPI.BufferH and SPI.BufferL.                                          |
;                                                                              |
;------------------------------------------------------------------------------+
SPI.Read
	banksel	flag
	bsf		flag,0
	goto	SPI.ShiftOutBuffer
;------------------------------------------------------------------------------+
;                                                                              |
;    SPI.Write( SPI.BufferH  SPI.BufferL )                                     |
;                                                                              |
;------------------------------------------------------------------------------+
;                                                                              |
;    This macro shifts data out of the MCU through the SPI-Interface.          |
;                                                                              |
;                                                                              |
;    Parameters:                                                               |
;    SPI.BufferH - The most significant Byte of the Data                       |
;    SPI.BufferL - The least significant Byte of the Data                      |
;                                                                              |
;                                                                              |
;                                                                              |
;    Stacklevel: 1                                                             |
;                                                                              |
;                                                                              |
;    Example:                                                                  |
;    pagesel SPI.BufferH                                                       |
;    movlw   0xf0                                                              |
;    movwf   SPI.BufferH                                                       |
;    movlw   0x0f                                                              |
;    movwf   SPI.BufferL                                                       |
;    call    SPI.Write                                                         |
;                                                                              |
;                                                                              |
;    Description:                                                              |
;        This sends 0xf00f over the SPI-Bus                                    |
;                                                                              |
;------------------------------------------------------------------------------+
SPI.Write
	banksel	flag
	bcf		flag,0
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Subroutine: ShiftOutSPIBuffer
;   
; Description: This routine is used to shift data out of the microcontroller
;					onto the SPI bus.
;
;Notes:
;1.	This routine assumes 16-bit data is in SSPBufH and SSPBufL already.
;3.	Control the ports as follows:
;		Clear SCK/ALERT
;		Clear chip select
;Loop
;		Set or clear LFDATA/SDIO pin.
;		Set SCK/ALERT
;		Clear SCK/ALERT
;		Goto Loop 16 times
;		Set chip select
;Count00
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
;	This method shifts data out of the MCU through the SPI-Interface.
;
;
;	@param SPI.BufferH The most significant Byte of the Data
;	@param SPI.BufferL The least significant Byte of the Data
;
;	@example
;	pagesel SPI.BufferH
;	movlw	0xf0
;	movwf	SPI.BufferH
;	movlw	0x0f
;	movwf	SPI.BufferL
;	call	SPI.ShiftOutBuffer
;	@end-ex
;	@ex-desc This sends 0xf00f over the SPI-Bus
;
;	@status Tested
;
;	@stacklevel 1
;
;
;
SPI.ShiftOutBuffer	
	banksel TRISC
	movf	TRISC,w
	andlw	b'11110001'
	movwf	TRISC
	movlw	.16
	banksel Count00
	movwf	Count00
	banksel PORTC
	bcf		SCK
	bcf		AFECS
ShiftOutLoop
	banksel SPI.BufferH
	rlf		SPI.BufferL, f
	rlf		SPI.BufferH, f
	banksel	PORTC
	btfss	STATUS,C
	bcf		SDIO
	btfsc	STATUS,C		
	bsf		SDIO
	bsf		SCK
	nop
	nop
	bcf		SCK
;	CLRWDT
	banksel Count00
	decfsz	Count00, f
	goto	ShiftOutLoop
	banksel PORTC
	bsf		AFECS
	bsf		SCK
	banksel	flag
	btfss	flag,0
	goto	SPI.end
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Subroutine: ShiftInSPIBuffer
;   
; Description: This routine is used to shift data into the microcontroller
;					from the SPI bus.
;
;Notes:
;1.	This routine loads 16-bit data into the SSPBufH and SSPBufL registers.
;3.	Control the ports as follows:
;		Clear SCK/ALERT
;		Clear chip select
;Loop
;		Set SCK/ALERT
;		Shift in the LFDATA/SDIO pin value.
;		Clear SCK/ALERT
;		Goto Loop 16 times
;		Set chip select
;Count00
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
;	This method shifts data from the SPI-Bus into the MCU
;
;
;	@return SPI.BufferH The most significant Byte of the Data
;	@return SPI.BufferL The least significant Byte of the Data
;
;	@example
;	call	SPI.ShiftInBuffer
;	banksel SPI.BufferH
;	movf	SPI.BufferH,w
;	banksel RegH
;	movwf	RegH
;	banksel SPI.BufferH
;	movf	SPI.BufferL,w
;	banksel RegL
;	movwf	RegL
;	@end-ex
;	@ex-desc This stores the data from the SPI-Bus in RegH and RegL.
;
;	@status Tested
;
;	@stacklevel 1
;
;
SPI.ShiftInBuffer
	banksel TRISC
	bsf		TRISC,3			;Set SDIO as an input
	banksel Count00
	movlw	.16
	movwf	Count00
	banksel PORTC
	bcf		SCK
	bcf		AFECS
ShiftInLoop
	banksel PORTC
	bsf		SCK
	btfss	SDIO
	bcf		STATUS, C
	btfsc	SDIO			
	bsf		STATUS, C
	bcf		SCK
	banksel SPI.BufferL
	rlf		SPI.BufferL, f
	rlf		SPI.BufferH, f
;	CLRWDT
	banksel Count00
	decfsz	Count00, f
	goto	ShiftInLoop
	banksel PORTC
	bsf		AFECS
	bsf		SCK
SPI.end
	banksel TRISC
	movf	TRISC,w
	iorlw	b'00001110'
	movwf	TRISC	
	
	return
	END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re6这里只有精品视频在线观看| 国产a区久久久| 国产精品视频一二| 不卡电影免费在线播放一区| 日本亚洲最大的色成网站www| 久久亚洲一级片| 日韩三级视频在线看| 麻豆视频观看网址久久| 亚洲成人www| 亚洲va欧美va人人爽| 午夜日韩在线观看| 亚洲综合久久久| 亚洲欧洲99久久| 亚洲激情六月丁香| 久久国内精品自在自线400部| 国产河南妇女毛片精品久久久| gogo大胆日本视频一区| 在线视频综合导航| 久久免费午夜影院| 亚洲欧美影音先锋| 久久精品国内一区二区三区| 国产成人午夜高潮毛片| 欧美男同性恋视频网站| 国产午夜精品美女毛片视频| 亚洲6080在线| 欧洲精品中文字幕| 久久久精品2019中文字幕之3| 久久香蕉国产线看观看99| 亚洲精品v日韩精品| 成人综合婷婷国产精品久久蜜臀 | 国产传媒欧美日韩成人| 91国偷自产一区二区开放时间| 国产精品美女一区二区| 国产**成人网毛片九色| 久久久久久久久蜜桃| av中文字幕在线不卡| 日本免费新一区视频| 国产乱码字幕精品高清av| 日韩欧美三级在线| 亚洲成人午夜电影| 欧洲一区在线电影| 亚洲女女做受ⅹxx高潮| 91在线丨porny丨国产| 中文字幕电影一区| 丁香天五香天堂综合| 久久婷婷国产综合精品青草 | 日韩高清一级片| 国产不卡视频一区二区三区| 丁香另类激情小说| 亚洲国产精品激情在线观看| 激情五月播播久久久精品| 欧美日韩免费观看一区三区| 一片黄亚洲嫩模| 欧美视频自拍偷拍| 久久精品噜噜噜成人av农村| 日韩欧美区一区二| 粉嫩一区二区三区性色av| 1区2区3区精品视频| 欧美日韩一卡二卡| 高清国产一区二区| 国产麻豆精品久久一二三| 中文一区一区三区高中清不卡| 欧美变态tickle挠乳网站| 欧美精品日韩精品| 91超碰这里只有精品国产| 色婷婷久久久综合中文字幕 | 日韩午夜激情av| 成人av网站免费| 三级不卡在线观看| 国产精品人成在线观看免费| 欧美日韩精品综合在线| 丰满白嫩尤物一区二区| 看片的网站亚洲| 一区二区理论电影在线观看| 国产精品国产三级国产aⅴ入口| 久久国产精品区| 国产精品家庭影院| 久久综合久久久久88| 欧美老肥妇做.爰bbww视频| 成人激情文学综合网| 国产精品亚洲а∨天堂免在线| 亚洲激情六月丁香| 国产精品久久精品日日| 国产欧美一区二区三区鸳鸯浴| 日韩欧美黄色影院| 欧美精品色一区二区三区| 欧美精品tushy高清| 欧美日韩大陆一区二区| 在线91免费看| 欧美一区二区美女| 国产亚洲成av人在线观看导航| 日韩无一区二区| 久久婷婷久久一区二区三区| 欧美日韩国产成人在线91| 日韩欧美专区在线| 国产视频911| 国产精品久久久爽爽爽麻豆色哟哟| 国产色产综合产在线视频| 日本一区二区三区久久久久久久久不 | 欧美大片在线观看一区二区| 欧美少妇性性性| 欧美一区三区四区| 久久婷婷成人综合色| 中文字幕一区免费在线观看 | 国产成人亚洲综合a∨猫咪| 国产成人小视频| 在线精品视频小说1| 欧美tk丨vk视频| 亚洲激情在线播放| 精品一二三四区| 欧美日韩国产美| 久久众筹精品私拍模特| 一区二区三区波多野结衣在线观看| 日韩avvvv在线播放| 成人午夜电影久久影院| 欧美日韩国产精品成人| 国产精品国产三级国产普通话99| 日本伊人精品一区二区三区观看方式| 国产成人8x视频一区二区| 欧美一区二区人人喊爽| **性色生活片久久毛片| 国产一区二区三区香蕉| 日韩欧美在线影院| 亚洲人成在线播放网站岛国| 丝袜诱惑制服诱惑色一区在线观看| 国产69精品久久777的优势| 欧美一区二区三区四区高清| 一区二区三区欧美久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 午夜精品123| 免费观看久久久4p| 欧美欧美午夜aⅴ在线观看| 亚洲欧美自拍偷拍色图| 成人天堂资源www在线| 久久久欧美精品sm网站| 国产精品996| 国产精品久久久久久户外露出| 国产精品一区三区| 中文av一区特黄| 99久久777色| 日韩精彩视频在线观看| 日韩午夜精品电影| av不卡在线播放| 亚洲va欧美va天堂v国产综合| 91麻豆精品国产91久久久久久 | 欧美成人一区二区| 老司机免费视频一区二区| 欧美日韩国产精品自在自线| 日韩不卡免费视频| 久久婷婷久久一区二区三区| 国产+成+人+亚洲欧洲自线| 亚洲视频电影在线| 欧美一卡二卡在线| 99久久综合狠狠综合久久| 亚洲高清不卡在线观看| 久久久91精品国产一区二区精品| caoporm超碰国产精品| 日韩成人一区二区| 亚洲免费视频中文字幕| 精品电影一区二区| 日韩视频中午一区| 成人精品一区二区三区中文字幕 | 亚洲欧美偷拍另类a∨色屁股| 成人一级视频在线观看| 国产在线视视频有精品| 国产精品色呦呦| 日韩欧美国产三级电影视频| 色8久久精品久久久久久蜜| 高清在线不卡av| 久久99精品久久久久久动态图 | 色国产综合视频| 国产91在线看| 国产69精品久久777的优势| 久久不见久久见免费视频7| 亚洲视频网在线直播| 欧美日韩国产天堂| 色网站国产精品| 91老师国产黑色丝袜在线| 色综合中文字幕| 91久久奴性调教| 色婷婷激情久久| 欧美天堂一区二区三区| 欧美日韩亚洲综合一区二区三区| 色香色香欲天天天影视综合网| 成人免费看黄yyy456| 色偷偷久久一区二区三区| 一本高清dvd不卡在线观看| 色欧美片视频在线观看| 精品视频在线免费观看| 91精品国产综合久久国产大片| 日韩一区二区三区视频在线| 日韩一区二区麻豆国产| 久久亚洲综合色一区二区三区| 专区另类欧美日韩| 亚洲激情自拍偷拍| 丝袜诱惑制服诱惑色一区在线观看| 蜜臀av性久久久久蜜臀av麻豆| 国产一区二区三区四区五区美女| 97se亚洲国产综合自在线观| 欧美日韩一二三区|