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

📄 display_debug.dasm

📁 MIPS的液晶显示原码,运行在ECLIPSE上,已通过测试.
💻 DASM
📖 第 1 页 / 共 5 页
字号:
    //lcd_puts(handle, "Hello !");
    //==mcu lcd interface initial====
    HAL_DISPLAY_CONFIG  params1;
    params1.mode     = HAL_DISPLAY_MODE_AUTO | HAL_DISPLAY_MODE_E_HIGH;
80001cfc:	24020001 	li	v0,180001d00:	afa20028 	sw	v0,40(sp)    params1.buswidth = HAL_DISPLAY_BUS_WIDTH_8;     
80001d04:	24020008 	li	v0,880001d08:	afa2002c 	sw	v0,44(sp)    params1.period   = 450;
80001d0c:	240201c2 	li	v0,45080001d10:	afa20030 	sw	v0,48(sp)#include <hal/usip/hal_sys.h>

typedef void (*hal_display_handler_t)(int event);

__hal_defunc1(hal_display_init, HAL_DISPLAY_CONFIG *, params);
80001d14:	27a20028 	addiu	v0,sp,4080001d18:	afa20024 	sw	v0,36(sp)80001d1c:	3c028001 	lui	v0,0x800180001d20:	3442f3fc 	ori	v0,v0,0xf3fc80001d24:	8c420000 	lw	v0,0(v0)80001d28:	8fa40024 	lw	a0,36(sp)80001d2c:	0040f809 	jalr	v080001d30:	00000000 	nop80001d34:	afa20020 	sw	v0,32(sp)    hal_display_init(&params1);     
    //===============================
    result=s6b0724_write_command(lcd_bias);      //bias
80001d38:	240400a0 	li	a0,16080001d3c:	3c028000 	lui	v0,0x800080001d40:	24421fdc 	addiu	v0,v0,815680001d44:	0040f809 	jalr	v080001d48:	00000000 	nop80001d4c:	afa20010 	sw	v0,16(sp)    result=s6b0724_write_command(adc);           //adc
80001d50:	240400a0 	li	a0,16080001d54:	3c028000 	lui	v0,0x800080001d58:	24421fdc 	addiu	v0,v0,815680001d5c:	0040f809 	jalr	v080001d60:	00000000 	nop80001d64:	afa20010 	sw	v0,16(sp)    result=s6b0724_write_command(shl);           //shl
80001d68:	240400c8 	li	a0,20080001d6c:	3c028000 	lui	v0,0x800080001d70:	24421fdc 	addiu	v0,v0,815680001d74:	0040f809 	jalr	v080001d78:	00000000 	nop80001d7c:	afa20010 	sw	v0,16(sp)    for(i=0;i<2000;i++) ;                 //delay 2ms
80001d80:	afa00014 	sw	zero,20(sp)80001d84:	8fa20014 	lw	v0,20(sp)80001d88:	284207d0 	slti	v0,v0,200080001d8c:	10400006 	beqz	v0,80001da8 <_sp+0x1e8>80001d90:	00000000 	nop80001d94:	8fa20014 	lw	v0,20(sp)80001d98:	24420001 	addiu	v0,v0,180001d9c:	afa20014 	sw	v0,20(sp)80001da0:	1000fff8 	b	80001d84 <_sp+0x1c4>80001da4:	00000000 	nop    result=s6b0724_write_command(power_control); //power control
80001da8:	2404002f 	li	a0,4780001dac:	3c028000 	lui	v0,0x800080001db0:	24421fdc 	addiu	v0,v0,815680001db4:	0040f809 	jalr	v080001db8:	00000000 	nop80001dbc:	afa20010 	sw	v0,16(sp)    for(i=0;i<2000;i++) ;                 //delay 2ms
80001dc0:	afa00014 	sw	zero,20(sp)80001dc4:	8fa20014 	lw	v0,20(sp)80001dc8:	284207d0 	slti	v0,v0,200080001dcc:	10400006 	beqz	v0,80001de8 <_sp+0x228>80001dd0:	00000000 	nop80001dd4:	8fa20014 	lw	v0,20(sp)80001dd8:	24420001 	addiu	v0,v0,180001ddc:	afa20014 	sw	v0,20(sp)80001de0:	1000fff8 	b	80001dc4 <_sp+0x204>80001de4:	00000000 	nop    result=s6b0724_write_command(regulator_resistor);       //regulator resistor select
80001de8:	24040026 	li	a0,3880001dec:	3c028000 	lui	v0,0x800080001df0:	24421fdc 	addiu	v0,v0,815680001df4:	0040f809 	jalr	v080001df8:	00000000 	nop80001dfc:	afa20010 	sw	v0,16(sp)    for(i=0;i<2000;i++) ;                            //delay 2ms
80001e00:	afa00014 	sw	zero,20(sp)80001e04:	8fa20014 	lw	v0,20(sp)80001e08:	284207d0 	slti	v0,v0,200080001e0c:	10400006 	beqz	v0,80001e28 <_sp+0x268>80001e10:	00000000 	nop80001e14:	8fa20014 	lw	v0,20(sp)80001e18:	24420001 	addiu	v0,v0,180001e1c:	afa20014 	sw	v0,20(sp)80001e20:	1000fff8 	b	80001e04 <_sp+0x244>80001e24:	00000000 	nop    result=s6b0724_write_command(reference_volt_mode);      //reference voltage mode
80001e28:	24040081 	li	a0,12980001e2c:	3c028000 	lui	v0,0x800080001e30:	24421fdc 	addiu	v0,v0,815680001e34:	0040f809 	jalr	v080001e38:	00000000 	nop80001e3c:	afa20010 	sw	v0,16(sp)    result=s6b0724_write_command(reference_volt_register);  //reference voltage register
80001e40:	2404003f 	li	a0,6380001e44:	3c028000 	lui	v0,0x800080001e48:	24421fdc 	addiu	v0,v0,815680001e4c:	0040f809 	jalr	v080001e50:	00000000 	nop80001e54:	afa20010 	sw	v0,16(sp)    result=s6b0724_write_command(initial_line);             //begining line
80001e58:	24040040 	li	a0,6480001e5c:	3c028000 	lui	v0,0x800080001e60:	24421fdc 	addiu	v0,v0,815680001e64:	0040f809 	jalr	v080001e68:	00000000 	nop80001e6c:	afa20010 	sw	v0,16(sp)    result=s6b0724_write_command(set_modify_read);   //column addres atuo +1
80001e70:	240400e0 	li	a0,22480001e74:	3c028000 	lui	v0,0x800080001e78:	24421fdc 	addiu	v0,v0,815680001e7c:	0040f809 	jalr	v080001e80:	00000000 	nop80001e84:	afa20010 	sw	v0,16(sp)    result=s6b0724_write_command(display_on);
80001e88:	240400af 	li	a0,17580001e8c:	3c028000 	lui	v0,0x800080001e90:	24421fdc 	addiu	v0,v0,815680001e94:	0040f809 	jalr	v080001e98:	00000000 	nop80001e9c:	afa20010 	sw	v0,16(sp)    display_hz(0,0,&xin[0]);
80001ea0:	00002021 	move	a0,zero80001ea4:	00002821 	move	a1,zero80001ea8:	3c028000 	lui	v0,0x800080001eac:	24462278 	addiu	a2,v0,882480001eb0:	3c028000 	lui	v0,0x800080001eb4:	244220ec 	addiu	v0,v0,842880001eb8:	0040f809 	jalr	v080001ebc:	00000000 	nop    while(1);
80001ec0:	1000ffff 	b	80001ec0 <_sp+0x300>80001ec4:	00000000 	nop80001ec8 <s6b0724_write_data>:    return 0;
}

static int s6b0724_write_data( unsigned char data )
{    
80001ec8:	27bdffc8 	addiu	sp,sp,-5680001ecc:	afbf0030 	sw	ra,48(sp)80001ed0:	00801021 	move	v0,a080001ed4:	a3a20038 	sb	v0,56(sp)__hal_defunc2(hal_gpio_ioctl, HAL_GPIO_CONTROL, control, int *, data);
__hal_defunc3(hal_gpio_attach, int, gpio, int, event, hal_gpio_handler_t, handler);
__hal_defunc1(hal_gpio_detach, int, gpio);
__hal_defunc1(hal_gpio_read, unsigned int *, data);
__hal_defunc1(hal_gpio_write, unsigned int, data);
80001ed8:	24020002 	li	v0,280001edc:	afa20018 	sw	v0,24(sp)80001ee0:	3c028001 	lui	v0,0x800180001ee4:	3442f4b4 	ori	v0,v0,0xf4b480001ee8:	8c420000 	lw	v0,0(v0)80001eec:	8fa40018 	lw	a0,24(sp)80001ef0:	0040f809 	jalr	v080001ef4:	00000000 	nop80001ef8:	afa2001c 	sw	v0,28(sp)80001efc:	8fa2001c 	lw	v0,28(sp)80001f00:	afa20010 	sw	v0,16(sp)__hal_defunc1(hal_display_set_config, HAL_DISPLAY_CONFIG *, params);
__hal_defunc1(hal_display_get_status, int *, status);
__hal_defunc1(hal_display_write, char, data);
__hal_defunc1(hal_display_read, char *, data);
__hal_defunc2(hal_display_ioctl, int, cmd, void *, data);
80001f04:	24020001 	li	v0,180001f08:	afa2001c 	sw	v0,28(sp)80001f0c:	afa00018 	sw	zero,24(sp)80001f10:	3c028001 	lui	v0,0x800180001f14:	3442f414 	ori	v0,v0,0xf41480001f18:	8c420000 	lw	v0,0(v0)80001f1c:	8fa4001c 	lw	a0,28(sp)80001f20:	8fa50018 	lw	a1,24(sp)80001f24:	0040f809 	jalr	v080001f28:	00000000 	nop80001f2c:	afa20020 	sw	v0,32(sp)80001f30:	afa0001c 	sw	zero,28(sp)80001f34:	24020001 	li	v0,180001f38:	afa20018 	sw	v0,24(sp)80001f3c:	3c028001 	lui	v0,0x800180001f40:	3442f414 	ori	v0,v0,0xf41480001f44:	8c420000 	lw	v0,0(v0)80001f48:	8fa4001c 	lw	a0,28(sp)80001f4c:	8fa50018 	lw	a1,24(sp)80001f50:	0040f809 	jalr	v080001f54:	00000000 	nop80001f58:	afa20024 	sw	v0,36(sp)80001f5c:	93a20038 	lbu	v0,56(sp)80001f60:	a3a20028 	sb	v0,40(sp)80001f64:	3c028001 	lui	v0,0x800180001f68:	3442f40c 	ori	v0,v0,0xf40c80001f6c:	8c430000 	lw	v1,0(v0)80001f70:	93a20028 	lbu	v0,40(sp)80001f74:	00402021 	move	a0,v080001f78:	0060f809 	jalr	v180001f7c:	00000000 	nop80001f80:	afa2001c 	sw	v0,28(sp)80001f84:	8fa2001c 	lw	v0,28(sp)80001f88:	afa20010 	sw	v0,16(sp)80001f8c:	27a20014 	addiu	v0,sp,2080001f90:	afa2001c 	sw	v0,28(sp)80001f94:	3c028001 	lui	v0,0x800180001f98:	3442f404 	ori	v0,v0,0xf40480001f9c:	8c420000 	lw	v0,0(v0)80001fa0:	8fa4001c 	lw	a0,28(sp)80001fa4:	0040f809 	jalr	v080001fa8:	00000000 	nop80001fac:	afa20018 	sw	v0,24(sp)    int result;
    int status;        
    result=hal_gpio_write(0x02);                       //cs=0
    hal_display_ioctl(HAL_DISPLAY_IOCTL_SET_RW, 0);    //rw=0,write
    hal_display_ioctl(HAL_DISPLAY_IOCTL_SET_CD, (void *)1);    //rs=1,data     
    result = hal_display_write(data);     
    do 
    {
        hal_display_get_status(&status);
        
    } while( (status & HAL_DISPLAY_STATUS_TX_DONE) == 0 );  
80001fb0:	8fa20014 	lw	v0,20(sp)80001fb4:	30420001 	andi	v0,v0,0x180001fb8:	14400003 	bnez	v0,80001fc8 <s6b0724_write_data+0x100>80001fbc:	00000000 	nop80001fc0:	1000fff2 	b	80001f8c <s6b0724_write_data+0xc4>80001fc4:	00000000 	nop    //result=hal_gpio_write(0x05);                       //cs=1   
    return result; 
80001fc8:	8fa20010 	lw	v0,16(sp)}
80001fcc:	8fbf0030 	lw	ra,48(sp)80001fd0:	27bd0038 	addiu	sp,sp,5680001fd4:	03e00008 	jr	ra80001fd8:	00000000 	nop80001fdc <s6b0724_write_command>:
static int s6b0724_write_command( unsigned char cmd )
{
80001fdc:	27bdffc8 	addiu	sp,sp,-5680001fe0:	afbf0030 	sw	ra,48(sp)80001fe4:	00801021 	move	v0,a080001fe8:	a3a20038 	sb	v0,56(sp)__hal_defunc2(hal_gpio_ioctl, HAL_GPIO_CONTROL, control, int *, data);
__hal_defunc3(hal_gpio_attach, int, gpio, int, event, hal_gpio_handler_t, handler);
__hal_defunc1(hal_gpio_detach, int, gpio);
__hal_defunc1(hal_gpio_read, unsigned int *, data);
__hal_defunc1(hal_gpio_write, unsigned int, data);
80001fec:	24020002 	li	v0,280001ff0:	afa20018 	sw	v0,24(sp)80001ff4:	3c028001 	lui	v0,0x800180001ff8:	3442f4b4 	ori	v0,v0,0xf4b480001ffc:	8c420000 	lw	v0,0(v0)80002000:	8fa40018 	lw	a0,24(sp)80002004:	0040f809 	jalr	v080002008:	00000000 	nop8000200c:	afa2001c 	sw	v0,28(sp)80002010:	8fa2001c 	lw	v0,28(sp)80002014:	afa20010 	sw	v0,16(sp)__hal_defunc1(hal_display_set_config, HAL_DISPLAY_CONFIG *, params);
__hal_defunc1(hal_display_get_status, int *, status);
__hal_defunc1(hal_display_write, char, data);
__hal_defunc1(hal_display_read, char *, data);
__hal_defunc2(hal_display_ioctl, int, cmd, void *, data);
80002018:	24020001 	li	v0,18000201c:	afa2001c 	sw	v0,28(sp)80002020:	afa00018 	sw	zero,24(sp)80002024:	3c028001 	lui	v0,0x800180002028:	3442f414 	ori	v0,v0,0xf4148000202c:	8c420000 	lw	v0,0(v0)80002030:	8fa4001c 	lw	a0,28(sp)80002034:	8fa50018 	lw	a1,24(sp)80002038:	0040f809 	jalr	v08000203c:	00000000 	nop80002040:	afa20020 	sw	v0,32(sp)80002044:	afa0001c 	sw	zero,28(sp)80002048:	afa00018 	sw	zero,24(sp)8000204c:	3c028001 	lui	v0,0x800180002050:	3442f414 	ori	v0,v0,0xf41480002054:	8c420000 	lw	v0,0(v0)80002058:	8fa4001c 	lw	a0,28(sp)8000205c:	8fa50018 	lw	a1,24(sp)80002060:	0040f809 	jalr	v080002064:	00000000 	nop80002068:	afa20024 	sw	v0,36(sp)8000206c:	93a20038 	lbu	v0,56(sp)80002070:	a3a20028 	sb	v0,40(sp)80002074:	3c028001 	lui	v0,0x800180002078:	3442f40c 	ori	v0,v0,0xf40c8000207c:	8c430000 	lw	v1,0(v0)80002080:	93a20028 	lbu	v0,40(sp)80002084:	00402021 	move	a0,v080002088:	0060f809 	jalr	v18000208c:	00000000 	nop80002090:	afa2001c 	sw	v0,28(sp)80002094:	8fa2001c 	lw	v0,28(sp)80002098:	afa20010 	sw	v0,16(sp)8000209c:	27a20014 	addiu	v0,sp,20800020a0:	afa2001c 	sw	v0,28(sp)800020a4:	3c028001 	lui	v0,0x8001800020a8:	3442f404 	ori	v0,v0,0xf404800020ac:	8c420000 	lw	v0,0(v0)800020b0:	8fa4001c 	lw	a0,28(sp)800020b4:	0040f809 	jalr	v0800020b8:	00000000 	nop800020bc:	afa20018 	sw	v0,24(sp)    int result;
    int status;
    result=hal_gpio_write(0x02);                       //cs=0
    hal_display_ioctl(HAL_DISPLAY_IOCTL_SET_RW, 0);    //rw=0,write
    hal_display_ioctl(HAL_DISPLAY_IOCTL_SET_CD, 0);    //rs=0,command            
    result = hal_display_write(cmd);
    do 
    {
        hal_display_get_status(&status);
        
    } while( (status & HAL_DISPLAY_STATUS_TX_DONE) == 0 ); 
800020c0:	8fa20014 	lw	v0,20(sp)800020c4:	30420001 	andi	v0,v0,0x1800020c8:	14400003 	bnez	v0,800020d8 <s6b0724_write_command+0xfc>800020cc:	00000000 	nop800020d0:	1000fff2 	b	8000209c <s6b0724_write_command+0xc0>800020d4:	00000000 	nop    //result=hal_gpio_write(0x05);                       //cs=1
    return result;   
800020d8:	8fa20010 	lw	v0,16(sp)}
800020dc:	8fbf0030 	lw	ra,48(sp)800020e0:	27bd0038 	addiu	sp,sp,56800020e4:	03e00008 	jr	ra800020e8:	00000000 	nop800020ec <display_hz>:
void display_hz(unsigned char x_adr,unsigned char y_adr,unsigned char *hz_adr)
{  
800020ec:	27bdffd8 	addiu	sp,sp,-40800020f0:	afbf0020 	sw	ra,32(sp)800020f4:	00801021 	move	v0,a0800020f8:	00a01821 	move	v1,a1800020fc:	afa60030 	sw	a2,48(sp)80002100:	a3a20028 	sb	v0,40(sp)80002104:	a3a3002c 	sb	v1,44(sp)  unsigned char i,j,column_msb,column_lsb,page_adr;
  int result;
  page_adr=((x_adr*2)+0xb0);
80002108:	93a20028 	lbu	v0,40(sp)8000210c:	00021040 	sll	v0,v0,0x180002110:	2403ffb0 	li	v1,-8080002114:	00431021 	addu	v0,v0,v180002118:	a3a20014 	sb	v0,20(sp)  column_msb=y_adr>>4;
8000211c:	93a2002c 	lbu	v0,44(sp)80002120:	00021102 	srl	v0,v0,0x480002124:	a3a20012 	sb	v0,18(sp)  column_msb=column_msb|0xf0;
80002128:	93a30012 	lbu	v1,18(sp)8000212c:	2402fff0 	li	v0,-1680002130:	00621025 	or	v0,v1,v080002134:	a3a20012 	sb	v0,18(sp)  column_msb=column_msb&0x1f;
80002138:	93a20012 	lbu	v0,18(sp)8000213c:	3042001f 	andi	v0,v0,0x1f80002140:	a3a20012 	sb	v0,18(sp)  column_lsb=y_adr&0x0f;
80002144:	93a2002c 	lbu	v0,44(sp)80002148:	3042000f 	andi	v0,v0,0xf8000214c:	a3a20013 	sb	v0,19(sp)  result=s6b0724_write_command(column_msb); 
80002150:	93a20012 	lbu	v0,18(sp)80002154:	00402021 	move	a0,v080002158:	3c028000 	lui	v0,0x80008000215c:	24421fdc 	addiu	v0,v0,815680002160:	0040f809 	jalr	v080002164:	00000000 	nop80002168:	afa20018 	sw	v0,24(sp)  result=s6b0724_write_command(column_lsb); 
8000216c:	93a20013 	lbu	v0,19(sp)80002170:	00402021 	move	a0,v080002174:	3c028000 	lui	v0,0x800080002178:	24421fdc 	addiu	v0,v0,81568000217c:	0040f809 	jalr	v080002180:	00000000 	nop80002184:	afa20018 	sw	v0,24(sp)  result=s6b0724_write_command(page_adr); 
80002188:	93a20014 	lbu	v0,20(sp)8000218c:	00402021 	move	a0,v0

⌨️ 快捷键说明

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