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

📄 dis_dir.asm

📁 基于SPMC75F2413A的LCD驱动程式序, 使用128X64的液晶模块,包含有画线,画圆和BMP,字符串等显示处理,全部源码,完整的工程.愿对从事单片机开发的工程式师有用.
💻 ASM
字号:
//****************************************************************************************************
// 128X64I液晶底层驱动程序包
// 设计者: 牟联树
// 日  期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
.INCLUDE  Spmc75_regs.inc
.DEFINE   LCD_E     0x0800            //LCD使能信号   (IOA11)
.DEFINE   LCD_R_W   0x0400            //读写信号      (IOA10)
.DEFINE   LCD_DI    0x0200            //数据指令选择  (IOA9)
.DEFINE   LCD_CS    0x0100            //LCD左半屏片选 (IOA8)
.DEFINE   LCD_Port  P_IOA_Data_ADDR
.DEFINE   LCD_Port_B  P_IOA_Buffer_ADDR
.DEFINE   LCD_Port_Dir P_IOA_Dir_ADDR
.CODE
//****************************************************************************************************
// 128X64I液晶底层驱动画圆误差计算  W_Red_Err(int *a,int *b,int *r)
// 设计者: 牟联树
// 描  述: 系统初始化
// 日  期: 2004.12.22
// 版本号: 1.2
//****************************************************************************************************
.PUBLIC _W_Red_Err
_W_Red_Err: push bp,bp to [sp]
            bp = sp+1
            r3 = [bp+3]
            r3 = [r3]
            r3 = r3+1
            r4 = r3
            mr = r3*r4,us
            r1 = r3
            r3 = [bp+4]
            r3 = [r3]
            r4 = r3
            mr = r3*r4,us
            r1+= r3
            r3 = [bp+5]
            r3 = [r3]
            r4 = r3
            mr = r3*r4,us
            r1-=r3
            jl squ1
            r4 = [bp+4]
            r3 = [r4]
            r1-= r3
            jl squ1
            r3-=1
            [r4] = r3;
      squ1: r4 = [bp+3]
            r3 = [r4]
            r3+=1
            [r4] = r3
            pop bp,bp from [sp]
            retf               
//****************************************************************************************************
// 128X64I液晶底层驱动写数据子程序  Writ_Data(int a,int Data)
// 设计者: 牟联树
// 描  述: 数据写入子程序(供C语言调用)
// 日  期: 2004.12.22
// 版本号: 1.1
//****************************************************************************************************
.PUBLIC _Writ_Data       
_Writ_Data: r2 = sp + 3
            r1 = [LCD_Port_Dir]
            r1 |= 0x00ff
            [LCD_Port_Dir] = r1     
            r1 = [LCD_Port_B]
            r1 &= (~(LCD_CS + LCD_E + LCD_R_W))&0xff00
            r1 |= LCD_DI + LCD_E             
            r1 |= [r2]                //装入要写的数据
            [LCD_Port_B] = r1
            r1 &=~LCD_E                 //产生E信号脉冲
            r1 |= LCD_CS
            [LCD_Port_B] = r1
            retf  

//****************************************************************************************************
// 128X64I液晶底层驱动写指令子程序  Writ_ZL(int l_r,int Data)
// 设计者: 牟联树
// 描  述: 指令写入子程序(供C语言调用)
// 日  期: 2004.12.22
// 版本号: 1.1
//****************************************************************************************************
.PUBLIC  _Writ_ZL
  _Writ_ZL: r2 = sp +3
            r1 = [LCD_Port_Dir]
            r1 |= 0x00ff
            [LCD_Port_Dir] = r1
            r1 = [LCD_Port_B]
            r1 &= (~(LCD_CS + LCD_E + LCD_DI + LCD_R_W))&0xff00              
            r1 |= [r2]					//装入要写的数据
            r1 |= LCD_E	
            [LCD_Port_B] = r1
            r1 &=~LCD_E                 	//产生E信号脉冲
            r1 |= LCD_CS
            [LCD_Port_B] = r1
            retf
 
//****************************************************************************************************
// 128X64I液晶底层驱动读数据子程序 Read_Data()
// 设计者: 牟联树
// 描  述: 数据读取子程序(供C语言调用)
// 日  期: 2004.12.22
// 版本号: 1.1
//****************************************************************************************************
.PUBLIC  _Read_Data
_Read_Data: r1 = [LCD_Port_Dir]
            r1 &= 0xff00
            [LCD_Port_Dir] = r1
			r1 = [LCD_Port_B]
			r1 &= ~LCD_CS				//合成CS,DI和RW信号
			r1 |= (LCD_DI + LCD_R_W + LCD_E)
			[LCD_Port_B] = r1
            r2 = [LCD_Port]				//读数据
            r1 &=~LCD_E
			r1 |= LCD_CS
            [LCD_Port_B] = r1
            r1 = r2 & 0x00ff
            retf
            
//****************************************************************************************************
// 128X64I液晶底层驱动读数据子程序 Read_State()
// 设计者: 牟联树
// 描  述: 数据读取子程序(供C语言调用)
// 日  期: 2004.12.22
// 版本号: 1.1
//****************************************************************************************************
.PUBLIC  _Read_State
_Read_State:r1 = [LCD_Port_Dir]
            r1 &= 0xff00
            [LCD_Port_Dir] = r1
			r1 = [LCD_Port_B]
			r1 &= ~(LCD_CS + LCD_DI) 	//合成CS,DI和RW信号
			r1 |= (LCD_R_W + LCD_E)
			[LCD_Port_B] = r1
            r2 = [LCD_Port]				//读数据
            r1 &=~LCD_E
			r1 |= LCD_CS
            [LCD_Port_B] = r1
            r1 = r2 & 0x00ff
            retf

//****************************************************************************************************
// 128X64I液晶底层驱动[6X8]字体库
// 设计者: 牟联树
// 描  述: [6X8]西文字符的字模数据 (纵向取模,字节倒序)
// 日  期: 2004.4.27
// 版本号: 1.1
//****************************************************************************************************
.PUBLIC _Asii8
_Asii8:
.DW  0x0000,0x0000,0x0000,0x0000,0x065F,0x0600,0x0007,0x0300,0x0703,0x0024,0x7E24,0x7E24  
.DW  0x0024,0x2B6A,0x1200,0x0063,0x1308,0x6463,0x0036,0x4956,0x2050,0x0000,0x0703,0x0000 
.DW  0x0000,0x3E41,0x0000,0x0000,0x413E,0x0000,0x0008,0x3E1C,0x3E08,0x0008,0x083E,0x0808  
.DW  0x0000,0xE060,0x0000,0x0008,0x0808,0x0808,0x0000,0x6060,0x0000,0x0020,0x1008,0x0402
.DW  0x003E,0x5149,0x453E,0x0000,0x427F,0x4000,0x0062,0x5149,0x4946,0x0022,0x4949,0x4936
.DW  0x0018,0x1412,0x7F10,0x002F,0x4949,0x4931,0x003C,0x4A49,0x4930,0x0001,0x7109,0x0503
.DW  0x0036,0x4949,0x4936,0x0006,0x4949,0x291E,0x0000,0x6C6C,0x0000,0x0000,0xEC6C,0x0000
.DW  0x0008,0x1422,0x4100,0x0024,0x2424,0x2424,0x0000,0x4122,0x1408,0x0002,0x0159,0x0906
.DW  0x003E,0x415D,0x551E,0x007E,0x1111,0x117E,0x007F,0x4949,0x4936,0x003E,0x4141,0x4122
.DW  0x007F,0x4141,0x413E,0x007F,0x4949,0x4941,0x007F,0x0909,0x0901,0x003E,0x4149,0x497A
.DW  0x007F,0x0808,0x087F,0x0000,0x417F,0x4100,0x0030,0x4040,0x403F,0x007F,0x0814,0x2241
.DW  0x007F,0x4040,0x4040,0x007F,0x0204,0x027F,0x007F,0x0204,0x087F,0x003E,0x4141,0x413E
.DW  0x007F,0x0909,0x0906,0x003E,0x4151,0x215E,0x007F,0x0909,0x1966,0x0026,0x4949,0x4932
.DW  0x0001,0x017F,0x0101,0x003F,0x4040,0x403F,0x001F,0x2040,0x201F,0x003F,0x403C,0x403F
.DW  0x0063,0x1408,0x1463,0x0007,0x0870,0x0807,0x0071,0x4945,0x4300,0x0000,0x7F41,0x4100
.DW  0x0002,0x0408,0x1020,0x0000,0x4141,0x7F00,0x0004,0x0201,0x0204,0x8080,0x8080,0x8080
.DW  0x0000,0x0307,0x0000,0x0020,0x5454,0x5478,0x007F,0x4444,0x4438,0x0038,0x4444,0x4428
.DW  0x0038,0x4444,0x447F,0x0038,0x5454,0x5408,0x0008,0x7E09,0x0900,0x0018,0xA4A4,0xA47C
.DW  0x007F,0x0404,0x7800,0x0000,0x007D,0x4000,0x0040,0x8084,0x7D00,0x007F,0x1028,0x4400
.DW  0x0000,0x007F,0x4000,0x007C,0x0418,0x0478,0x007C,0x0404,0x7800,0x0038,0x4444,0x4438
.DW  0x00FC,0x4444,0x4438,0x0038,0x4444,0x44FC,0x0044,0x7844,0x0408,0x0008,0x5454,0x5420
.DW  0x0004,0x3E44,0x2400,0x003C,0x4020,0x7C00,0x001C,0x2040,0x201C,0x003C,0x6030,0x603C
.DW  0x006C,0x1010,0x6C00,0x009C,0xA060,0x3C00,0x0064,0x5454,0x4C00,0x0008,0x3E41,0x4100
.DW  0x0000,0x0077,0x0000,0x0000,0x4141,0x3E08,0x0002,0x0102,0x0100,0x1038,0x7C10,0x1010 
//****************************************************************************************************
// 128X64I液晶底层驱动[8X16]字体库
// 设计者: 牟联树
// 描  述: [8X16]西文字符的字模数据 (纵向取模,字节倒序)
// 日  期: 2004.4.27
// 版本号: 1.1
//****************************************************************************************************
.PUBLIC _Asii16
_Asii16:
.DW  0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
.DW  0x0000,0x00F8,0x0000,0x0000,0x0000,0x0033,0x3000,0x0000
.DW  0x0010,0x0C06,0x100C,0x0600,0x0000,0x0000,0x0000,0x0000
.DW  0x40C0,0x7840,0xC078,0x4000,0x043F,0x0404,0x3F04,0x0400
.DW  0x0070,0x88FC,0x0830,0x0000,0x0018,0x20FF,0x211E,0x0000
.DW  0xF008,0xF000,0xE018,0x0000,0x0021,0x1C03,0x1E21,0x1E00
.DW  0x00F0,0x0888,0x7000,0x0000,0x1E21,0x2324,0x1927,0x2110
.DW  0x1016,0x0E00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
.DW  0x0000,0x00E0,0x1804,0x0200,0x0000,0x0007,0x1820,0x4000
.DW  0x0002,0x0418,0xE000,0x0000,0x0040,0x2018,0x0700,0x0000
.DW  0x4040,0x80F0,0x8040,0x4000,0x0202,0x010F,0x0102,0x0200
.DW  0x0000,0x00F0,0x0000,0x0000,0x0101,0x011F,0x0101,0x0100
.DW  0x0000,0x0000,0x0000,0x0000,0x80B0,0x7000,0x0000,0x0000
.DW  0x0000,0x0000,0x0000,0x0000,0x0001,0x0101,0x0101,0x0101
.DW  0x0000,0x0000,0x0000,0x0000,0x0030,0x3000,0x0000,0x0000
.DW  0x0000,0x0000,0x8060,0x1804,0x0060,0x1806,0x0100,0x0000
.DW  0x00E0,0x1008,0x0810,0xE000,0x000F,0x1020,0x2010,0x0F00
.DW  0x0010,0x10F8,0x0000,0x0000,0x0020,0x203F,0x2020,0x0000
.DW  0x0070,0x0808,0x0888,0x7000,0x0030,0x2824,0x2221,0x3000
.DW  0x0030,0x0888,0x8848,0x3000,0x0018,0x2020,0x2011,0x0E00
.DW  0x0000,0xC020,0x10F8,0x0000,0x0007,0x0424,0x243F,0x2400
.DW  0x00F8,0x0888,0x8808,0x0800,0x0019,0x2120,0x2011,0x0E00
.DW  0x00E0,0x1088,0x8818,0x0000,0x000F,0x1120,0x2011,0x0E00
.DW  0x0038,0x0808,0xC838,0x0800,0x0000,0x003F,0x0000,0x0000
.DW  0x0070,0x8808,0x0888,0x7000,0x001C,0x2221,0x2122,0x1C00
.DW  0x00E0,0x1008,0x0810,0xE000,0x0000,0x3122,0x2211,0x0F00
.DW  0x0000,0x00C0,0xC000,0x0000,0x0000,0x0030,0x3000,0x0000
.DW  0x0000,0x0080,0x0000,0x0000,0x0000,0x8060,0x0000,0x0000
.DW  0x0000,0x8040,0x2010,0x0800,0x0001,0x0204,0x0810,0x2000
.DW  0x4040,0x4040,0x4040,0x4000,0x0404,0x0404,0x0404,0x0400
.DW  0x0008,0x1020,0x4080,0x0000,0x0020,0x1008,0x0402,0x0100
.DW  0x0070,0x4808,0x0808,0xF000,0x0000,0x0030,0x3601,0x0000
.DW  0xC030,0xC828,0xE810,0xE000,0x0718,0x2724,0x2314,0x0B00
.DW  0x0000,0xC038,0xE000,0x0000,0x203C,0x2302,0x0227,0x3820
.DW  0x08F8,0x8888,0x8870,0x0000,0x203F,0x2020,0x2011,0x0E00
.DW  0xC030,0x0808,0x0808,0x3800,0x0718,0x2020,0x2010,0x0800
.DW  0x08F8,0x0808,0x0810,0xE000,0x203F,0x2020,0x2010,0x0F00
.DW  0x08F8,0x8888,0xE808,0x1000,0x203F,0x2020,0x2320,0x1800
.DW  0x08F8,0x8888,0xE808,0x1000,0x203F,0x2000,0x0300,0x0000
.DW  0xC030,0x0808,0x0838,0x0000,0x0718,0x2020,0x221E,0x0200
.DW  0x08F8,0x0800,0x0008,0xF808,0x203F,0x2101,0x0121,0x3F20
.DW  0x0008,0x08F8,0x0808,0x0000,0x0020,0x203F,0x2020,0x0000
.DW  0x0000,0x0808,0xF808,0x0800,0xC080,0x8080,0x7F00,0x0000
.DW  0x08F8,0x88C0,0x2818,0x0800,0x203F,0x2001,0x2638,0x2000
.DW  0x08F8,0x0800,0x0000,0x0000,0x203F,0x2020,0x2020,0x3000
.DW  0x08F8,0xF800,0xF8F8,0x0800,0x203F,0x003F,0x003F,0x2000
.DW  0x08F8,0x30C0,0x0008,0xF808,0x203F,0x2000,0x0718,0x3F00
.DW  0xE010,0x0808,0x0810,0xE000,0x0F10,0x2020,0x2010,0x0F00
.DW  0x08F8,0x0808,0x0808,0xF000,0x203F,0x2101,0x0101,0x0000
.DW  0xE010,0x0808,0x0810,0xE000,0x0F18,0x2424,0x3850,0x4F00
.DW  0x08F8,0x8888,0x8888,0x7000,0x203F,0x2000,0x030C,0x3020
.DW  0x0070,0x8808,0x0808,0x3800,0x0038,0x2021,0x2122,0x1C00
.DW  0x1808,0x08F8,0x0808,0x1800,0x0000,0x203F,0x2000,0x0000
.DW  0x08F8,0x0800,0x0008,0xF808,0x001F,0x2020,0x2020,0x1F00
.DW  0x0878,0x8800,0x00C8,0x3808,0x0000,0x0738,0x0E01,0x0000
.DW  0xF808,0x00F8,0x0008,0xF800,0x033C,0x0700,0x073C,0x0300
.DW  0x0818,0x6880,0x8068,0x1808,0x2030,0x2C03,0x032C,0x3020
.DW  0x0838,0xC800,0xC838,0x0800,0x0000,0x203F,0x2000,0x0000
.DW  0x1008,0x0808,0xC838,0x0800,0x2038,0x2621,0x2020,0x1800
.DW  0x0000,0x00FE,0x0202,0x0200,0x0000,0x007F,0x4040,0x4000
.DW  0x000C,0x30C0,0x0000,0x0000,0x0000,0x0001,0x0638,0xC000
.DW  0x0002,0x0202,0xFE00,0x0000,0x0040,0x4040,0x7F00,0x0000
.DW  0x0000,0x0402,0x0202,0x0400,0x0000,0x0000,0x0000,0x0000
.DW  0x0000,0x0000,0x0000,0x0000,0x8080,0x8080,0x8080,0x8080
.DW  0x0002,0x0204,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
.DW  0x0000,0x8080,0x8080,0x0000,0x0019,0x2422,0x2222,0x3F20
.DW  0x08F8,0x0080,0x8000,0x0000,0x003F,0x1120,0x2011,0x0E00
.DW  0x0000,0x0080,0x8080,0x0000,0x000E,0x1120,0x2020,0x1100
.DW  0x0000,0x0080,0x8088,0xF800,0x000E,0x1120,0x2010,0x3F20
.DW  0x0000,0x8080,0x8080,0x0000,0x001F,0x2222,0x2222,0x1300
.DW  0x0080,0x80F0,0x8888,0x8818,0x0020,0x203F,0x2020,0x0000
.DW  0x0000,0x8080,0x8080,0x8000,0x006B,0x9494,0x9493,0x6000
.DW  0x08F8,0x0080,0x8080,0x0000,0x203F,0x2100,0x0020,0x3F20
.DW  0x0080,0x9898,0x0000,0x0000,0x0020,0x203F,0x2020,0x0000
.DW  0x0000,0x0080,0x9898,0x0000,0x00C0,0x8080,0x807F,0x0000
.DW  0x08F8,0x0000,0x8080,0x8000,0x203F,0x2402,0x2D30,0x2000
.DW  0x0008,0x08F8,0x0000,0x0000,0x0020,0x203F,0x2020,0x0000
.DW  0x8080,0x8080,0x8080,0x8000,0x203F,0x2000,0x3F20,0x003F
.DW  0x8080,0x0080,0x8080,0x0000,0x203F,0x2100,0x0020,0x3F20
.DW  0x0000,0x8080,0x8080,0x0000,0x001F,0x2020,0x2020,0x1F00
.DW  0x8080,0x0080,0x8000,0x0000,0x80FF,0xA120,0x2011,0x0E00
.DW  0x0000,0x0080,0x8080,0x8000,0x000E,0x1120,0x20A0,0xFF80
.DW  0x8080,0x8000,0x8080,0x8000,0x2020,0x3F21,0x2000,0x0100
.DW  0x0000,0x8080,0x8080,0x8000,0x0033,0x2424,0x2424,0x1900
.DW  0x0080,0x80E0,0x8080,0x0000,0x0000,0x001F,0x2020,0x0000
.DW  0x8080,0x0000,0x0080,0x8000,0x001F,0x2020,0x2010,0x3F20
.DW  0x8080,0x8000,0x0080,0x8080,0x0001,0x0E30,0x0806,0x0100
.DW  0x8080,0x0080,0x0080,0x8080,0x0F30,0x0C03,0x0C30,0x0F00
.DW  0x0080,0x8000,0x8080,0x8000,0x0020,0x312E,0x0E31,0x2000
.DW  0x8080,0x8000,0x0080,0x8080,0x8081,0x8E70,0x1806,0x0100
.DW  0x0080,0x8080,0x8080,0x8000,0x0021,0x302C,0x2221,0x3000
.DW  0x0000,0x0000,0x807C,0x0202,0x0000,0x0000,0x003F,0x4040
.DW  0x0000,0x0000,0xFF00,0x0000,0x0000,0x0000,0xFF00,0x0000
.DW  0x0002,0x027C,0x8000,0x0000,0x0040,0x403F,0x0000,0x0000
.DW  0x0006,0x0101,0x0202,0x0404,0x0000,0x0000,0x0000,0x0000

.DW  0x80C0,0xE0F0,0xF880,0x8080,0x0103,0x070F,0x1F01,0x0101
.PUBLIC _GB16
_GB16:
//--  文字:  牟  -- (纵向取模,字节倒序)
//--  新宋体12;  此字体下对应的点阵为:宽x高=16x16   --
.DW  0x0000,0x80E8,0x8C8A,0x89E8,0x8888,0x8A8C,0x9800,0x0000
.DW  0x0405,0x0404,0x0404,0x04FF,0x0404,0x0404,0x0404,0x0400
//--  文字:  联  -- (纵向取模,字节倒序)
//--  新宋体12;  此字体下对应的点阵为:宽x高=16x16   --
.DW  0x02FE,0x9292,0x92FE,0x1211,0x121C,0xF018,0x1712,0x1000
.DW  0x081F,0x0808,0x04FF,0x0581,0x4131,0x0F11,0x21C1,0x4100
//--  文字:  树  -- (纵向取模,字节倒序)
//--  新宋体12;  此字体下对应的点阵为:宽x高=16x16   --
.DW  0x1010,0xD0FF,0x5090,0x6888,0x6818,0x9010,0x10FF,0x1000
.DW  0x0403,0x00FF,0x1009,0x0403,0x0106,0x0041,0x807F,0x0000     

⌨️ 快捷键说明

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