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

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

?? p18lcd(修改版).asm

?? PIC單片機與LCD1602的匯編程序。可以直接使用。里面PIC16和PIC18兩種
?? ASM
字號:
;************************************************************************
;*	Microchip Technology Inc. 2002					*
;*	Assembler version: 2.0000					*
;*	Filename: 							*
;*		p18lcd.asm (main routine)   				*
;*	Dependents:							*
;*		p18demo.asm						*
;*		p18math.asm						*
;*		16f877.lkr						*
;*	March 14,2002							*
;* 	PICDEM 2 PLUS DEMO code. The following functions are included 	*
;*	with this code:							*
;*		1. Voltmeter						*
;*			The center tap of R16 is connected to RA0, the	*
;*			A/D converter converts this analog voltage and	*
;*			the result is displayed on the LCD in a range	*
;*			from 0.00V - 5.00V.				*
;*		2. Buzzer						*
;*			The Piezo buzzer is connected to RC2 and is	*
;*			driven by the CCP1 module. The period and duty	*
;*			cycle are adjustable on the fly through the LCD	*
;*			and push-buttons.				*
;*		3. Temperature						*
;*			A TC74 Serial Digital Thermal Sensor is used to	*
;*			measure ambient temperature. The PIC and TC74	*
;* 			communicate using the MSSP module. The TC74 is	*
;*			connected to the SDA & SCL I/O pins of the PIC	*
;*			and functions as a slave.			*
;*		4. Clock						*
;*			This function is a real-time clock. When the	*
;*			mode is entered, time begins at 00:00:00. The 	*
;*			user can set the time if desired.		*
;************************************************************************

	list p=18f452
	#include p18f452.inc


#define	LCD_D4		PORTD, 0	; LCD data bits
#define	LCD_D5		PORTD, 1
#define	LCD_D6		PORTD, 2
#define	LCD_D7		PORTD, 3

#define	LCD_D4_DIR	TRISD, 0	; LCD data bits
#define	LCD_D5_DIR	TRISD, 1
#define	LCD_D6_DIR	TRISD, 2
#define	LCD_D7_DIR	TRISD, 3

#define	LCD_E		PORTA, 1	; LCD E clock
#define	LCD_RW		PORTA, 2	; LCD read/write line
#define	LCD_RS		PORTA, 3	; LCD register select line

#define	LCD_E_DIR	TRISA, 1	
#define	LCD_RW_DIR	TRISA, 2	
#define	LCD_RS_DIR	TRISA, 3	

#define	LCD_INS		0	
#define	LCD_DATA	1

D_LCD_DATA	UDATA
COUNTER		res	1
delay		res	1
temp_wr		res	1
temp_rd		res	1

	GLOBAL	temp_wr

PROG1	CODE


;***************************************************************************
	
LCDLine_1
	movlw	0x80
	movwf	temp_wr
	rcall	i_write
	return
	GLOBAL	LCDLine_1

LCDLine_2
	movlw	0xC0
	movwf	temp_wr
	rcall	i_write
	return
	GLOBAL	LCDLine_2

	;write data
d_write
	movff	temp_wr,TXREG
	btfss	TXSTA,TRMT
	goto	$-2
	rcall	LCDBusy
	bsf	STATUS, C	
	rcall	LCDWrite
	return
	GLOBAL	d_write

	;write instruction
i_write
	rcall	LCDBusy
	bcf	STATUS, C
	rcall	LCDWrite
	return
 	GLOBAL	i_write


rlcd	macro	MYREGISTER
 IF MYREGISTER == 1
	bsf	STATUS, C
	rcall	LCDRead
 ELSE
	bcf	STATUS, C
	rcall	LCDRead
 ENDIF
	endm
;****************************************************************************




; *******************************************************************
LCDInit
	clrf	PORTA
	
	bcf	LCD_E_DIR		;configure control lines
	bcf	LCD_RW_DIR
	bcf	LCD_RS_DIR
	
	movlw	b'00001110'
	movwf	ADCON1	

	movlw	0xff			; Wait ~15ms @ 20 MHz
	movwf	COUNTER
lil1
	movlw	0xFF
	movwf	delay
	rcall	DelayXCycles
	decfsz	COUNTER,F
	bra	lil1
	
	movlw	b'00110000'		;#1 Send control sequence 
	movwf	temp_wr
	bcf	STATUS,C
	rcall	LCDWriteNibble

	movlw	0xff			;Wait ~4ms @ 20 MHz
	movwf	COUNTER
lil2
	movlw	0xFF
	movwf	delay
	rcall	DelayXCycles
	decfsz	COUNTER,F
	bra	lil2

	movlw	b'00110000'		;#2 Send control sequence
	movwf	temp_wr
	bcf	STATUS,C
	rcall	LCDWriteNibble

	movlw	0xFF			;Wait ~100us @ 20 MHz
	movwf	delay
	rcall	DelayXCycles
						
	movlw	b'0011000'		;#3 Send control sequence
	movwf	temp_wr
	bcf	STATUS,C
	rcall	LCDWriteNibble

		;test delay
	movlw	0xFF			;Wait ~100us @ 20 MHz
	movwf	delay
	rcall	DelayXCycles


	movlw	b'00100000'		;#4 set 4-bit
	movwf	temp_wr
	bcf	STATUS,C
	rcall	LCDWriteNibble

	rcall	LCDBusy			;Busy?
				
	movlw	b'00101000'		;#5   Function set
	movwf	temp_wr
	rcall	i_write

	movlw	b'00001101'		;#6  Display = ON
	movwf	temp_wr
	rcall	i_write
			
	movlw	b'00000001'		;#7   Display Clear
	movwf	temp_wr
	rcall	i_write

	movlw	b'00000110'		;#8   Entry Mode
	movwf	temp_wr
	rcall	i_write	

	movlw	b'10000000'		;DDRAM addresss 0000
	movwf	temp_wr
	rcall	i_write

;	movlw	b'00000010'		;return home
;	movwf	temp_wr
;	call	i_write


	return

	GLOBAL	LCDInit	
; *******************************************************************








;****************************************************************************
;     _    ______________________________
; RS  _>--<______________________________
;     _____
; RW       \_____________________________
;                  __________________
; E   ____________/                  \___
;     _____________                ______
; DB  _____________>--------------<______
;
LCDWriteNibble
	btfss	STATUS, C		; Set the register select
	bcf	LCD_RS
	btfsc	STATUS, C	
	bsf	LCD_RS

	bcf	LCD_RW			; Set write mode

	bcf	LCD_D4_DIR		; Set data bits to outputs
	bcf	LCD_D5_DIR
	bcf	LCD_D6_DIR
	bcf	LCD_D7_DIR

	NOP				; Small delay
	NOP

	bsf	LCD_E			; Setup to clock data
	
	btfss	temp_wr, 7			; Set high nibble
	bcf	LCD_D7	
	btfsc	temp_wr, 7
	bsf	LCD_D7
	btfss	temp_wr, 6
	bcf	LCD_D6	
	btfsc	temp_wr, 6
	bsf	LCD_D6
	btfss	temp_wr, 5
	bcf	LCD_D5	
	btfsc	temp_wr, 5
	bsf	LCD_D5
	btfss	temp_wr, 4
	bcf	LCD_D4
	btfsc	temp_wr, 4
	bsf	LCD_D4	

	NOP
	NOP

	bcf	LCD_E			; Send the data

	return
; *******************************************************************





; *******************************************************************
LCDWrite
;	rcall	LCDBusy
	rcall	LCDWriteNibble
	swapf	temp_wr,F
	rcall	LCDWriteNibble
	swapf	temp_wr,F

	return

	GLOBAL	LCDWrite
; *******************************************************************





; *******************************************************************
;     _____    _____________________________________________________
; RS  _____>--<_____________________________________________________
;               ____________________________________________________
; RW  _________/
;                  ____________________      ____________________
; E   ____________/                    \____/                    \__
;     _________________                __________                ___
; DB  _________________>--------------<__________>--------------<___
;
LCDRead
	bsf	LCD_D4_DIR		; Set data bits to inputs
	bsf	LCD_D5_DIR
	bsf	LCD_D6_DIR
	bsf	LCD_D7_DIR		

	btfss	STATUS, C		; Set the register select
	bcf	LCD_RS
	btfsc	STATUS, C	
	bsf	LCD_RS

	bsf	LCD_RW			;Read = 1

	NOP
	NOP			

	bsf	LCD_E			; Setup to clock data

	NOP
	NOP
	NOP
	NOP

	btfss	LCD_D7			; Get high nibble
	bcf	temp_rd, 7
	btfsc	LCD_D7
	bsf	temp_rd, 7
	btfss	LCD_D6			
	bcf	temp_rd, 6
	btfsc	LCD_D6
	bsf	temp_rd, 6
	btfss	LCD_D5			
	bcf	temp_rd, 5
	btfsc	LCD_D5
	bsf	temp_rd, 5
	btfss	LCD_D4			
	bcf	temp_rd, 4
	btfsc	LCD_D4
	bsf	temp_rd, 4

	bcf	LCD_E			; Finished reading the data

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	bsf	LCD_E			; Setup to clock data

	NOP
	NOP

	btfss	LCD_D7			; Get low nibble
	bcf	temp_rd, 3
	btfsc	LCD_D7
	bsf	temp_rd, 3
	btfss	LCD_D6			
	bcf	temp_rd, 2
	btfsc	LCD_D6
	bsf	temp_rd, 2
	btfss	LCD_D5			
	bcf	temp_rd, 1
	btfsc	LCD_D5
	bsf	temp_rd, 1
	btfss	LCD_D4			
	bcf	temp_rd, 0
	btfsc	LCD_D4
	bsf	temp_rd, 0

	bcf	LCD_E			; Finished reading the data

FinRd
	return
; *******************************************************************






; *******************************************************************
LCDBusy
					; Check BF
	rlcd	LCD_INS
	btfsc	temp_rd, 7
	bra	LCDBusy
	return

	GLOBAL	LCDBusy
; *******************************************************************






; *******************************************************************
DelayXCycles
	decfsz	delay,F
	bra	DelayXCycles
	return
; *******************************************************************
	

	END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 欧美挠脚心视频网站| 国产乱码精品一区二区三| 国产精品国产三级国产aⅴ原创| 欧美日韩三级一区二区| 国产福利一区在线| 三级久久三级久久久| 亚洲欧美在线视频| 久久综合国产精品| 91精品中文字幕一区二区三区| 成人美女在线观看| 精品制服美女丁香| 日日夜夜一区二区| 亚洲一区二区三区中文字幕 | 亚洲天堂精品视频| 日韩精品一区二区三区在线| 欧洲一区二区三区免费视频| 国产成a人亚洲| 久久国产精品色婷婷| 亚洲成人激情社区| 综合激情成人伊人| 欧美激情资源网| 久久一二三国产| 欧美一区二区免费| 777亚洲妇女| 精品视频一区二区不卡| 91免费看`日韩一区二区| 国产精品1区2区| 韩国一区二区三区| 美女免费视频一区二区| 日本不卡视频在线| 水蜜桃久久夜色精品一区的特点| 亚洲精品国产一区二区三区四区在线 | 亚洲一区在线看| 国产欧美一区二区精品忘忧草| 精品国产乱码久久久久久1区2区 | 一区二区三区av电影| 国产精品久久久久影院| 国产亚洲一区二区三区| 2023国产精品自拍| 久久婷婷成人综合色| 久久综合狠狠综合久久综合88| 精品国产一区二区三区不卡 | 国内精品免费在线观看| 麻豆精品在线观看| 久国产精品韩国三级视频| 精品在线一区二区| 国产成人aaaa| 成人精品在线视频观看| 91美女片黄在线观看91美女| 91亚洲男人天堂| 欧美性高清videossexo| 91精品国模一区二区三区| 69堂成人精品免费视频| 日韩精品最新网址| 久久久高清一区二区三区| 中文字幕久久午夜不卡| 亚洲视频免费在线| 亚洲午夜一区二区| 欧美a级理论片| 国产在线精品视频| 91一区二区在线观看| 欧美三区在线观看| 精品国产一区二区三区久久久蜜月| 精品国产精品网麻豆系列| 国产欧美日韩另类一区| 亚洲欧美日本韩国| 日韩不卡在线观看日韩不卡视频| 激情小说欧美图片| 91丨九色丨尤物| 在线播放中文一区| 精品国产髙清在线看国产毛片| 中文字幕精品一区二区精品绿巨人 | 综合激情网...| 日韩成人午夜电影| 国产成人av电影| 欧美精选一区二区| 国产精品水嫩水嫩| 亚洲v日本v欧美v久久精品| 国产一区二区在线影院| 色偷偷久久人人79超碰人人澡| 91麻豆精品国产91久久久久久 | 在线观看国产一区二区| 精品久久一区二区三区| 亚洲欧美自拍偷拍| 玖玖九九国产精品| 91麻豆福利精品推荐| 日韩欧美国产系列| 亚洲女厕所小便bbb| 精品亚洲国内自在自线福利| 欧美国产一区在线| 偷拍一区二区三区四区| 成人网在线免费视频| 制服丝袜日韩国产| ...xxx性欧美| 韩国午夜理伦三级不卡影院| 欧美性感一类影片在线播放| 国产欧美日韩在线| 麻豆freexxxx性91精品| 一本一道综合狠狠老| 久久精品一区二区三区不卡| 午夜精品福利一区二区三区av| 国产成人鲁色资源国产91色综| 精品视频在线看| 亚洲欧洲av在线| 国产丶欧美丶日本不卡视频| 欧美精品在线一区二区三区| 亚洲欧美一区二区三区极速播放| 精品在线一区二区三区| 69久久夜色精品国产69蝌蚪网| 日韩美女精品在线| 国产精品456露脸| 日韩一区二区免费电影| 亚洲综合无码一区二区| eeuss鲁片一区二区三区在线观看| 日韩精品一区二区三区swag | 中文在线免费一区三区高中清不卡| 日韩av电影天堂| 欧美亚洲一区二区在线| 亚洲手机成人高清视频| 国产成人精品亚洲777人妖| 精品国产伦一区二区三区观看体验 | 国产精品乱人伦一区二区| 韩国一区二区视频| 精品日韩欧美在线| 日本欧美一区二区在线观看| 精品视频一区二区不卡| 亚洲成人午夜电影| 欧美日韩美女一区二区| 亚洲网友自拍偷拍| 欧美日韩在线精品一区二区三区激情| 亚洲欧美偷拍另类a∨色屁股| 成人黄色小视频| 国产精品不卡一区二区三区| 国产sm精品调教视频网站| 久久天天做天天爱综合色| 激情久久久久久久久久久久久久久久| 日韩一区二区精品在线观看| 日韩电影在线免费| 欧美不卡一区二区三区四区| 国产在线国偷精品免费看| 久久久久久久久久久黄色| 国产成人在线看| 中文无字幕一区二区三区| 波多野结衣中文字幕一区二区三区 | 制服丝袜在线91| 久久精品国产第一区二区三区| 日韩美女视频在线| 韩国v欧美v日本v亚洲v| 国产欧美精品国产国产专区| 成人一区二区三区视频在线观看| 国产精品网曝门| 9i在线看片成人免费| 亚洲美女在线一区| 7777女厕盗摄久久久| 久久国内精品自在自线400部| 精品成人a区在线观看| 国产精品99久久久久久似苏梦涵 | 麻豆精品视频在线观看| 精品国产成人系列| 不卡视频一二三| 一区二区三区精品在线| 91精品国产综合久久婷婷香蕉| 麻豆成人av在线| 国产精品久久免费看| 91国偷自产一区二区使用方法| 婷婷一区二区三区| 精品国产一区二区在线观看| 成人性生交大合| 亚洲国产一区二区三区青草影视| 日韩欧美一卡二卡| 粉嫩13p一区二区三区| 亚洲国产综合视频在线观看| 欧美mv和日韩mv的网站| 91丨九色porny丨蝌蚪| 美女视频黄 久久| 国产精品激情偷乱一区二区∴| 欧美自拍偷拍一区| 激情综合色综合久久综合| 136国产福利精品导航| 欧美一区二视频| 菠萝蜜视频在线观看一区| 日韩在线卡一卡二| 国产精品国产三级国产普通话三级| 欧美剧情电影在线观看完整版免费励志电影 | 日韩欧美第一区| 99久久精品国产毛片| 免费成人av在线播放| 综合中文字幕亚洲| 欧美成人a∨高清免费观看| 色呦呦国产精品| 国产麻豆一精品一av一免费| 亚洲欧美日韩系列| 久久久亚洲综合| 在线播放中文一区| 色婷婷精品久久二区二区蜜臀av | 99久久综合国产精品| 另类小说综合欧美亚洲| 一区二区三区av电影|