lcd_6610_drv.s
来自「GPS DEMO CODE FOR NOKIA6610 LCD,下载于OURAV」· S 代码 · 共 62 行
S
62 行
#include "LCD_6610_PORT.h"
.section .text
.global LCD_6610_WriteCmd
.global LCD_6610_WriteDat
/*
void LCD_6610_WriteCmd(uint8 cmd)//写指令
r24:cmd
r25:计数
*/
LCD_6610_WriteCmd :
cbi PORT_LCD_6610-0x20, LCD_SDATA;低_写命令
ldi r25, 7
sbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_H
cbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_L
CycleCmd:
;先写高位
rol r24;带进位左移
brcs OneCmd;C置位转
ZeroCmd:
cbi PORT_LCD_6610-0x20, LCD_SDATA;低
LoadCmd:
sbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_H
dec r25;减一
cbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_L
brpl CycleCmd;正数转
ret
OneCmd:
sbi PORT_LCD_6610-0x20, LCD_SDATA;高
rjmp LoadCmd
/*
void LCD_6610_WriteDat(uint8 dat)//写数据
r24:dat
r25:计数
*/
LCD_6610_WriteDat :
sbi PORT_LCD_6610-0x20, LCD_SDATA;高_写数据
ldi r25, 7
sbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_H
cbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_L
CycleDat:
;先写高位
rol r24;带进位左移
brcc ZeroDat;C清零转,考虑到清屏要用到多个1
OneDat:
sbi PORT_LCD_6610-0x20, LCD_SDATA;高
LoadDat:
sbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_H
dec r25;减一
cbi PORT_LCD_6610-0x20, LCD_SCLK;LCD_SCLK_L
brpl CycleDat;正数转
ret
ZeroDat:
cbi PORT_LCD_6610-0x20, LCD_SDATA;低
rjmp LoadDat
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?