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

📄 zdsmjp.lst

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LST
📖 第 1 页 / 共 2 页
字号:
     113 F129      BEQ	0x0139
     114 3E6B      CPI	R22,0xEB
     115 E0E0      LDI	R30,0
     116 077E      CPC	R23,R30
     117 F0C9      BEQ	0x0131
     118 3E6D      CPI	R22,0xED
     119 E0E0      LDI	R30,0
     11A 077E      CPC	R23,R30
     11B F069      BEQ	0x0129
     11C 3E6E      CPI	R22,0xEE
     11D E0E0      LDI	R30,0
     11E 077E      CPC	R23,R30
     11F F009      BEQ	0x0121
     120 C020      RJMP	0x0141
(0071) 		{
(0072)        case 0xEE:
(0073) 	   		key=0x0;
     121 2744      CLR	R20
(0074) 			break;
     122 C021      RJMP	0x0144
(0075) 	   case 0xDE:
(0076) 	   		key=0x1;
     123 E041      LDI	R20,1
(0077) 			break; 
     124 C01F      RJMP	0x0144
(0078) 	   case 0xBE:
(0079) 	   		key=0x2;
     125 E042      LDI	R20,2
(0080) 			break;
     126 C01D      RJMP	0x0144
(0081) 	   case 0x7E:
(0082) 	   		key=0x3;
     127 E043      LDI	R20,3
(0083) 			break;
     128 C01B      RJMP	0x0144
(0084) 	   case 0xED:
(0085) 	   		key=0x4;
     129 E044      LDI	R20,4
(0086) 			break;
     12A C019      RJMP	0x0144
(0087) 	   case 0xDD:
(0088) 	   		key=0x5;
     12B E045      LDI	R20,5
(0089) 			break;
     12C C017      RJMP	0x0144
(0090) 	   case 0xBD:
(0091) 	   		key=0x6;
     12D E046      LDI	R20,6
(0092) 			break;
     12E C015      RJMP	0x0144
(0093) 	   case 0x7D:
(0094) 	   		key=0x7;
     12F E047      LDI	R20,7
(0095) 			break;
     130 C013      RJMP	0x0144
(0096) 	   case 0xEB:
(0097) 	   		key=0x8;
     131 E048      LDI	R20,0x8
(0098) 			break;
     132 C011      RJMP	0x0144
(0099) 	   case 0xDB:
(0100) 	   		key=0x9;
     133 E049      LDI	R20,0x9
(0101) 			break;
     134 C00F      RJMP	0x0144
(0102) 	   case 0xBB:
(0103) 	   		key=0xA;
     135 E04A      LDI	R20,0xA
(0104) 			break;
     136 C00D      RJMP	0x0144
(0105) 	   case 0x7B:
(0106) 	   		key=0xB;
     137 E04B      LDI	R20,0xB
(0107) 			break;
     138 C00B      RJMP	0x0144
(0108) 	   case 0xE7:
(0109) 	   		key=0xC;
     139 E04C      LDI	R20,0xC
(0110) 			break;
     13A C009      RJMP	0x0144
(0111) 	   case 0xD7:
(0112) 	   		key=0xD;
     13B E04D      LDI	R20,0xD
(0113) 			break;
     13C C007      RJMP	0x0144
(0114) 	   case 0xB7:
(0115) 	   		key=0xE;
     13D E04E      LDI	R20,0xE
(0116) 			break;
     13E C005      RJMP	0x0144
(0117) 	   case 0x77:
(0118) 	   		key=0xF;
     13F E04F      LDI	R20,0xF
(0119) 			break;
     140 C003      RJMP	0x0144
(0120) 	   default:
(0121) 	        key=16;		
     141 E140      LDI	R20,0x10
(0122) 		}
(0123) 	 }
     142 C001      RJMP	0x0144
(0124) 	 else
(0125) 	 {
(0126) 	    key=16;
     143 E140      LDI	R20,0x10
(0127) 	 }
(0128) 	 return key;
     144 2F04      MOV	R16,R20
     145 940C 01D7 JMP	pop_xgsetF00C
_miao:
     147 920A      ST	R0,-Y
     148 921A      ST	R1,-Y
     149 922A      ST	R2,-Y
     14A 923A      ST	R3,-Y
     14B 924A      ST	R4,-Y
     14C 925A      ST	R5,-Y
     14D 926A      ST	R6,-Y
     14E 927A      ST	R7,-Y
     14F 928A      ST	R8,-Y
     150 929A      ST	R9,-Y
     151 930A      ST	R16,-Y
     152 931A      ST	R17,-Y
     153 932A      ST	R18,-Y
     154 933A      ST	R19,-Y
     155 938A      ST	R24,-Y
     156 939A      ST	R25,-Y
     157 93AA      ST	R26,-Y
     158 93BA      ST	R27,-Y
     159 93EA      ST	R30,-Y
     15A 93FA      ST	R31,-Y
     15B B60F      IN	R0,0x3F
     15C 920A      ST	R0,-Y
(0129) }
(0130) void miao()
(0131) {
(0132)     if(num==60)
     15D 9180 0060 LDS	R24,num
     15F 338C      CPI	R24,0x3C
     160 F419      BNE	0x0164
(0133) 	   num=0;
     161 2422      CLR	R2
     162 9220 0060 STS	num,R2
(0134) 	  num++;
     164 9180 0060 LDS	R24,num
     166 5F8F      SUBI	R24,0xFF
     167 9380 0060 STS	num,R24
(0135) 	TCNT1H=0X85;
     169 E885      LDI	R24,0x85
     16A BD8D      OUT	0x2D,R24
(0136) 	TCNT1L=0XED; 
     16B EE8D      LDI	R24,0xED
     16C BD8C      OUT	0x2C,R24
(0137) 		   if(key_press())
     16D DF29      RCALL	_key_press
     16E 2300      TST	R16
     16F F019      BEQ	0x0173
(0138) 	   {
(0139) 	      l=key_scan();
     170 DF37      RCALL	_key_scan
     171 9300 0061 STS	l,R16
(0140) 		  //show(l,3);
(0141) 	   } 
     173 9009      LD	R0,Y+
     174 BE0F      OUT	0x3F,R0
     175 91F9      LD	R31,Y+
     176 91E9      LD	R30,Y+
     177 91B9      LD	R27,Y+
     178 91A9      LD	R26,Y+
     179 9199      LD	R25,Y+
     17A 9189      LD	R24,Y+
     17B 9139      LD	R19,Y+
     17C 9129      LD	R18,Y+
     17D 9119      LD	R17,Y+
     17E 9109      LD	R16,Y+
     17F 9099      LD	R9,Y+
     180 9089      LD	R8,Y+
     181 9079      LD	R7,Y+
     182 9069      LD	R6,Y+
     183 9059      LD	R5,Y+
     184 9049      LD	R4,Y+
     185 9039      LD	R3,Y+
     186 9029      LD	R2,Y+
     187 9019      LD	R1,Y+
     188 9009      LD	R0,Y+
     189 9518      RETI
(0142) }
(0143) void main()
(0144) {
(0145)     DDRB=0XFF;
_main:
     18A EF8F      LDI	R24,0xFF
     18B BB87      OUT	0x17,R24
(0146) 	DDRA|=0X18;//573锁存端
     18C B38A      IN	R24,0x1A
     18D 6188      ORI	R24,0x18
     18E BB8A      OUT	0x1A,R24
(0147) 	
(0148) 	TCCR1B=0X04;//T/C1控制寄存器B
     18F E084      LDI	R24,4
     190 BD8E      OUT	0x2E,R24
(0149) 	TCNT1H=0X85;//计数寄存器(高位)
     191 E885      LDI	R24,0x85
     192 BD8D      OUT	0x2D,R24
(0150) 	TCNT1L=0XED;//计数寄存器(低位)
     193 EE8D      LDI	R24,0xED
     194 BD8C      OUT	0x2C,R24
(0151) 	TIMSK|=BIT(2);//T/C1中断屏蔽寄存器
     195 B789      IN	R24,0x39
     196 6084      ORI	R24,4
     197 BF89      OUT	0x39,R24
(0152) 	SREG|=BIT(7);//总中断
     198 9478      BSET	7
     199 C012      RJMP	0x01AC
(0153) 	
(0154) 	while(1)
(0155) 	{
(0156) 	    show(num/10,1);
     19A E021      LDI	R18,1
     19B E01A      LDI	R17,0xA
     19C 9100 0060 LDS	R16,num
     19E 940E 01B0 CALL	div8u
     1A0 DED2      RCALL	_show
(0157) 		show(num%10,0);
     1A1 2722      CLR	R18
     1A2 E01A      LDI	R17,0xA
     1A3 9100 0060 LDS	R16,num
     1A5 940E 01AE CALL	mod8u
     1A7 DECB      RCALL	_show
(0158) 		show(l,3);
FILE: <library>
     1A8 E023      LDI	R18,3
     1A9 9100 0061 LDS	R16,l
     1AB DEC7      RCALL	_show
     1AC CFED      RJMP	0x019A
     1AD 9508      RET
mod8u:
     1AE 9468      BSET	6
     1AF C001      RJMP	xdiv8u
div8u:
     1B0 94E8      BCLR	6
xdiv8u:
     1B1 932A      ST	R18,-Y
     1B2 92FA      ST	R15,-Y
     1B3 92EA      ST	R14,-Y
     1B4 24FF      CLR	R15
     1B5 24EE      CLR	R14
     1B6 E120      LDI	R18,0x10
     1B7 0F00      LSL	R16
     1B8 1CFF      ROL	R15
     1B9 1CEE      ROL	R14
     1BA 16E1      CP	R14,R17
     1BB F010      BCS	0x01BE
     1BC 1AE1      SUB	R14,R17
     1BD 9503      INC	R16
     1BE 952A      DEC	R18
     1BF F7B9      BNE	0x01B7
     1C0 F40E      BRTC	0x01C2
     1C1 2D0E      MOV	R16,R14
     1C2 90E9      LD	R14,Y+
     1C3 90F9      LD	R15,Y+
     1C4 9129      LD	R18,Y+
     1C5 9508      RET
push_xgsetF000:
     1C6 937A      ST	R23,-Y
     1C7 936A      ST	R22,-Y
     1C8 935A      ST	R21,-Y
     1C9 934A      ST	R20,-Y
     1CA 9508      RET
pop_xgsetF000:
     1CB 9149      LD	R20,Y+
     1CC 9159      LD	R21,Y+
     1CD 9169      LD	R22,Y+
     1CE 9179      LD	R23,Y+
     1CF 9508      RET
push_xgsetF00C:
     1D0 937A      ST	R23,-Y
     1D1 936A      ST	R22,-Y
     1D2 935A      ST	R21,-Y
     1D3 934A      ST	R20,-Y
     1D4 92BA      ST	R11,-Y
     1D5 92AA      ST	R10,-Y
     1D6 9508      RET
pop_xgsetF00C:
     1D7 90A9      LD	R10,Y+
     1D8 90B9      LD	R11,Y+
     1D9 9149      LD	R20,Y+
     1DA 9159      LD	R21,Y+
     1DB 9169      LD	R22,Y+
     1DC 9179      LD	R23,Y+
     1DD 9508      RET
lsl8:
     1DE 2311      TST	R17
     1DF F019      BEQ	0x01E3
     1E0 0F00      LSL	R16
     1E1 951A      DEC	R17
     1E2 CFFB      RJMP	lsl8
     1E3 9508      RET

⌨️ 快捷键说明

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