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

📄 pp.lst

📁 ICC刷卡C语言程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0435 E030      LDI	R19,0
    0436 E80C      LDI	R16,0x8C
    0437 E010      LDI	R17,0
    0438 DE26      RCALL	_TxRomUart
(0317) 	  TxRomUart("                ",16);
    0439 E120      LDI	R18,0x10
    043A E030      LDI	R19,0
    043B EA08      LDI	R16,0xA8
    043C E010      LDI	R17,0
    043D DE21      RCALL	_TxRomUart
(0318) 	  WriteCommandLCM(0x01,1); //清屏
    043E E021      LDI	R18,1
    043F E001      LDI	R16,1
    0440 DC56      RCALL	_WriteCommandLCM
(0319) 	  DisplayListChar(0, 0, table_1,12);
    0441 E08C      LDI	R24,0xC
    0442 838A      STD	Y+2,R24
    0443 E286      LDI	R24,0x26
    0444 E090      LDI	R25,0
    0445 8399      STD	Y+1,R25
    0446 8388      STD	Y+0,R24
    0447 2722      CLR	R18
    0448 2700      CLR	R16
    0449 DC85      RCALL	_DisplayListChar
(0320) 	  RxCalAddr=2;RxCalDely=0;return;
    044A E082      LDI	R24,2
    044B 93800061  STS	RxCalAddr,R24
    044D 2422      CLR	R2
    044E 92200060  STS	RxCalDely,R2
    0450 C0C7      RJMP	0x0518
(0321) 	  }
(0322) 	case(2)://检测100ms去抖动读卡
(0323) 	  {
(0324) 	  if(PIND&0x04) RxCalDely=0;
    0451 9B82      SBIS	0x10,2
    0452 C003      RJMP	0x0456
    0453 2422      CLR	R2
    0454 92200060  STS	RxCalDely,R2
(0325) 	  if(++RxCalDely<100) {OutLedAddr=1;return;} 
    0456 91800060  LDS	R24,RxCalDely
    0458 5F8F      SUBI	R24,0xFF
    0459 2E28      MOV	R2,R24
    045A 92200060  STS	RxCalDely,R2
    045C 3684      CPI	R24,0x64
    045D F420      BCC	0x0462
    045E E081      LDI	R24,1
    045F 9380006A  STS	OutLedAddr,R24
    0461 C0B6      RJMP	0x0518
(0326) 	  RxCalAddr=3;RxUartAddr=1;OutLedAddr=2;RxUartWait=0;TxRomUart(readcal1,13);TxRomUart("                ",16);
    0462 E083      LDI	R24,3
    0463 93800061  STS	RxCalAddr,R24
    0465 E081      LDI	R24,1
    0466 93800072  STS	RxUartAddr,R24
    0468 E082      LDI	R24,2
    0469 9380006A  STS	OutLedAddr,R24
    046B 2422      CLR	R2
    046C 2433      CLR	R3
    046D 9230006E  STS	RxUartWait+1,R3
    046F 9220006D  STS	RxUartWait,R2
    0471 E02D      LDI	R18,0xD
    0472 E030      LDI	R19,0
    0473 E30D      LDI	R16,0x3D
    0474 E010      LDI	R17,0
    0475 DDE9      RCALL	_TxRomUart
    0476 E120      LDI	R18,0x10
    0477 E030      LDI	R19,0
    0478 EA08      LDI	R16,0xA8
    0479 E010      LDI	R17,0
    047A DDE4      RCALL	_TxRomUart
(0327) 	  return;
    047B C09C      RJMP	0x0518
(0328) 	  }
(0329) 	case(3)://判断读卡是否成功
(0330) 	  {
(0331) 	  if(RxUartAddr) return;
    047C 90200072  LDS	R2,RxUartAddr
    047E 2022      TST	R2
    047F F009      BEQ	0x0481
    0480 C097      RJMP	0x0518
(0332) 	  if(CmpsRom(RxUartDbuf,RxUartLeng,readcal1,2)) {TxRomUart("EERead ERROR ",13);TxRomUart("                ",16);RxCalAddr=1;OutToneCount=4;return;}//EE
    0481 E082      LDI	R24,2
    0482 838A      STD	Y+2,R24
    0483 E38D      LDI	R24,0x3D
    0484 E090      LDI	R25,0
    0485 8399      STD	Y+1,R25
    0486 8388      STD	Y+0,R24
    0487 9120006F  LDS	R18,RxUartLeng
    0489 E703      LDI	R16,0x73
    048A E010      LDI	R17,0
    048B DE1F      RCALL	_CmpsRom
    048C 2300      TST	R16
    048D F089      BEQ	0x049F
    048E E02D      LDI	R18,0xD
    048F E030      LDI	R19,0
    0490 E70E      LDI	R16,0x7E
    0491 E010      LDI	R17,0
    0492 DDCC      RCALL	_TxRomUart
    0493 E120      LDI	R18,0x10
    0494 E030      LDI	R19,0
    0495 EA08      LDI	R16,0xA8
    0496 E010      LDI	R17,0
    0497 DDC7      RCALL	_TxRomUart
    0498 E081      LDI	R24,1
    0499 93800061  STS	RxCalAddr,R24
    049B E084      LDI	R24,4
    049C 93800066  STS	OutToneCount,R24
    049E C079      RJMP	0x0518
(0333) 	  if(CmpsRom(RxUartDbuf+3,RxUartLeng,readcal1+3,1)) {TxRomUart("EERead ERROR ",13);TxRomUart("                ",16);RxCalAddr=1;OutToneCount=4;return;}//EE
    049F E081      LDI	R24,1
    04A0 838A      STD	Y+2,R24
    04A1 E480      LDI	R24,0x40
    04A2 E090      LDI	R25,0
    04A3 8399      STD	Y+1,R25
    04A4 8388      STD	Y+0,R24
    04A5 9120006F  LDS	R18,RxUartLeng
    04A7 E706      LDI	R16,0x76
    04A8 E010      LDI	R17,0
    04A9 DE01      RCALL	_CmpsRom
    04AA 2300      TST	R16
    04AB F089      BEQ	0x04BD
    04AC E02D      LDI	R18,0xD
    04AD E030      LDI	R19,0
    04AE E70E      LDI	R16,0x7E
    04AF E010      LDI	R17,0
    04B0 DDAE      RCALL	_TxRomUart
    04B1 E120      LDI	R18,0x10
    04B2 E030      LDI	R19,0
    04B3 EA08      LDI	R16,0xA8
    04B4 E010      LDI	R17,0
    04B5 DDA9      RCALL	_TxRomUart
    04B6 E081      LDI	R24,1
    04B7 93800061  STS	RxCalAddr,R24
    04B9 E084      LDI	R24,4
    04BA 93800066  STS	OutToneCount,R24
    04BC C05B      RJMP	0x0518
(0334) 	  CopyRam(RxUartDbuf+4,RxUartLeng,NameBuf,7); 
    04BD E087      LDI	R24,7
    04BE 838A      STD	Y+2,R24
    04BF E68D      LDI	R24,0x6D
    04C0 E091      LDI	R25,1
    04C1 8399      STD	Y+1,R25
    04C2 8388      STD	Y+0,R24
    04C3 9120006F  LDS	R18,RxUartLeng
    04C5 E707      LDI	R16,0x77
    04C6 E010      LDI	R17,0
    04C7 DDCB      RCALL	_CopyRam
(0335) 	  CopyRam(RxUartDbuf+11,RxUartLeng,NumBuf,9);
    04C8 E089      LDI	R24,0x9
    04C9 838A      STD	Y+2,R24
    04CA E784      LDI	R24,0x74
    04CB E091      LDI	R25,1
    04CC 8399      STD	Y+1,R25
    04CD 8388      STD	Y+0,R24
    04CE 9120006F  LDS	R18,RxUartLeng
    04D0 E70E      LDI	R16,0x7E
    04D1 E010      LDI	R17,0
    04D2 DDC0      RCALL	_CopyRam
(0336) 	  TxRomUart("DD",2);//DD
    04D3 E022      LDI	R18,2
    04D4 E030      LDI	R19,0
    04D5 EC07      LDI	R16,0xC7
    04D6 E010      LDI	R17,0
    04D7 DD87      RCALL	_TxRomUart
(0337) 	  TxRamUart(NameBuf,7);
    04D8 E027      LDI	R18,7
    04D9 E030      LDI	R19,0
    04DA E60D      LDI	R16,0x6D
    04DB E011      LDI	R17,1
    04DC DD90      RCALL	_TxRamUart
(0338) 	  //TxRomUart("CC",2);//CC
(0339) 	  TxRamUart(NumBuf,9);	  
    04DD E029      LDI	R18,0x9
    04DE E030      LDI	R19,0
    04DF E704      LDI	R16,0x74
    04E0 E011      LDI	R17,1
    04E1 DD8B      RCALL	_TxRamUart
(0340) 	  TxRomUart("Read    OK ",11);//EE
    04E2 E02B      LDI	R18,0xB
    04E3 E030      LDI	R19,0
    04E4 E702      LDI	R16,0x72
    04E5 E010      LDI	R17,0
    04E6 DD78      RCALL	_TxRomUart
(0341) 	  RxCalAddr=4;OutToneCount=2;RxUartAddr=1;//接收处理
    04E7 E084      LDI	R24,4
    04E8 93800061  STS	RxCalAddr,R24
    04EA E082      LDI	R24,2
    04EB 93800066  STS	OutToneCount,R24
    04ED E081      LDI	R24,1
    04EE 93800072  STS	RxUartAddr,R24
(0342) 	  return;
    04F0 C027      RJMP	0x0518
(0343) 	  }  
(0344) 	case(4):
(0345) 	  {
(0346) 	  DisplayListChar(0, 0, Name,5);
    04F1 E085      LDI	R24,5
    04F2 838A      STD	Y+2,R24
    04F3 E687      LDI	R24,0x67
    04F4 E090      LDI	R25,0
    04F5 8399      STD	Y+1,R25
    04F6 8388      STD	Y+0,R24
    04F7 2722      CLR	R18
    04F8 2700      CLR	R16
    04F9 DBD5      RCALL	_DisplayListChar
(0347) 	  DisplayListChar1(5, 0, NameBuf,7);
    04FA E087      LDI	R24,7
    04FB 838A      STD	Y+2,R24
    04FC E68D      LDI	R24,0x6D
    04FD E091      LDI	R25,1
    04FE 8399      STD	Y+1,R25
    04FF 8388      STD	Y+0,R24
    0500 2722      CLR	R18
    0501 E005      LDI	R16,5
    0502 DBEE      RCALL	_DisplayListChar1
(0348) 	  DisplayListChar(0, 1, Num,4);
    0503 E084      LDI	R24,4
    0504 838A      STD	Y+2,R24
    0505 E68D      LDI	R24,0x6D
    0506 E090      LDI	R25,0
    0507 8399      STD	Y+1,R25
    0508 8388      STD	Y+0,R24
    0509 E021      LDI	R18,1
    050A 2700      CLR	R16
    050B DBC3      RCALL	_DisplayListChar
(0349) 	  DisplayListChar1(4, 1, NumBuf,9);
    050C E089      LDI	R24,0x9
    050D 838A      STD	Y+2,R24
    050E E784      LDI	R24,0x74
    050F E091      LDI	R25,1
    0510 8399      STD	Y+1,R25
    0511 8388      STD	Y+0,R24
    0512 E021      LDI	R18,1
    0513 E004      LDI	R16,4
    0514 DBDC      RCALL	_DisplayListChar1
(0350) 	  RxCalAddr=1;return;
    0515 E081      LDI	R24,1
    0516 93800061  STS	RxCalAddr,R24
    0518 9623      ADIW	R28,3
    0519 D045      RCALL	pop_gset1
    051A 9508      RET
_Time0:
    051B D03E      RCALL	push_gset2
(0351) 	  }  
(0352) 	}
(0353) 	}	
(0354) //*********************************************调用分时任务//					
(0355) void Time0(void)
(0356)     {
(0357) 	while(TCNT0<(fosc/64/500));//毫秒
    051C EF4A      LDI	R20,0xFA
    051D E050      LDI	R21,0
    051E E060      LDI	R22,0
    051F E070      LDI	R23,0
    0520 B622      IN	R2,0x32
    0521 2433      CLR	R3
    0522 2444      CLR	R4
    0523 2455      CLR	R5
    0524 1624      CP	R2,R20
    0525 0635      CPC	R3,R21
    0526 0646      CPC	R4,R22
    0527 0657      CPC	R5,R23
    0528 F39C      BLT	0x051C
(0358) 	TCNT0=0;
    0529 2422      CLR	R2
    052A BE22      OUT	0x32,R2
(0359) 	RxCal();
    052B DEE6      RCALL	_RxCal
(0360) 	RxGsm();//远程接收
    052C DDEE      RCALL	_RxGsm
    052D D022      RCALL	pop_gset2
    052E 9508      RET
_main:
  j                    --> Y+4
  i                    --> Y+4
    052F 9723      SBIW	R28,3
(0361) 	
(0362) 	}	
(0363) //***************************************************主程序//
(0364) void main(void)
(0365) {
(0366)  unsigned char i,j;
(0367)  init_atmega();
    0530 DDC8      RCALL	_init_atmega
(0368)  delay_ms(400); //启动等待,等LCM讲入工作状态
    0531 E900      LDI	R16,0x90
    0532 E011      LDI	R17,1
    0533 DDAD      RCALL	_delay_ms
(0369)  LCMInit(); //LCM初始化
    0534 DBDE      RCALL	_LCMInit
(0370)  delay_ms(10); //延时片刻
    0535 E00A      LDI	R16,0xA
    0536 E010      LDI	R17,0
    0537 DDA9      RCALL	_delay_ms
(0371)  DisplayListChar(0, 0, table_1,12);
    0538 E08C      LDI	R24,0xC
    0539 838A      STD	Y+2,R24
    053A E286      LDI	R24,0x26
    053B E090      LDI	R25,0
    053C 8399      STD	Y+1,R25
    053D 8388      STD	Y+0,R24
    053E 2722      CLR	R18
    053F 2700      CLR	R16
    0540 DB8E      RCALL	_DisplayListChar
(0372)  RxCalAddr=2;
    0541 E082      LDI	R24,2
    0542 93800061  STS	RxCalAddr,R24
(0373)  RxGsmAddr=1;
    0544 E081      LDI	R24,1
    0545 93800062  STS	RxGsmAddr,R24
(0374)  OutLedAddr=1;
    0547 9380006A  STS	OutLedAddr,R24
(0375)  OutToneAddr=1;
    0549 93800067  STS	OutToneAddr,R24
    054B C001      RJMP	0x054D
(0376)  while(1)
(0377)  {
(0378)  Time0();
FILE: <library>
    054C DFCE      RCALL	_Time0
    054D CFFE      RJMP	0x054C
    054E 9623      ADIW	R28,3
    054F 9508      RET
pop_gset2:
    0550 E0E2      LDI	R30,2
    0551 C00E      RJMP	pop
pop_gset5:
    0552 27EE      CLR	R30
    0553 C00C      RJMP	pop
push_gset5:
    0554 92FA      ST	R15,-Y
    0555 92EA      ST	R14,-Y
push_gset4:
    0556 92DA      ST	R13,-Y
    0557 92CA      ST	R12,-Y
push_gset3:
    0558 92BA      ST	R11,-Y
    0559 92AA      ST	R10,-Y
push_gset2:
    055A 937A      ST	R23,-Y
    055B 936A      ST	R22,-Y
push_gset1:
    055C 935A      ST	R21,-Y
    055D 934A      ST	R20,-Y
    055E 9508      RET
pop_gset1:
    055F E0E1      LDI	R30,1
pop:
    0560 9149      LD	R20,Y+
    0561 9159      LD	R21,Y+
    0562 FDE0      SBRC	R30,0
    0563 9508      RET
    0564 9169      LD	R22,Y+
    0565 9179      LD	R23,Y+
    0566 FDE1      SBRC	R30,1
    0567 9508      RET
    0568 90A9      LD	R10,Y+
    0569 90B9      LD	R11,Y+
    056A FDE2      SBRC	R30,2
    056B 9508      RET
    056C 90C9      LD	R12,Y+
    056D 90D9      LD	R13,Y+
    056E FDE3      SBRC	R30,3
    056F 9508      RET
    0570 90E9      LD	R14,Y+
    0571 90F9      LD	R15,Y+
    0572 9508      RET
push_lset:
    0573 93FA      ST	R31,-Y
    0574 93EA      ST	R30,-Y
    0575 93BA      ST	R27,-Y
    0576 93AA      ST	R26,-Y
    0577 939A      ST	R25,-Y
    0578 938A      ST	R24,-Y
    0579 933A      ST	R19,-Y
    057A 932A      ST	R18,-Y
    057B 931A      ST	R17,-Y
    057C 930A      ST	R16,-Y
    057D 929A      ST	R9,-Y
    057E 928A      ST	R8,-Y
    057F 927A      ST	R7,-Y
    0580 926A      ST	R6,-Y
    0581 925A      ST	R5,-Y
    0582 924A      ST	R4,-Y
    0583 923A      ST	R3,-Y
    0584 922A      ST	R2,-Y
    0585 921A      ST	R1,-Y
    0586 920A      ST	R0,-Y
    0587 B60F      IN	R0,0x3F
    0588 920A      ST	R0,-Y
    0589 9508      RET
pop_lset:
    058A 9009      LD	R0,Y+
    058B BE0F      OUT	0x3F,R0
    058C 9009      LD	R0,Y+
    058D 9019      LD	R1,Y+
    058E 9029      LD	R2,Y+
    058F 9039      LD	R3,Y+
    0590 9049      LD	R4,Y+
    0591 9059      LD	R5,Y+
    0592 9069      LD	R6,Y+
    0593 9079      LD	R7,Y+
    0594 9089      LD	R8,Y+
    0595 9099      LD	R9,Y+
    0596 9109      LD	R16,Y+
    0597 9119      LD	R17,Y+
    0598 9129      LD	R18,Y+
    0599 9139      LD	R19,Y+
    059A 9189      LD	R24,Y+
    059B 9199      LD	R25,Y+
    059C 91A9      LD	R26,Y+
    059D 91B9      LD	R27,Y+
    059E 91E9      LD	R30,Y+
    059F 91F9      LD	R31,Y+
    05A0 9508      RET

⌨️ 快捷键说明

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