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

📄 ssle4442.lis

📁 万年历挂钟系统源程序,附语句模块功能说明,iccavr环境编程
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module SSLE4442.c
                        .area data(ram, con, rel)
 0000           _table::
 0000                   .blkb 2
                        .area idata
 0000 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0002                   .blkb 2
                        .area idata
 0002 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0004                   .blkb 2
                        .area idata
 0004 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0006                   .blkb 2
                        .area idata
 0006 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0008                   .blkb 2
                        .area idata
 0008 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000A                   .blkb 2
                        .area idata
 000A 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 000C                   .blkb 2
                        .area idata
 000C 7300              .byte 's,0
                        .area data(ram, con, rel)
 000E                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 000E                   .dbsym e table _table A[14:14]c
 000E           _EEEEE::
 000E                   .blkb 2
                        .area idata
 000E 7979              .byte 'y,'y
                        .area data(ram, con, rel)
 0010                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0010                   .blkb 2
                        .area idata
 0010 7979              .byte 'y,'y
                        .area data(ram, con, rel)
 0012                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0012                   .blkb 1
                        .area idata
 0012 00                .byte 0
                        .area data(ram, con, rel)
 0013                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0013                   .dbsym e EEEEE _EEEEE A[5:5]c
 0013           _FFFFF::
 0013                   .blkb 2
                        .area idata
 0013 7171              .byte 'q,'q
                        .area data(ram, con, rel)
 0015                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0015                   .blkb 2
                        .area idata
 0015 7171              .byte 'q,'q
                        .area data(ram, con, rel)
 0017                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0017                   .blkb 1
                        .area idata
 0017 00                .byte 0
                        .area data(ram, con, rel)
 0018                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0018                   .dbsym e FFFFF _FFFFF A[5:5]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\张军\AVR\光盘内容\实例源文件\第六章程序\SSLE4442.c
 0000                   .dbfunc e Voice _Voice fV
 0000           ;             PD -> R16
                        .even
 0000           _Voice::
 0000                   .dbline -1
 0000                   .dbline 32
 0000           ; //*********************FileName:Main.c*********************//
 0000           ; //*********************Author:Steaven2000@163.com**********//
 0000           ; //********************Version:1.2*************************//
 0000           ; //******************LastUpdate:2004-11-03*****************//
 0000           ; 
 0000           ; #include <io8535v.h>
 0000           ; #include <macros.h>
 0000           ; #define uchar unsigned char
 0000           ; #define uint unsigned int
 0000           ; 
 0000           ; //**********定义全局变量*******************//
 0000           ; //查表0    1    2    3    4    5   6    7    8    9    E    F   P   OFF
 0000           ; uchar table[14]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79,0x71,0x73,0x00};
 0000           ; uchar ICcode[4];//定义IC卡复位时读出的4字节代码;
 0000           ; uchar ICcontent[14];//定义IC卡有效信息;
 0000           ; uchar Money[5];//定义IC卡内金额;
 0000           ; uchar EEEEE[5]={0x79,0x79,0x79,0x79};
 0000           ; uchar FFFFF[5]={0x71,0x71,0x71,0x71};
 0000           ; uchar IC_Flag;//定义IC卡上电标志;
 0000           ; uchar Num_Flag;//数标志;
 0000           ; uchar Add_Flag;//加标志
 0000           ; uchar Sub_Flag;//减标志
 0000           ; uchar Init_Flag;//初始化标志
 0000           ; uchar Repair_Flag;//修卡标志;
 0000           ; uchar Enter_Flag;//确认标志
 0000           ; uchar Point_Flag;//.标志
 0000           ; uchar Key_Flag; //按键标志;
 0000           ; 
 0000           ;      
 0000           ; //***********IC卡引脚信号处理***************//
 0000           ; void Voice(uchar PD) //Voice=PD^7
 0000           ; {if(PD==1) PORTD|=0x80;//Voice置1
 0000                   .dbline 32
 0000 0130              cpi R16,1
 0002 11F4              brne L2
 0004                   .dbline 32
 0004 979A              sbi 0x12,7
 0006 03C0              rjmp L3
 0008           L2:
 0008                   .dbline 33
 0008 82B3              in R24,0x12
 000A 8F7A              andi R24,175
 000C 82BB              out 0x12,R24
 000E           L3:
 000E                   .dbline -2
 000E                   .dbline 34
 000E           ;  else      PORTD&=~80; //Voice置0
 000E           ; }
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbsym r PD 16 c
 0010                   .dbend
 0010                   .dbfunc e RST _RST fV
 0010           ;             PD -> R16
                        .even
 0010           _RST::
 0010                   .dbline -1
 0010                   .dbline 37
 0010           ; 
 0010           ; void RST(uchar PD)  //RST=PD^6
 0010           ; {if(PD==1) PORTD|=0x40;//RST置1
 0010                   .dbline 37
 0010 0130              cpi R16,1
 0012 11F4              brne L5
 0014                   .dbline 37
 0014 969A              sbi 0x12,6
 0016 01C0              rjmp L6
 0018           L5:
 0018                   .dbline 38
 0018 9698              cbi 0x12,6
 001A           L6:
 001A                   .dbline -2
 001A                   .dbline 39
 001A           ;  else       PORTD&=~0x40;//RST置0
 001A           ; }
 001A           L4:
 001A                   .dbline 0 ; func end
 001A 0895              ret
 001C                   .dbsym r PD 16 c
 001C                   .dbend
 001C                   .dbfunc e CLK _CLK fV
 001C           ;             PD -> R16
                        .even
 001C           _CLK::
 001C                   .dbline -1
 001C                   .dbline 42
 001C           ; 
 001C           ; void CLK(uchar PD) //CLK=PD^5
 001C           ; {if(PD==1) PORTD|=0x20;//CLK置1
 001C                   .dbline 42
 001C 0130              cpi R16,1
 001E 11F4              brne L8
 0020                   .dbline 42
 0020 959A              sbi 0x12,5
 0022 01C0              rjmp L9
 0024           L8:
 0024                   .dbline 43
 0024 9598              cbi 0x12,5
 0026           L9:
 0026                   .dbline -2
 0026                   .dbline 44
 0026           ;  else       PORTD&=~0x20;//CLK置0
 0026           ; }
 0026           L7:
 0026                   .dbline 0 ; func end
 0026 0895              ret
 0028                   .dbsym r PD 16 c
 0028                   .dbend
 0028                   .dbfunc e IO _IO fV
 0028           ;             PD -> R16
                        .even
 0028           _IO::
 0028                   .dbline -1
 0028                   .dbline 47
 0028           ; 
 0028           ; void IO(uchar PD)  //IO=PD^4
 0028           ; {if(PD==1) PORTD|=0x10;//IO置1
 0028                   .dbline 47
 0028 0130              cpi R16,1
 002A 11F4              brne L11
 002C                   .dbline 47
 002C 949A              sbi 0x12,4
 002E 01C0              rjmp L12
 0030           L11:
 0030                   .dbline 48
 0030 9498              cbi 0x12,4
 0032           L12:
 0032                   .dbline -2
 0032                   .dbline 49
 0032           ;  else       PORTD&=~0x10;//IO置0
 0032           ; }
 0032           L10:
 0032                   .dbline 0 ; func end
 0032 0895              ret
 0034                   .dbsym r PD 16 c
 0034                   .dbend
 0034                   .dbfunc e SetIO _SetIO fV
 0034           ;              i -> R16
                        .even
 0034           _SetIO::
 0034                   .dbline -1
 0034                   .dbline 52
 0034           ;  
 0034           ; void SetIO(uchar i)//设置IO口属性
 0034           ; {if(i==1) DDRD=0xf0; //IO口输出:1111 0000
 0034                   .dbline 52
 0034 0130              cpi R16,1
 0036 19F4              brne L14
 0038                   .dbline 52
 0038 80EF              ldi R24,240
 003A 81BB              out 0x11,R24
 003C 02C0              rjmp L15
 003E           L14:
 003E                   .dbline 53
 003E           ;  else     DDRD=0xe0; //IO口输如:1110 0000
 003E 80EE              ldi R24,224
 0040 81BB              out 0x11,R24
 0042           L15:
 0042                   .dbline 54
 0042           ;  PORTD=0x00;//不带上拉电阻;
 0042 2224              clr R2
 0044 22BA              out 0x12,R2
 0046                   .dbline -2
 0046                   .dbline 55
 0046           ; }
 0046           L13:
 0046                   .dbline 0 ; func end
 0046 0895              ret
 0048                   .dbsym r i 16 c
 0048                   .dbend
 0048                   .dbfunc e DelayUs _DelayUs fV
 0048           ;              i -> R16
                        .even
 0048           _DelayUs::
 0048                   .dbline -1
 0048                   .dbline 60
 0048           ; 
 0048           ; //**********延时函数(Us数量级)*********//
 0048           ; //单周期指令执行时间,执行时间1/8us*分频系数(取8分频则刚好1us);
 0048           ; void DelayUs(uchar i)
 0048           ; {for(;i!=0;i--)  
 0048                   .dbline 60
 0048 02C0              rjmp L20
 004A           L17:
 004A                   .dbline 61
 004A 0000              nop
 004C           L18:
 004C                   .dbline 60
 004C 0A95              dec R16
 004E           L20:
 004E                   .dbline 60
 004E 0023              tst R16
 0050 E1F7              brne L17
 0052                   .dbline -2
 0052                   .dbline 62
 0052           ;  NOP();
 0052           ; }
 0052           L16:
 0052                   .dbline 0 ; func end
 0052 0895              ret
 0054                   .dbsym r i 16 c
 0054                   .dbend
 0054                   .dbfunc e DelayMs _DelayMs fV
 0054           ;              k -> R20
 0054           ;              j -> R22
 0054           ;              i -> R16,R17
                        .even
 0054           _DelayMs::
 0054 00D0              rcall push_gset2
 0056                   .dbline -1
 0056                   .dbline 66
 0056           ; 
 0056           ; //****************延时函数(Ms数量级)*********//
 0056           ; void DelayMs(uint i)
 0056           ; {uchar j,k;
 0056                   .dbline 67
 0056           ;  for(;i!=0;i--)
 0056 0DC0              rjmp L25
 0058           L22:
 0058                   .dbline 68
 0058           ;     {for(k=0;k<4;k++)
 0058                   .dbline 68
 0058 4427              clr R20
 005A 07C0              rjmp L29
 005C           L26:
 005C                   .dbline 69
 005C                   .dbline 69
 005C 6AEF              ldi R22,250
 005E 02C0              rjmp L33
 0060           L30:
 0060                   .dbline 69
 0060 0000              nop
 0062           L31:
 0062                   .dbline 69
 0062 6A95              dec R22
 0064           L33:
 0064                   .dbline 69
 0064 6623              tst R22
 0066 E1F7              brne L30
 0068                   .dbline 69
 0068           L27:
 0068                   .dbline 68
 0068 4395              inc R20
 006A           L29:
 006A                   .dbline 68
 006A 4430              cpi R20,4
 006C B8F3              brlo L26
 006E                   .dbline 70
 006E           L23:
 006E                   .dbline 67
 006E 0150              subi R16,1
 0070 1040              sbci R17,0
 0072           L25:
 0072                   .dbline 67
 0072 0030              cpi R16,0
 0074 0107              cpc R16,R17
 0076 81F7              brne L22
 0078           X0:
 0078                   .dbline -2
 0078                   .dbline 71
 0078           ;       {for(j=250;j!=0;j--) NOP();}
 0078           ;       }
 0078           ; }
 0078           L21:
 0078 00D0              rcall pop_gset2
 007A                   .dbline 0 ; func end
 007A 0895              ret
 007C                   .dbsym r k 20 c
 007C                   .dbsym r j 22 c
 007C                   .dbsym r i 16 i

⌨️ 快捷键说明

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