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

📄 example.lst

📁 《Proteus从入门到精通100例》
💻 LST
字号:
__start:
__text_start:
    0032 E5CF      LDI	R28,0x5F
    0033 E0D4      LDI	R29,4
    0034 BFCD      OUT	0x3D,R28
    0035 BFDE      OUT	0x3E,R29
    0036 51C0      SUBI	R28,0x10
    0037 40D0      SBCI	R29,0
    0038 EA0A      LDI	R16,0xAA
    0039 8308      STD	Y+0,R16
    003A 2400      CLR	R0
    003B E6E0      LDI	R30,0x60
    003C E0F0      LDI	R31,0
    003D E010      LDI	R17,0
    003E 36E0      CPI	R30,0x60
    003F 07F1      CPC	R31,R17
    0040 F011      BEQ	0x0043
    0041 9201      ST	R0,Z+
    0042 CFFB      RJMP	0x003E
    0043 8300      STD	Z+0,R16
    0044 E6E4      LDI	R30,0x64
    0045 E0F0      LDI	R31,0
    0046 E6A0      LDI	R26,0x60
    0047 E0B0      LDI	R27,0
    0048 E010      LDI	R17,0
    0049 36E4      CPI	R30,0x64
    004A 07F1      CPC	R31,R17
    004B F021      BEQ	0x0050
    004C 95C8      LPM
    004D 9631      ADIW	R30,1
    004E 920D      ST	R0,X+
    004F CFF9      RJMP	0x0049
    0050 940E0053  CALL	_main
_exit:
    0052 CFFF      RJMP	_exit
FILE: D:\当前项目\PROTEU~2\Proteus实例\第十章\10.8\MCU.c
(0001) #include <iom16v.h>
(0002) unsigned char const SEGtable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
(0003) //"0"~"F"对应的字形编码,共阳极八段数码管
(0004) main()
(0005) {
(0006)   unsigned char i,j;
(0007)   unsigned char counter=0;                //指示当前显示的数字或者字符在表格中存放位置
_main:
  counter              --> R16
  i                    --> R18
  j                    --> R20
    0053 2700      CLR	R16
(0008)   DDRD = 0xFF;
    0054 EF8F      LDI	R24,0xFF
    0055 BB81      OUT	0x11,R24
(0009)   PORTD = 0xFF;  						  //初始化PORTA
    0056 BB82      OUT	0x12,R24
    0057 C02B      RJMP	0x0083
(0010)   while(1)
(0011)   {
(0012)     for(i=0;i<250;i++)                    //软件延时
    0058 2722      CLR	R18
    0059 C01A      RJMP	0x0074
(0013)     {
(0014)       for(j=0;j<250;j++);
    005A 2744      CLR	R20
    005B C001      RJMP	0x005D
    005C 9543      INC	R20
    005D 3F4A      CPI	R20,0xFA
    005E F3E8      BCS	0x005C
(0015)       for(j=0;j<250;j++);
    005F 2744      CLR	R20
    0060 C001      RJMP	0x0062
    0061 9543      INC	R20
    0062 3F4A      CPI	R20,0xFA
    0063 F3E8      BCS	0x0061
(0016)       for(j=0;j<250;j++);
    0064 2744      CLR	R20
    0065 C001      RJMP	0x0067
    0066 9543      INC	R20
    0067 3F4A      CPI	R20,0xFA
    0068 F3E8      BCS	0x0066
(0017)       for(j=0;j<250;j++);
    0069 2744      CLR	R20
    006A C001      RJMP	0x006C
    006B 9543      INC	R20
    006C 3F4A      CPI	R20,0xFA
    006D F3E8      BCS	0x006B
(0018)       for(j=0;j<250;j++);
    006E 2744      CLR	R20
    006F C001      RJMP	0x0071
    0070 9543      INC	R20
    0071 3F4A      CPI	R20,0xFA
    0072 F3E8      BCS	0x0070
    0073 9523      INC	R18
    0074 3F2A      CPI	R18,0xFA
    0075 F320      BCS	0x005A
(0019)     }               
(0020)     if(counter>=15)                       //已经显示到F,回到0继续显示
    0076 300F      CPI	R16,0xF
    0077 F010      BCS	0x007A
(0021)     {
(0022)       counter = 0;
    0078 2700      CLR	R16
(0023)     }
    0079 C001      RJMP	0x007B
(0024)     else
(0025)     {
(0026)       counter++;                          //数字字符增加
    007A 9503      INC	R16
(0027)     }
(0028)     PORTD = SEGtable[counter];               //输出字符
FILE: <library>
    007B E584      LDI	R24,0x54
    007C E090      LDI	R25,0
    007D 2FE0      MOV	R30,R16
    007E 27FF      CLR	R31
    007F 0FE8      ADD	R30,R24
    0080 1FF9      ADC	R31,R25
    0081 91E4      LPM	R30,0(Z)
    0082 BBE2      OUT	0x12,R30
    0083 CFD4      RJMP	0x0058
    0084 9508      RET

⌨️ 快捷键说明

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