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

📄 1.lst

📁 控制数码管
💻 LST
字号:
Interrupt Vectors
    00000 940C 002F JMP	__text_start|__start

Program Code (text area)
__text_start|__start:
    0002F E5CF      LDI	R28,0x5F
    00030 E0D4      LDI	R29,4
    00031 BFCD      OUT	0x3D,R28
    00032 BFDE      OUT	0x3E,R29
    00033 51CE      SUBI	R28,0x1E
    00034 40D0      SBCI	R29,0
    00035 EA0A      LDI	R16,0xAA
    00036 8308      ST	Y,R16
    00037 2400      CLR	R0
    00038 E6EA      LDI	R30,0x6A
    00039 E0F0      LDI	R31,0
    0003A E010      LDI	R17,0
    0003B 36EA      CPI	R30,0x6A
    0003C 07F1      CPC	R31,R17
    0003D F011      BEQ	0x0040
    0003E 9201      ST	Z+,R0
    0003F CFFB      RJMP	0x003B
    00040 8300      ST	Z,R16
    00041 E5E4      LDI	R30,0x54
    00042 E0F0      LDI	R31,0
    00043 E6A0      LDI	R26,0x60
    00044 E0B0      LDI	R27,0
    00045 E010      LDI	R17,0
    00046 E000      LDI	R16,0
    00047 BF0B      OUT	0x3B,R16
    00048 35EE      CPI	R30,0x5E
    00049 07F1      CPC	R31,R17
    0004A F021      BEQ	0x004F
    0004B 95C8      LPM
    0004C 9631      ADIW	R30,1
    0004D 920D      ST	X+,R0
    0004E CFF9      RJMP	0x0048
    0004F 940E 0061 CALL	_main
_exit:
    00051 CFFF      RJMP	_exit
_delay:
  i                    --> R20
  j                    --> R10
  x                    --> R16
    00052 92AA      ST	-Y,R10
    00053 934A      ST	-Y,R20
FILE: G:\暑假AVR单片机练习程序代码\作业\1\1.c
(0001) #include <iom16v.h>
(0002) unsigned char LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
(0003) int delay(unsigned char x)
(0004) {
(0005)  unsigned char i,j;
(0006)  for(i=0;i<10;i++)
    00054 2744      CLR	R20
    00055 C006      RJMP	0x005C
(0007)  for(j=0;j<x;j++);
    00056 24AA      CLR	R10
    00057 C001      RJMP	0x0059
    00058 94A3      INC	R10
    00059 16A0      CP	R10,R16
    0005A F3E8      BCS	0x0058
    0005B 9543      INC	R20
    0005C 304A      CPI	R20,0xA
    0005D F3C0      BCS	0x0056
    0005E 9149      LD	R20,Y+
    0005F 90A9      LD	R10,Y+
    00060 9508      RET
(0008) }
(0009) int main(void)
(0010) {
(0011)  signed char key,q,shi,ge;
(0012)  q=0;
_main:
  ge                   --> R12
  shi                  --> R10
  q                    --> R20
  key                  --> R22
    00061 2744      CLR	R20
(0013)  DDRA=0xff;
    00062 EF8F      LDI	R24,0xFF
    00063 BB8A      OUT	0x1A,R24
(0014)  DDRB=0xff;
    00064 BB87      OUT	0x17,R24
(0015)  DDRC=0xfc;
    00065 EF8C      LDI	R24,0xFC
    00066 BB84      OUT	0x14,R24
(0016)  SFIOR&=0xfb;
    00067 B780      IN	R24,0x30
    00068 7F8B      ANDI	R24,0xFB
    00069 BF80      OUT	0x30,R24
(0017)  PORTC=0X03;
    0006A E083      LDI	R24,3
    0006B BB85      OUT	0x15,R24
    0006C C046      RJMP	0x00B3
(0018)  while(1)
(0019)  {
(0020)   key=PINC&0x03; 
    0006D B363      IN	R22,0x13
    0006E 7063      ANDI	R22,3
(0021)   if(key!=0x03)
    0006F 3063      CPI	R22,3
    00070 F011      BEQ	0x0073
(0022)   {
(0023)    delay(5);
    00071 E005      LDI	R16,5
    00072 DFDF      RCALL	_delay
(0024)   }
(0025)   if(key!=0x03)
    00073 3063      CPI	R22,3
    00074 F0A1      BEQ	0x0089
(0026)   {
(0027)    if(key==0x02)
    00075 3062      CPI	R22,2
    00076 F441      BNE	0x007F
(0028)    {
(0029)     do
(0030) 	key=PINC&0x03;
    00077 B363      IN	R22,0x13
    00078 7063      ANDI	R22,3
(0031) 	while(key==0x02);
    00079 3062      CPI	R22,2
    0007A F3E1      BEQ	0x0077
(0032)     q+=1;
    0007B 9543      INC	R20
(0033)     if(q==60)q=0;
    0007C 334C      CPI	R20,0x3C
    0007D F409      BNE	0x007F
    0007E 2744      CLR	R20
(0034)    }
(0035)    if(key==0x01)
    0007F 3061      CPI	R22,1
    00080 F441      BNE	0x0089
(0036)    {
(0037)     do
(0038) 	key=PINC&0x03;
    00081 B363      IN	R22,0x13
    00082 7063      ANDI	R22,3
(0039) 	while(key==0x01);
    00083 3061      CPI	R22,1
    00084 F3E1      BEQ	0x0081
(0040)     q-=1;
    00085 954A      DEC	R20
(0041)     if(q==-1)q=59;
    00086 3F4F      CPI	R20,0xFF
    00087 F409      BNE	0x0089
    00088 E34B      LDI	R20,0x3B
(0042)     }
(0043)    }  
(0044)   shi=q/10;
    00089 E01A      LDI	R17,0xA
    0008A 2F04      MOV	R16,R20
    0008B 940E 00B9 CALL	div8s
    0008D 2EA0      MOV	R10,R16
(0045)   ge=q%10;
    0008E E01A      LDI	R17,0xA
    0008F 2F04      MOV	R16,R20
    00090 940E 00B5 CALL	mod8s
    00092 2EC0      MOV	R12,R16
(0046)   
(0047)   
(0048)   PORTA=LED[ge];
    00093 E680      LDI	R24,0x60
    00094 E090      LDI	R25,0
    00095 2DEC      MOV	R30,R12
    00096 27FF      CLR	R31
    00097 FDE7      SBRC	R30,7
    00098 95F0      COM	R31
    00099 0FE8      ADD	R30,R24
    0009A 1FF9      ADC	R31,R25
    0009B 8020      LD	R2,Z
    0009C BA2B      OUT	0x1B,R2
(0049)   PORTB=0xfd;
    0009D EF8D      LDI	R24,0xFD
    0009E BB88      OUT	0x18,R24
(0050)   delay(10);
    0009F E00A      LDI	R16,0xA
    000A0 DFB1      RCALL	_delay
(0051)   PORTB=0xff;
    000A1 EF8F      LDI	R24,0xFF
    000A2 BB88      OUT	0x18,R24
(0052)   
(0053)   PORTA=LED[shi];
    000A3 E680      LDI	R24,0x60
    000A4 E090      LDI	R25,0
    000A5 2DEA      MOV	R30,R10
    000A6 27FF      CLR	R31
    000A7 FDE7      SBRC	R30,7
    000A8 95F0      COM	R31
    000A9 0FE8      ADD	R30,R24
    000AA 1FF9      ADC	R31,R25
    000AB 8020      LD	R2,Z
    000AC BA2B      OUT	0x1B,R2
(0054)   PORTB=0xfe;
    000AD EF8E      LDI	R24,0xFE
    000AE BB88      OUT	0x18,R24
(0055)   delay(10);
    000AF E00A      LDI	R16,0xA
    000B0 DFA1      RCALL	_delay
(0056)   PORTB=0xff;
FILE: <library>
    000B1 EF8F      LDI	R24,0xFF
    000B2 BB88      OUT	0x18,R24
    000B3 CFB9      RJMP	0x006D
    000B4 9508      RET
mod8s:
    000B5 92EA      ST	-Y,R14
    000B6 9468      BSET	6
    000B7 2EE0      MOV	R14,R16
    000B8 C004      RJMP	0x00BD
div8s:
    000B9 92EA      ST	-Y,R14
    000BA 94E8      BCLR	6
    000BB 2EE0      MOV	R14,R16
    000BC 26E1      EOR	R14,R17
    000BD FD07      SBRC	R16,7
    000BE 9501      NEG	R16
    000BF FD17      SBRC	R17,7
    000C0 9511      NEG	R17
    000C1 940E 00CA CALL	xdiv8u
    000C3 FCE7      SBRC	R14,7
    000C4 9501      NEG	R16
    000C5 90E9      LD	R14,Y+
    000C6 9508      RET
mod8u:
    000C7 9468      BSET	6
    000C8 C001      RJMP	xdiv8u
div8u:
    000C9 94E8      BCLR	6
xdiv8u:
    000CA 932A      ST	-Y,R18
    000CB 92FA      ST	-Y,R15
    000CC 92EA      ST	-Y,R14
    000CD 24FF      CLR	R15
    000CE 24EE      CLR	R14
    000CF E120      LDI	R18,0x10
    000D0 0F00      LSL	R16
    000D1 1CFF      ROL	R15
    000D2 1CEE      ROL	R14
    000D3 16E1      CP	R14,R17
    000D4 F010      BCS	0x00D7
    000D5 1AE1      SUB	R14,R17
    000D6 9503      INC	R16
    000D7 952A      DEC	R18
    000D8 F7B9      BNE	0x00D0
    000D9 F40E      BRTC	0x00DB
    000DA 2D0E      MOV	R16,R14
    000DB 90E9      LD	R14,Y+
    000DC 90F9      LD	R15,Y+
    000DD 9129      LD	R18,Y+
    000DE 9508      RET

⌨️ 快捷键说明

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