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

📄 12864bk.lst

📁 avr基础程序大全
💻 LST
字号:
Interrupt Vectors
    00000 940C 003F JMP	__start|__text_start

Program Code (text area)
__start|__text_start:
    0003F E5CF      LDI	R28,0x5F
    00040 E0D4      LDI	R29,4
    00041 BFCD      OUT	0x3D,R28
    00042 BFDE      OUT	0x3E,R29
    00043 51CE      SUBI	R28,0x1E
    00044 40D0      SBCI	R29,0
    00045 EA0A      LDI	R16,0xAA
    00046 8308      ST	Y,R16
    00047 2400      CLR	R0
    00048 E8E9      LDI	R30,0x89
    00049 E0F0      LDI	R31,0
    0004A E010      LDI	R17,0
    0004B 38E9      CPI	R30,0x89
    0004C 07F1      CPC	R31,R17
    0004D F011      BEQ	0x0050
    0004E 9201      ST	Z+,R0
    0004F CFFB      RJMP	0x004B
    00050 8300      ST	Z,R16
    00051 E5E4      LDI	R30,0x54
    00052 E0F0      LDI	R31,0
    00053 E6A0      LDI	R26,0x60
    00054 E0B0      LDI	R27,0
    00055 E010      LDI	R17,0
    00056 E000      LDI	R16,0
    00057 BF0B      OUT	0x3B,R16
    00058 37ED      CPI	R30,0x7D
    00059 07F1      CPC	R31,R17
    0005A F021      BEQ	0x005F
    0005B 95C8      LPM
    0005C 9631      ADIW	R30,1
    0005D 920D      ST	X+,R0
    0005E CFF9      RJMP	0x0058
    0005F 940E 008F CALL	_main
_exit:
    00061 CFFF      RJMP	_exit
_delay:
  i                    --> R20
  j                    --> R22
  ms                   --> R16
    00062 940E 00F2 CALL	push_xgsetF000
FILE: E:\AVR自编程序\11avr实验板\191286~1\12864并口.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #define  uchar unsigned char
(0004) #define  uint  unsigned int
(0005) 
(0006) //#pragma data:code
(0007)  
(0008) const uchar table[]="I LIKE AVR !";
(0009) const uchar table1[]="5 XUE DIANZI ";
(0010) const uchar table2[]="我爱单片机   ";
(0011) 
(0012) void delay(uint ms)
(0013) {
(0014)         uint i,j;
(0015) 	for(i=0;i<ms;i++)
    00064 2744      CLR	R20
    00065 2755      CLR	R21
    00066 C00B      RJMP	0x0072
(0016) 	   {
(0017) 	   for(j=0;j<1141;j++);
    00067 2766      CLR	R22
    00068 2777      CLR	R23
    00069 C002      RJMP	0x006C
    0006A 5F6F      SUBI	R22,0xFF
    0006B 4F7F      SBCI	R23,0xFF
    0006C 3765      CPI	R22,0x75
    0006D E0E4      LDI	R30,4
    0006E 077E      CPC	R23,R30
    0006F F3D0      BCS	0x006A
    00070 5F4F      SUBI	R20,0xFF
    00071 4F5F      SBCI	R21,0xFF
    00072 1740      CP	R20,R16
    00073 0751      CPC	R21,R17
    00074 F390      BCS	0x0067
    00075 940C 00F7 JMP	pop_xgsetF000
_write_com:
  com                  --> R10
    00077 92AA      ST	-Y,R10
    00078 2EA0      MOV	R10,R16
(0018)        }
(0019) }
(0020) 
(0021) 
(0022) void write_com(uchar com)
(0023) {
(0024)        PORTC&=~BIT(5);
    00079 98AD      CBI	0x15,5
(0025) 	   PORTC&=~BIT(6);
    0007A 98AE      CBI	0x15,6
(0026) 	   PORTA=com;
    0007B BAAB      OUT	0x1B,R10
(0027) 	   PORTC|=BIT(7);
    0007C 9AAF      SBI	0x15,7
(0028) 	   delay(1);
    0007D E001      LDI	R16,1
    0007E E010      LDI	R17,0
    0007F DFE2      RCALL	_delay
(0029) 	   PORTC&=~BIT(7);
    00080 98AF      CBI	0x15,7
    00081 90A9      LD	R10,Y+
    00082 9508      RET
_write_dat:
  dat                  --> R10
    00083 92AA      ST	-Y,R10
    00084 2EA0      MOV	R10,R16
(0030) }
(0031) 
(0032) void write_dat(uchar dat)
(0033) {     
(0034)        PORTC|=BIT(5);
    00085 9AAD      SBI	0x15,5
(0035) 	   PORTC&=~BIT(6);
    00086 98AE      CBI	0x15,6
(0036) 	   PORTA=dat;
    00087 BAAB      OUT	0x1B,R10
(0037) 	   PORTC|=BIT(7);
    00088 9AAF      SBI	0x15,7
(0038) 	   delay(1);
    00089 E001      LDI	R16,1
    0008A E010      LDI	R17,0
    0008B DFD6      RCALL	_delay
(0039) 	   PORTC&=~BIT(7);
    0008C 98AF      CBI	0x15,7
    0008D 90A9      LD	R10,Y+
    0008E 9508      RET
(0040) }
(0041) void  main()
(0042) {
(0043)       uchar i;
(0044) 	  DDRA=0XFF;
_main:
  i                    --> R20
    0008F EF8F      LDI	R24,0xFF
    00090 BB8A      OUT	0x1A,R24
(0045) 	  DDRC|=BIT(5)|BIT(6)|BIT(7)|BIT(4)|BIT(2);
    00091 B384      IN	R24,0x14
    00092 6F84      ORI	R24,0xF4
    00093 BB84      OUT	0x14,R24
(0046) 	  PORTC&=~BIT(7);
    00094 98AF      CBI	0x15,7
(0047) 	  PORTC|=BIT(4);
    00095 9AAC      SBI	0x15,4
(0048) 	  PORTC|=BIT(2);
    00096 9AAA      SBI	0x15,2
(0049) 	  
(0050) 	  write_com(0X38);
    00097 E308      LDI	R16,0x38
    00098 DFDE      RCALL	_write_com
(0051) 	  delay(5);
    00099 E005      LDI	R16,5
    0009A E010      LDI	R17,0
    0009B DFC6      RCALL	_delay
(0052) 	  write_com(0X01);
    0009C E001      LDI	R16,1
    0009D DFD9      RCALL	_write_com
(0053) 	  delay(5);
    0009E E005      LDI	R16,5
    0009F E010      LDI	R17,0
    000A0 DFC1      RCALL	_delay
(0054) 	  write_com(0X0C);
    000A1 E00C      LDI	R16,0xC
    000A2 DFD4      RCALL	_write_com
(0055) 	  delay(5);
    000A3 E005      LDI	R16,5
    000A4 E010      LDI	R17,0
    000A5 DFBC      RCALL	_delay
(0056) 	  write_com(0X06);
    000A6 E006      LDI	R16,6
    000A7 DFCF      RCALL	_write_com
(0057) 	  delay(5);
    000A8 E005      LDI	R16,5
    000A9 E010      LDI	R17,0
    000AA DFB7      RCALL	_delay
(0058) 	  write_com(0X80+0X10);
    000AB E900      LDI	R16,0x90
    000AC DFCA      RCALL	_write_com
(0059) 	  delay(5);
    000AD E005      LDI	R16,5
    000AE E010      LDI	R17,0
    000AF DFB2      RCALL	_delay
(0060) 	  for(i=0;i<12;i++)
    000B0 2744      CLR	R20
    000B1 C00C      RJMP	0x00BE
(0061) 	  {
(0062) 	     write_dat(table[i]);
    000B2 E680      LDI	R24,0x60
    000B3 E090      LDI	R25,0
    000B4 2FE4      MOV	R30,R20
    000B5 27FF      CLR	R31
    000B6 0FE8      ADD	R30,R24
    000B7 1FF9      ADC	R31,R25
    000B8 8100      LD	R16,Z
    000B9 DFC9      RCALL	_write_dat
(0063) 		 delay(5);
    000BA E005      LDI	R16,5
    000BB E010      LDI	R17,0
    000BC DFA5      RCALL	_delay
    000BD 9543      INC	R20
    000BE 304C      CPI	R20,0xC
    000BF F390      BCS	0x00B2
(0064) 	  }
(0065) 	  write_com(0X80+0X50);
    000C0 ED00      LDI	R16,0xD0
    000C1 DFB5      RCALL	_write_com
(0066) 	  delay(5);
    000C2 E005      LDI	R16,5
    000C3 E010      LDI	R17,0
    000C4 DF9D      RCALL	_delay
(0067) 	    for(i=0;i<13;i++)
    000C5 2744      CLR	R20
    000C6 C00C      RJMP	0x00D3
(0068) 	  {
(0069) 	     write_dat(table1[i]);
    000C7 E68D      LDI	R24,0x6D
    000C8 E090      LDI	R25,0
    000C9 2FE4      MOV	R30,R20
    000CA 27FF      CLR	R31
    000CB 0FE8      ADD	R30,R24
    000CC 1FF9      ADC	R31,R25
    000CD 8100      LD	R16,Z
    000CE DFB4      RCALL	_write_dat
(0070) 		 delay(5);
    000CF E005      LDI	R16,5
    000D0 E010      LDI	R17,0
    000D1 DF90      RCALL	_delay
    000D2 9543      INC	R20
    000D3 304D      CPI	R20,0xD
    000D4 F390      BCS	0x00C7
(0071) 	  }
(0072) 	  for(i=0;i<16;i++)
    000D5 2744      CLR	R20
    000D6 C006      RJMP	0x00DD
(0073) 	  {
(0074) 	     write_com(0X18);
    000D7 E108      LDI	R16,0x18
    000D8 DF9E      RCALL	_write_com
(0075) 		 delay(500);
    000D9 EF04      LDI	R16,0xF4
    000DA E011      LDI	R17,1
    000DB DF86      RCALL	_delay
    000DC 9543      INC	R20
    000DD 3140      CPI	R20,0x10
    000DE F3C0      BCS	0x00D7
(0076) 	  }
(0077) 	  write_com(0X80);
    000DF E800      LDI	R16,0x80
    000E0 DF96      RCALL	_write_com
(0078) 	  for(i=0;i<13;i++)
    000E1 2744      CLR	R20
    000E2 C00C      RJMP	0x00EF
(0079) 	  {
(0080) 	     write_dat(table2[i]);
    000E3 E78B      LDI	R24,0x7B
    000E4 E090      LDI	R25,0
    000E5 2FE4      MOV	R30,R20
    000E6 27FF      CLR	R31
    000E7 0FE8      ADD	R30,R24
    000E8 1FF9      ADC	R31,R25
    000E9 8100      LD	R16,Z
    000EA DF98      RCALL	_write_dat
(0081) 		 delay(5);
FILE: <library>
    000EB E005      LDI	R16,5
    000EC E010      LDI	R17,0
    000ED DF74      RCALL	_delay
    000EE 9543      INC	R20
    000EF 304D      CPI	R20,0xD
    000F0 F390      BCS	0x00E3
    000F1 9508      RET
push_xgsetF000:
    000F2 937A      ST	-Y,R23
    000F3 936A      ST	-Y,R22
    000F4 935A      ST	-Y,R21
    000F5 934A      ST	-Y,R20
    000F6 9508      RET
pop_xgsetF000:
    000F7 9149      LD	R20,Y+
    000F8 9159      LD	R21,Y+
    000F9 9169      LD	R22,Y+
    000FA 9179      LD	R23,Y+
    000FB 9508      RET

⌨️ 快捷键说明

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