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

📄 m128.lst

📁 ewts avr驱动程序 角速度传感器 104为秒
💻 LST
📖 第 1 页 / 共 4 页
字号:
__text_start:
__start:
    0387 EFCF      LDI	R28,0xFF
    0388 E1D0      LDI	R29,0x10
    0389 BFCD      OUT	0x3D,R28
    038A BFDE      OUT	0x3E,R29
    038B 51C0      SUBI	R28,0x10
    038C 40D0      SBCI	R29,0
    038D EA0A      LDI	R16,0xAA
    038E 8308      STD	Y+0,R16
    038F 2400      CLR	R0
    0390 E0ED      LDI	R30,0xD
    0391 E0F1      LDI	R31,1
    0392 E011      LDI	R17,1
    0393 30ED      CPI	R30,0xD
    0394 07F1      CPC	R31,R17
    0395 F011      BEQ	0x0398
    0396 9201      ST	R0,Z+
    0397 CFFB      RJMP	0x0393
    0398 8300      STD	Z+0,R16
    0399 E0E1      LDI	R30,1
    039A E0F7      LDI	R31,7
    039B E0A0      LDI	R26,0
    039C E0B1      LDI	R27,1
    039D E017      LDI	R17,7
    039E 30EE      CPI	R30,0xE
    039F 07F1      CPC	R31,R17
    03A0 F021      BEQ	0x03A5
    03A1 95C8      LPM
    03A2 9631      ADIW	R30,1
    03A3 920D      ST	R0,X+
    03A4 CFF9      RJMP	0x039E
    03A5 940E0625  CALL	_main
_exit:
    03A7 CFFF      RJMP	_exit
FILE: D:\PROTEU~1.7\PROTEU~1.7\JOHU\a___EWTS82\megalcd.c
(0001) /*****************************************************
(0002)              http://www.sl.com.cn
(0003)       双龙电子公司----中文LCD演示程序(ICCAVR)
(0004) 	             作者:詹卫前 
(0005) 		  1、应包含头文件slavr.h
(0006)           2、在工程选项中的Additional Lib中填入slavr
(0007) 		     使编译器使用附加库文件libslavr.a
(0008) 		  3、数据线D0~D7接PORTA
(0009) 		     ASK=PORTE.6
(0010) 			 ANSWER=PORTE.7
(0011) 			 RESET=PORTC.3	 
(0012) *****************************************************/
(0013) #include <iom128v.h>
(0014) //#include <slavr.h>
(0015) /*   定义OCMJ4X8端口   */
(0016) //DATA_PORT=PORTA
(0017) #define data_port PORTA
(0018) //ASK=PORTE.6
(0019) #define ask (PINE&0x40)
(0020) //ANSWER=PORTE.7
(0021) #define set_answer asm("sbi 0x03,7")
(0022) #define clr_answer asm("cbi 0x03,7")
(0023) //RESTE=PORTC.3
(0024) #define set_reset asm("sbi 0x15,3")
(0025) #define clr_reset asm("cbi 0x15,3") 
(0026) #define wait  asm("nop\n nop")
(0027) 
(0028) #define xtal 8  
(0029) /*void delay_1ms(void)
(0030) { unsigned int i;
(0031)  for(i=1;i<(unsigned int)(xtal*143-2);i++)
(0032)     ;
(0033) }
(0034) void delay_ms(unsigned int n)
(0035) {
(0036)  unsigned int j=0;
(0037)    while(j<n)
(0038)    {delay_1ms();
(0039)     j++;
(0040)    }
(0041) }*/
(0042) 
(0043) //extern void delay_ms(unsigned int n);//引用外部函数
(0044) //extern void delay_1ms(void); 
(0045) /*--  双龙公司图标数据   --*/
(0046) /*--  宽度x高度=32x32  --*/
(0047) const unsigned char sl_ico[128]={
(0048) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xE0,0x1F,
(0049) 0xFF,0xFF,0x80,0x1F,0xFF,0xFF,0x00,0x3F,0xFF,0xFE,0x01,0xFF,0xFF,0xFC,0x07,0xFF,
(0050) 0xFF,0xF0,0x1F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x7F,0xFF,
(0051) 0xFF,0xE0,0x7F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x0F,0xFF,
(0052) 0xFF,0xFC,0x0F,0xFF,0xFF,0xFC,0x07,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xFF,0x03,0xFF,
(0053) 0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0x81,0xFF,0xFF,0xFF,0x01,0xFF,
(0054) 0xFF,0xFF,0x03,0xFF,0xFF,0xFE,0x03,0xFF,0xFF,0xF8,0x03,0xFF,0xFF,0xE0,0x07,0xFF,
(0055) 0xFE,0x00,0x2F,0xFF,0xFF,0xC0,0x3F,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
(0056) /*--  ATMEL位图文件数据 --*/
(0057) /*--  宽度x高度=104x49  --*/
(0058) const unsigned char atmel_bmp[637]={
(0059) 0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x0F,
(0060) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,
(0061) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0062) 0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0063) 0xF8,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,
(0064) 0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0xFF,0xFF,0xFF,
(0065) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,
(0066) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
(0067) 0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0068) 0x03,0xFC,0x7F,0x9F,0xFF,0xFF,0xF8,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x03,0xFC,0x7F,
(0069) 0x9F,0xFF,0xFF,0xFC,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x07,0xFC,0x7F,0x9F,0xFF,0xFF,
(0070) 0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x07,0xFC,0x7F,0x9F,0xC7,0xF9,0xFE,0x3F,0xFF,
(0071) 0xE7,0xF8,0x00,0x00,0x0F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,
(0072) 0x00,0x0F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x1F,0xFC,
(0073) 0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x1F,0xFC,0x7F,0x9F,0xC7,
(0074) 0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x3F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,
(0075) 0x00,0x07,0xF8,0x00,0x00,0x3F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0x00,0x07,0xF8,
(0076) 0x00,0x00,0x7F,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0x7F,
(0077) 0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0xFF,0xFC,0x7F,0x9F,
(0078) 0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x00,0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,
(0079) 0x3F,0xFF,0xE7,0xF8,0x00,0x01,0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,
(0080) 0xF8,0x00,0x01,0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x03,
(0081) 0xFF,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x03,0xFF,0xFC,0x7F,
(0082) 0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,0x07,0xFB,0xFC,0x7F,0x9F,0xC7,0xF8,
(0083) 0xFE,0x3F,0x00,0x07,0xF8,0x00,0x07,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0x00,
(0084) 0x07,0xF8,0x00,0x0F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xF8,0x00,
(0085) 0x1F,0xE3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF8,0x1F,0xE3,0xFC,
(0086) 0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF0,0x3F,0xC3,0xFC,0x7F,0x9F,0xC7,
(0087) 0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xF0,0x3F,0xC3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,
(0088) 0xFF,0xE7,0xFF,0xE0,0x7F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,
(0089) 0xE0,0x7F,0xF3,0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xC0,0xFF,0xF3,
(0090) 0xFC,0x7F,0x9F,0xC7,0xF8,0xFE,0x3F,0xFF,0xE7,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,
(0091) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0092) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0093) 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFF,
(0094) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFF,0xFF,0xFF,0xFF,
(0095) 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0096) 0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
(0097) 0xFF,0xF8,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,
(0098) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
(0099) /*--  文字:  和  --*/
(0100) /*--  楷体_GB231248;  此字体下对应的点阵为:宽x高=64x64   --*/
(0101) const unsigned char hz1[480]={
(0102) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0103) 0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,
(0104) 0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,
(0105) 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,
(0106) 0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
(0107) 0x00,0x03,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x87,0xC0,0x00,0x00,0x00,0x00,
(0108) 0x00,0x18,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,
(0109) 0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
(0110) 0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,
(0111) 0x00,0x00,0x03,0x87,0xC0,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x06,0x00,
(0112) 0x00,0x00,0x0F,0xFF,0xC0,0x00,0x1F,0x80,0x00,0x00,0xFF,0xF8,0x00,0x01,0xFF,0xE0,
(0113) 0x00,0x0F,0xFF,0x80,0x7F,0xFF,0xFF,0xF0,0x07,0xFF,0xE7,0x80,0x7F,0xFF,0xFF,0xF0,
(0114) 0x1F,0xFE,0x0F,0x80,0x7F,0x80,0x07,0xE0,0x0F,0xF0,0x1F,0x80,0x3E,0x00,0x07,0xC0,
(0115) 0x07,0x80,0x3F,0x80,0x1E,0x00,0x07,0xC0,0x00,0x00,0x3F,0x80,0x1E,0x00,0x07,0x80,
(0116) 0x00,0x00,0x7F,0x80,0x1E,0x00,0x07,0x80,0x00,0x00,0xFB,0x80,0x0E,0x00,0x07,0x80,
(0117) 0x00,0x00,0xF3,0xF8,0x0E,0x00,0x0F,0x00,0x00,0x01,0xE3,0xFE,0x0E,0x00,0x0F,0x00,
(0118) 0x00,0x03,0xE3,0xBF,0x0E,0x00,0x0F,0x00,0x00,0x07,0xC3,0x9F,0x07,0x00,0x0E,0x00,
(0119) 0x00,0x07,0x83,0x8F,0x07,0x00,0x0E,0x00,0x00,0x0F,0x03,0x83,0x07,0x00,0x1F,0x00,
(0120) 0x00,0x1E,0x03,0x80,0x07,0x1F,0xFF,0x80,0x00,0x3C,0x03,0x80,0x07,0xFF,0xFF,0x80,
(0121) 0x00,0x78,0x03,0x80,0x07,0xFF,0x00,0x00,0x00,0x70,0x03,0x80,0x03,0x00,0x00,0x00,
(0122) 0x00,0xE0,0x03,0x80,0x03,0x00,0x00,0x00,0x01,0xC0,0x03,0x80,0x03,0x00,0x00,0x00,
(0123) 0x03,0x80,0x07,0x80,0x03,0x00,0x00,0x00,0x06,0x00,0x07,0x80,0x01,0x00,0x00,0x00,
(0124) 0x0C,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x10,0x00,0x07,0x80,0x00,0x00,0x00,0x00,
(0125) 0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0126) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0127) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0128) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,
(0129) 0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
(0130) 0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0131) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
(0132) const unsigned char hz2[132]={
(0133) /*--  文字:  欢  --*/
(0134) /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
(0135) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x70,0x00,
(0136) 0x00,0x00,0x70,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xC0,0x00,
(0137) 0x00,0x00,0xC0,0x00,0x00,0x60,0x81,0x00,0x03,0xF1,0x8F,0xC0,0x3E,0x71,0xF9,0xE0,
(0138) 0x10,0x63,0x01,0x80,0x00,0x62,0x03,0x00,0x08,0x64,0xC2,0x00,0x04,0x60,0x60,0x00,
(0139) 0x06,0xC0,0x60,0x00,0x03,0xC0,0x60,0x00,0x01,0xC0,0x60,0x00,0x01,0xC0,0xD0,0x00,
(0140) 0x01,0x60,0xD8,0x00,0x03,0x70,0xCC,0x00,0x06,0x31,0x8C,0x00,0x04,0x11,0x86,0x00,
(0141) 0x08,0x03,0x03,0x80,0x10,0x06,0x03,0xC0,0x20,0x0C,0x01,0xF0,0x00,0x18,0x00,0xFC,
(0142) 0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0143) 0x00,0x00,0x00,0x00};
(0144) const unsigned char hz3[132]={
(0145) /*--  文字:  迎  --*/
(0146) /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
(0147) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0148) 0x00,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x06,0x00,0xC0,0x00,0x07,0x01,0x80,0x00,
(0149) 0x03,0x82,0x01,0xE0,0x01,0x1C,0x3E,0xE0,0x00,0x08,0x10,0x60,0x00,0x0C,0x10,0x60,
(0150) 0x00,0x0C,0x10,0xC0,0x07,0x0C,0x10,0xC0,0x3F,0x8C,0x50,0xC0,0x23,0x0D,0x93,0xC0,
(0151) 0x03,0x0F,0x11,0xC0,0x02,0x0E,0x11,0x80,0x02,0x0C,0x10,0x00,0x02,0x08,0x10,0x00,
(0152) 0x03,0x00,0x10,0x00,0x01,0x00,0x10,0x00,0x01,0x00,0x10,0x00,0x1F,0xC0,0x10,0x00,
(0153) 0x3C,0x3E,0x10,0x00,0x00,0x07,0xE0,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x3F,0xF8,
(0154) 0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0155) 0x00,0x00,0x00,0x00};
(0156) const unsigned char hz4[132]={
(0157) /*--  文字:  您  --*/
(0158) /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
(0159) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x30,0x60,0x00,
(0160) 0x00,0x30,0x60,0x00,0x00,0x70,0xE0,0x00,0x00,0x60,0xC1,0x80,0x00,0xC1,0xBF,0xE0,
(0161) 0x00,0xC3,0xE0,0xE0,0x01,0x82,0x31,0x00,0x03,0xC4,0x30,0x00,0x06,0xC8,0x10,0x00,
(0162) 0x0C,0xC0,0x10,0x00,0x08,0xC2,0x13,0x00,0x10,0x82,0x11,0xC0,0x00,0x86,0x10,0xC0,
(0163) 0x00,0x86,0x30,0x40,0x00,0x84,0xB0,0x00,0x00,0x80,0x70,0x00,0x00,0x80,0x30,0x00,
(0164) 0x00,0x00,0x20,0xE0,0x00,0x07,0x00,0x78,0x02,0x03,0xC0,0x18,0x02,0x20,0xC0,0x00,
(0165) 0x06,0x30,0x04,0x00,0x06,0x18,0x02,0x00,0x0C,0x0C,0x03,0x80,0x0C,0x07,0x03,0xC0,
(0166) 0x00,0x03,0xFF,0xC0,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0167) 0x00,0x00,0x00,0x00};
(0168) /*     OCMJ4X8LCD初始化     */
(0169) void ocmj_init(void)
(0170)     {
(0171) //	 MCUCR=0;
(0172) 	 DDRA=0xff;
_ocmj_init:
    03A8 EF8F      LDI	R24,0xFF
    03A9 BB8A      OUT	0x1A,R24
(0173) 	 PORTA=0xff;
    03AA BB8B      OUT	0x1B,R24
(0174) 	 DDRE=0b10000000;
    03AB E880      LDI	R24,0x80
    03AC B982      OUT	0x02,R24
(0175) 	 PORTE=0xff;
    03AD EF8F      LDI	R24,0xFF
    03AE B983      OUT	0x03,R24
(0176) 	 clr_reset;//LCD复位
    03AF 98AB      CBI	0x15,3
(0177) 	 delay_ms(10);
    03B0 E00A      LDI	R16,0xA
    03B1 E010      LDI	R17,0
    03B2 940E06CC  CALL	_delay_ms
(0178) 	 set_reset;
    03B4 9AAB      SBI	0x15,3
(0179) 	 clr_answer;
    03B5 981F      CBI	0x03,7
(0180) 	 delay_ms(10);
    03B6 E00A      LDI	R16,0xA
    03B7 E010      LDI	R17,0
    03B8 940E06CC  CALL	_delay_ms
    03BA 9508      RET
(0181) 	 }
(0182) /*            写数据到LCD        */
(0183) void ocmj_write(unsigned char data)
(0184)     {
(0185) 	 while(ask!=0)
_ocmj_write:
  data                 --> R16
    03BB 990E      SBIC	0x01,6
    03BC CFFE      RJMP	_ocmj_write
(0186) 	      ;
(0187)      data_port=data;
    03BD BB0B      OUT	0x1B,R16
(0188)    	 wait;
    03BE 0000      NOP
    03BF 0000      NOP
(0189) 	 set_answer;
    03C0 9A1F      SBI	0x03,7
(0190) 	 wait;
    03C1 0000      NOP
    03C2 0000      NOP
(0191) 	 while(ask==0)
    03C3 9B0E      SBIS	0x01,6
    03C4 CFFE      RJMP	0x03C3
(0192) 	      ;		  
(0193) 	 clr_answer; 
    03C5 981F      CBI	0x03,7
    03C6 9508      RET
_ico_tran:
  j                    --> R20
  i                    --> R14
  ico_p                --> R10
  y                    --> R12
  x                    --> R22
    03C7 940E0733  CALL	push_gset5
    03C9 2EC2      MOV	R12,R18
    03CA 2F60      MOV	R22,R16
    03CB 84AA      LDD	R10,Y+10
    03CC 84BB      LDD	R11,Y+11
(0194)     }
(0195) /*         传送32*32ICO点阵数据到LCD       */
(0196) /*         x:0~15(字节为单位)  y:0~64      */
(0197) /*         ico_p:指向图形数据的指针        */	
(0198) void ico_tran(unsigned char x,unsigned char y,const unsigned char *ico_p)
(0199)      {
(0200) 	  unsigned char i,j;
(0201) 	  x+=4;
    03CD 5F6C      SUBI	R22,0xFC
(0202) 	  for(j=0;j<32;j++)
    03CE 2744      CLR	R20
    03CF C016      RJMP	0x03E6
(0203) 	     {
(0204) 		  for(i=0;i<4;i++)
    03D0 24EE      CLR	R14
    03D1 C00E      RJMP	0x03E0
(0205) 		    {
(0206) 			 ocmj_write(0xf3);
    03D2 EF03      LDI	R16,0xF3
    03D3 DFE7      RCALL	_ocmj_write
(0207) 			 ocmj_write(x);
    03D4 2F06      MOV	R16,R22
    03D5 DFE5      RCALL	_ocmj_write
(0208) 			 ocmj_write(y);
    03D6 2D0C      MOV	R16,R12
    03D7 DFE3      RCALL	_ocmj_write
(0209) 			 ocmj_write(*ico_p);
    03D8 01F5      MOVW	R30,R10
    03D9 9104      LPM	R16,0(Z)
    03DA DFE0      RCALL	_ocmj_write
(0210) 			 ico_p++;
    03DB 01C5      MOVW	R24,R10
    03DC 9601      ADIW	R24,1
    03DD 015C      MOVW	R10,R24
(0211) 			 x++;
    03DE 9563      INC	R22
    03DF 94E3      INC	R14
    03E0 2D8E      MOV	R24,R14
    03E1 3084      CPI	R24,4
    03E2 F378      BCS	0x03D2
(0212) 			}
(0213) 		  x-=4;
    03E3 5064      SUBI	R22,4
(0214) 		  y++;	
    03E4 94C3      INC	R12
    03E5 9543      INC	R20
    03E6 3240      CPI	R20,0x20
    03E7 F340      BCS	0x03D0
    03E8 940E0730  CALL	pop_gset5
    03EA 9508      RET
_bmp_tran:
  j                    --> R20
  i                    --> R14
  bmp_p                --> R22
  width                --> R10
  high                 --> R12
  y                    --> Y+12
  x                    --> Y+10
    03EB 940E06DB  CALL	push_arg4
    03ED 940E0733  CALL	push_gset5
    03EF 84CE      LDD	R12,Y+14
    03F0 88A8      LDD	R10,Y+16
    03F1 896A      LDD	R22,Y+18
    03F2 897B      LDD	R23,Y+19
(0215) 		 }
(0216) 	 }
(0217) /*         传送bmp点阵数据到LCD            */
(0218) /*         x:0~15(字节为单位)  y:0~64      */
(0219) /*         bmp_p:指向图形数据的指针        */	
(0220) /*         high:位图高度(点阵行为单位)     */
(0221) /*         width:位图宽度(以字节为单位)?  */
(0222) void bmp_tran(unsigned char x,unsigned char y,unsigned char high,unsigned char width,const unsigned char *bmp_p)
(0223)      {
(0224) 	  unsigned char i,j;
(0225) 	  x+=4;
    03F3 858A      LDD	R24,Y+10
    03F4 5F8C      SUBI	R24,0xFC
    03F5 878A      STD	Y+10,R24
(0226) 	  for(j=0;j<high;j++)
    03F6 2744      CLR	R20
    03F7 C01A      RJMP	0x0412
(0227) 	     {
(0228) 		  for(i=0;i<width;i++)
    03F8 24EE      CLR	R14
    03F9 C00F      RJMP	0x0409
(0229) 		    {
(0230) 			 ocmj_write(0xf3);
    03FA EF03      LDI	R16,0xF3
    03FB DFBF      RCALL	_ocmj_write
(0231) 			 ocmj_write(x);
    03FC 850A      LDD	R16,Y+10
    03FD DFBD      RCALL	_ocmj_write
(0232) 			 ocmj_write(y);
    03FE 850C      LDD	R16,Y+12
    03FF DFBB      RCALL	_ocmj_write
(0233) 			 ocmj_write(*bmp_p);
    0400 01FB      MOVW	R30,R22
    0401 9104      LPM	R16,0(Z)
    0402 DFB8      RCALL	_ocmj_write
(0234) 			 bmp_p++;
    0403 5F6F      SUBI	R22,0xFF
    0404 4F7F      SBCI	R23,0xFF
(0235) 			 x++;
    0405 840A      LDD	R0,Y+10
    0406 9403      INC	R0
    0407 860A      STD	Y+10,R0
    0408 94E3      INC	R14
    0409 14EA      CP	R14,R10
    040A F378      BCS	0x03FA
(0236) 			}
(0237) 		  x-=width;
    040B 840A      LDD	R0,Y+10
    040C 180A      SUB	R0,R10
    040D 860A      STD	Y+10,R0
(0238) 		  y++;	
    040E 840C      LDD	R0,Y+12
    040F 9403      INC	R0
    0410 860C      STD	Y+12,R0
    0411 9543      INC	R20
    0412 154C      CP	R20,R12
    0413 F320      BCS	0x03F8
    0414 940E0730  CALL	pop_gset5
    0416 9624      ADIW	R28,4
    0417 9508      RET
_hz_tran:
  hz_p                 --> R20
  y                    --> R22
  x                    --> R10
    0418 940E0737  CALL	push_gset3
    041A 2F62      MOV	R22,R18

⌨️ 快捷键说明

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