⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcm_old.s

📁 ARM LCM DISPLAY MOdule control
💻 S
字号:
.equ	PORTA_MUX,	0x09000000.equ	PORTA_DATA,	0x09001600.equ	PORTA_DIR,	0x09001604.equ	PORTB_MUX,	0x09000004.equ	PORTB_DIR,	0x0900160c.equ	PORTB_DATA,	0x09001608.equ	PORT7_MUX,	0x09000020.equ	PORT7_DIR,	0x09001644.equ	PORT7_DATA,	0x09001640.equ	PORT9_MUX,	0x09000028.equ	PORT9_DIR,	0x09001654.equ	PORT9_DATA,	0x09001650.set	LCM_WR_1,	0x00000010.set	LCM_WR_0,	0xffffffef.set	LCM_RS_1,	0x00000020.set	LCM_RS_0,	0x000000df		@temp.set	LCM_E_1,	0x00000020.set	LCM_E_0,	0xffffffdf.set	LCM_FUNC_SET,	0x00000038.set	LCM_DISP_ON,	0x0000000e.set	LCM_DISP_OFF,	0x00000008.set	LCM_DISP_CLEAR,	0x00000001.set	LCM_ENTRY_SET,	0x00000006.text.global _start.code 32_start:start:				ldr	r0, =PORTA_MUX		@for debug		ldr	r1, =0x3fff		str	r1, [r0]				ldr	r5, =PORTA_DIR		mov	r1, #0		str	r1, [r5, #0]				ldr	r0, =PORTB_DIR		@PORTB setup@		ldr	r1, =0xffffff00		ldr	r1, =0x00000000		str	r1, [r0]				ldr	r0, =PORTB_DATA		ldr	r1, =0x00000000		str	r1, [r0]				ldr	r0, =PORTB_MUX		ldr	r1, =0x00000faa		str	r1, [r0]		@		ldr	r0, =PORT7_DIR		@PORT7 setup@		ldr	r1, =0xffffffdf@		str	r1, [r0]		@		ldr	r0, =PORT7_MUX@		ldr	r1, =0x000000a0@		str	r1, [r0]						ldr	r0, =PORT9_DIR		@PORT9 setup@		ldr	r1, =0xffffffcf		ldr	r1, =0x00000000		str	r1, [r0]		ldr	r0, =PORT9_DATA		ldr	r1, =0x00000000		str	r1, [r0]		ldr	r0, =PORT9_MUX		ldr	r1, =0x00000140		str	r1, [r0]		ldr	r9, =PORTA_DATA		@for debug		mov	r10, #0xfe		str	r10, [r9]		bl	lcm_init		ldr	r9, =PORTA_DATA		@for debug		sub	r10, r10, #1		str	r10, [r9]				adr	r6, string_hello		mov	r2, #6		display_loop:	ldrb	r5, [r6]		bl	lcm_display		add	r6, r6, #1		subs	r2, r2, #1		bne	display_loopend_loop:	b	end_loop		lcm_init:	mov	r7, lr		mov	r1, #0			@lcm function set		mov	r3, #0		ldr	r9, =PORTA_DATA		@for debug		sub	r10, r10, #1		str	r10, [r9]						ldr	r0, =PORT7_DATA		ldr	r1, =LCM_RS_0		str	r1, [r0]				ldr	r9, =PORTA_DATA		@for debug		sub	r10, r10, #1		str	r10, [r9]						ldr	r0, =PORT9_DATA		ldr	r4, =LCM_WR_0		and	r3, r3, r4		str	r3, [r0]		ldr	r9, =PORTA_DATA		@for debug		sub	r10, r10, #1		str	r10, [r9]			ldr	r0, =0x1fff		bl	delay		ldr	r9, =PORTA_DATA		@for debug		sub	r10, r10, #1		str	r10, [r9]					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_1		orr	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff				bl	delay				ldr	r0, =PORTB_DATA		ldr	r5, =LCM_FUNC_SET		str	r5, [r0]				ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff		bl	delay		mov	r1, #0			@lcm display off		mov	r3, #0				ldr	r0, =PORT7_DATA		ldr	r1, =LCM_RS_0		str	r1, [r0]		ldr	r0, =PORT9_DATA		ldr	r4, =LCM_WR_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff			bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_1		orr	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff				bl	delay				ldr	r0, =PORTB_DATA		ldr	r5, =LCM_DISP_OFF		str	r5, [r0]				ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff		bl	delay		mov	r1, #0			@lcm display clear		mov	r3, #0				ldr	r0, =PORT7_DATA		ldr	r1, =LCM_RS_0		str	r1, [r0]		ldr	r0, =PORT9_DATA		ldr	r4, =LCM_WR_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff			bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_1		orr	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff				bl	delay				ldr	r0, =PORTB_DATA		ldr	r5, =LCM_DISP_CLEAR		str	r5, [r0]				ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff		bl	delay		mov	r1, #0			@lcm display on		mov	r3, #0				ldr	r0, =PORT7_DATA		ldr	r1, =LCM_RS_0		str	r1, [r0]		ldr	r0, =PORT9_DATA		ldr	r4, =LCM_WR_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff			bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_1		orr	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff				bl	delay				ldr	r0, =PORTB_DATA		ldr	r5, =LCM_DISP_ON		str	r5, [r0]				ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff		bl	delay				mov	r1, #0			@lcm entry mode set		mov	r3, #0				ldr	r0, =PORT7_DATA		ldr	r1, =LCM_RS_0		str	r1, [r0]		ldr	r0, =PORT9_DATA		ldr	r4, =LCM_WR_0		and	r3, r3, r4		str	r3, [r0]			ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_1		orr	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff				bl	delay				ldr	r0, =PORTB_DATA		ldr	r5, =LCM_ENTRY_SET		str	r5, [r0]				ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff		bl	delay						mov	lr, r7		mov	pc, lrlcm_display:	mov	r7, lr		mov	r1, #0			@lcm write data		mov	r3, #0				ldr	r0, =PORT7_DATA		ldr	r1, =LCM_RS_1		str	r1, [r0]		ldr	r0, =PORT9_DATA		ldr	r4, =LCM_WR_0		and	r3, r3, r4		str	r3, [r0]			ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_1		orr	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff				bl	delay				ldr	r0, =PORTB_DATA		str	r5, [r0]				ldr	r0, =0x1fff		bl	delay					ldr	r0, =PORT9_DATA		ldr	r4, =LCM_E_0		and	r3, r3, r4		str	r3, [r0]		ldr	r0, =0x1fff		bl	delay		mov	lr, r7		mov	pc, lr		delay:		subs	r0, r0, #1		bne	delay		mov	pc, lrstring_hello:.ascii		"Hello!"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -