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

📄 12864.lst

📁 12864液晶程序奥神队教案看来是大会发送到符合卡口述的回复 阿水地方阿水地方阿水地方
💻 LST
📖 第 1 页 / 共 2 页
字号:
(0136)     { if(flag==0) dat=0;
(0137) 	  else dat=font[Add+i+m];
(0138) 	  write_data(dat);
(0139) 	}
(0140) 	write_com(xAdd++); 
(0141) 	write_com(yAdd);
(0142) 	m+=num;
(0143)    } 
(0144) }
(0145) 
(0146) void DisplayLine(unsigned int Add,unsigned char com,unsigned char line,unsigned char flag)
(0147) { unsigned char i,p,l,r;  	  			   			     //Add:数据起始位置
(0148)   		   												 //com:空位置个数,4字为满
(0149)   r=com&0x0f;											 //line: 显示行位置
(0150)   l=4-com;												 //flag:是否清字符1不清
(0151)   for(i=0;i<r;i++)
(0152)     DisplayWord(Add+i*32,0xb8+(line%4)*2,0x40+(i+l)*16,(line/4)+1,16,flag);
(0153) }*/
(0154) void ClearDisplay(void)
(0155) { unsigned char i,j;
(0156) 
(0157)   for(i=0;i<8;i++)
    014F 2744      CLR	R20
    0150 C00D      RJMP	0x015E
(0158)   { write_com(0xb8+i); //X首地址
    0151 2F04      MOV	R16,R20
    0152 5408      SUBI	R16,0x48
    0153 DFA5      RCALL	_write_com
(0159)   	write_com(0x40); //y首地址
    0154 E400      LDI	R16,0x40
    0155 DFA3      RCALL	_write_com
(0160)   	for(j=0;j<64;j++)
    0156 2766      CLR	R22
    0157 C003      RJMP	0x015B
(0161)       write_data(0x00);
    0158 2700      CLR	R16
    0159 DFAF      RCALL	_write_data
    015A 9563      INC	R22
    015B 3460      CPI	R22,0x40
    015C F3D8      BCS	0x0158
    015D 9543      INC	R20
    015E 3048      CPI	R20,0x8
    015F F388      BCS	0x0151
(0162)   }
(0163) }
    0160 940E01CE  CALL	pop_gset2
    0162 9508      RET
_Test:
  K                    --> R20
  lcd_data             --> R22
    0163 940E01E8  CALL	push_gset2
    0165 01B8      MOVW	R22,R16
(0164) 
(0165) void Test(unsigned int lcd_data)
(0166)  {unsigned int K;
(0167)   write_com(0x01);
    0166 E001      LDI	R16,1
    0167 DF91      RCALL	_write_com
(0168)   write_com(0x40);
    0168 E400      LDI	R16,0x40
    0169 DF8F      RCALL	_write_com
(0169)   for(K=0;K<148;K++)
    016A 2744      CLR	R20
    016B 2755      CLR	R21
    016C C004      RJMP	0x0171
(0170)   {write_data(lcd_data);
    016D 2F06      MOV	R16,R22
    016E DF9A      RCALL	_write_data
    016F 5F4F      SUBI	R20,0xFF
    0170 4F5F      SBCI	R21,0xFF
    0171 3944      CPI	R20,0x94
    0172 E0E0      LDI	R30,0
    0173 075E      CPC	R21,R30
    0174 F3C0      BCS	0x016D
(0171)   }
(0172) 
(0173)  }
    0175 940E01CE  CALL	pop_gset2
    0177 9508      RET
_Testlcd2:
  lcd_datal            --> R22
  lcd_datah            --> R20
    0178 940E01E8  CALL	push_gset2
    017A 2F62      MOV	R22,R18
    017B 2F40      MOV	R20,R16
(0174) void Testlcd2(unsigned char lcd_datah,unsigned char lcd_datal)
(0175) {write_data(lcd_datal);
    017C 2F06      MOV	R16,R22
    017D DF8B      RCALL	_write_data
(0176)  delay(100);
    017E E604      LDI	R16,0x64
    017F E010      LDI	R17,0
    0180 DF62      RCALL	_delay
(0177)  write_data(lcd_datah);
    0181 2F04      MOV	R16,R20
    0182 DF86      RCALL	_write_data
(0178) }
    0183 940E01CE  CALL	pop_gset2
    0185 9508      RET
FILE: D:\mega16学习板资料\例程\m16\12864\main.c
(0001) //AM12864参考程序(st7920)
(0002) /********************************************/
(0003) /* AM12864系列测试程序 1.0for mega16 */
(0004) /* Designed by ourembed.com */
(0005) /* 2003.04.23 */
(0006) /********************************************/
(0007) //ICC-AVR application builder : 2006-11-7 18:33:11
(0008) // Target : M16
(0009) // Crystal: 4.0000Mhz
(0010) 
(0011) #include <iom16v.h>
(0012) #include <macros.h>
(0013) 
(0014) #include "12864.H"
(0015) 
(0016) 
(0017) 
(0018) 
(0019) void port_init(void)
(0020) {
(0021)  PORTA = 0xFF;
_port_init:
    0186 EF8F      LDI	R24,0xFF
    0187 BB8B      OUT	0x1B,R24
(0022)  DDRA  = 0xFF;
    0188 BB8A      OUT	0x1A,R24
(0023)  PORTB = 0xFF;
    0189 BB88      OUT	0x18,R24
(0024)  DDRB  = 0xFF;
    018A BB87      OUT	0x17,R24
(0025)  PORTC = 0xFF; //m103 output only
    018B BB85      OUT	0x15,R24
(0026)  DDRC  = 0xFF;
    018C BB84      OUT	0x14,R24
(0027)  PORTD = 0xFF;
    018D BB82      OUT	0x12,R24
(0028)  DDRD  = 0xFF;
    018E BB81      OUT	0x11,R24
(0029) }
    018F 9508      RET
(0030) 
(0031) //call this routine to initialise all peripherals
(0032) void init_devices(void)
(0033) {
(0034)  //stop errant interrupts until set up
(0035)  CLI(); //disable all interrupts
_init_devices:
    0190 94F8      BCLR	7
(0036)  port_init();
    0191 DFF4      RCALL	_port_init
(0037) 
(0038)  MCUCR = 0x00;
    0192 2422      CLR	R2
    0193 BE25      OUT	0x35,R2
(0039)  GICR  = 0x00;
    0194 BE2B      OUT	0x3B,R2
(0040)  TIMSK = 0x00; //timer interrupt sources
    0195 BE29      OUT	0x39,R2
(0041)  SEI(); //re-enable interrupts
    0196 9478      BSET	7
(0042)  //all peripherals are now initialised
(0043) }
    0197 9508      RET
(0044) 
(0045) //
(0046) void main(void)
(0047) {int i,j;
(0048)  init_devices();
_main:
  j                    --> Y+1
  i                    --> Y+1
    0198 DFF7      RCALL	_init_devices
(0049)  //insert your functional code here...
(0050)  init_lcd();
    0199 DF92      RCALL	_init_lcd
(0051)  Test(0x10);
    019A E100      LDI	R16,0x10
    019B E010      LDI	R17,0
    019C DFC6      RCALL	_Test
(0052)  Test(0x23);
    019D E203      LDI	R16,0x23
    019E E010      LDI	R17,0
    019F DFC3      RCALL	_Test
(0053)  Test(0x35);
    01A0 E305      LDI	R16,0x35
    01A1 E010      LDI	R17,0
    01A2 DFC0      RCALL	_Test
(0054)  init_lcd();         //LCD初始化
    01A3 DF88      RCALL	_init_lcd
(0055)  Testlcd2(0XA0,0XC1);//根据LCD12864自带字库,显示需要显示的汉字
    01A4 EC21      LDI	R18,0xC1
    01A5 EA00      LDI	R16,0xA0
    01A6 DFD1      RCALL	_Testlcd2
(0056)  Testlcd2(0XA0,0XC1);
    01A7 EC21      LDI	R18,0xC1
    01A8 EA00      LDI	R16,0xA0
    01A9 DFCE      RCALL	_Testlcd2
(0057)  Testlcd2(0XB6,0XBB);
    01AA EB2B      LDI	R18,0xBB
    01AB EB06      LDI	R16,0xB6
    01AC DFCB      RCALL	_Testlcd2
(0058)  Testlcd2(0XAD,0XD3);
    01AD ED23      LDI	R18,0xD3
    01AE EA0D      LDI	R16,0xAD
    01AF DFC8      RCALL	_Testlcd2
(0059)  Testlcd2(0XE2,0XB9);
    01B0 EB29      LDI	R18,0xB9
    01B1 EE02      LDI	R16,0xE2
    01B2 DFC5      RCALL	_Testlcd2
(0060)  Testlcd2(0XD9,0XC1);
    01B3 EC21      LDI	R18,0xC1
    01B4 ED09      LDI	R16,0xD9
    01B5 DFC2      RCALL	_Testlcd2
(0061)  Testlcd2(0XA0,0XC1);
    01B6 EC21      LDI	R18,0xC1
    01B7 EA00      LDI	R16,0xA0
    01B8 DFBF      RCALL	_Testlcd2
(0062)  Testlcd2(0XA0,0XC1);
    01B9 EC21      LDI	R18,0xC1
    01BA EA00      LDI	R16,0xA0
    01BB DFBC      RCALL	_Testlcd2
(0063)  Testlcd2(0XA0,0XC1);
    01BC EC21      LDI	R18,0xC1
    01BD EA00      LDI	R16,0xA0
    01BE DFB9      RCALL	_Testlcd2
(0064)  Testlcd2(0XB6,0XC7);
    01BF EC27      LDI	R18,0xC7
    01C0 EB06      LDI	R16,0xB6
    01C1 DFB6      RCALL	_Testlcd2
(0065)  Testlcd2(0XEB,0XC8);
    01C2 EC28      LDI	R18,0xC8
    01C3 EE0B      LDI	R16,0xEB
    01C4 DFB3      RCALL	_Testlcd2
(0066)  Testlcd2(0XBD,0XCA);
    01C5 EC2A      LDI	R18,0xCA
    01C6 EB0D      LDI	R16,0xBD
    01C7 DFB0      RCALL	_Testlcd2
(0067)  Testlcd2(0XAA,0XC1);
    01C8 EC21      LDI	R18,0xC1
    01C9 EA0A      LDI	R16,0xAA
    01CA DFAD      RCALL	_Testlcd2
(0068)  Testlcd2(0XCB,0XC3);/**/
    01CB EC23      LDI	R18,0xC3
    01CC EC0B      LDI	R16,0xCB
(0069)  
(0070)  
(0071) } 
FILE: <library>
    01CD CFAA      RJMP	_Testlcd2
pop_gset2:
    01CE E0E2      LDI	R30,2
    01CF 940C01D5  JMP	pop
push_gset1:
    01D1 935A      ST	R21,-Y
    01D2 934A      ST	R20,-Y
    01D3 9508      RET
pop_gset1:
    01D4 E0E1      LDI	R30,1
pop:
    01D5 9149      LD	R20,Y+
    01D6 9159      LD	R21,Y+
    01D7 FDE0      SBRC	R30,0
    01D8 9508      RET
    01D9 9169      LD	R22,Y+
    01DA 9179      LD	R23,Y+
    01DB FDE1      SBRC	R30,1
    01DC 9508      RET
    01DD 90A9      LD	R10,Y+
    01DE 90B9      LD	R11,Y+
    01DF FDE2      SBRC	R30,2
    01E0 9508      RET
    01E1 90C9      LD	R12,Y+
    01E2 90D9      LD	R13,Y+
    01E3 FDE3      SBRC	R30,3
    01E4 9508      RET
    01E5 90E9      LD	R14,Y+
    01E6 90F9      LD	R15,Y+
    01E7 9508      RET
push_gset2:
    01E8 937A      ST	R23,-Y
    01E9 936A      ST	R22,-Y
    01EA 940C01D1  JMP	push_gset1

⌨️ 快捷键说明

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