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

📄 led.lst

📁 单片机 控制 共阴led显示 C语言编写 源程序。
💻 LST
字号:
__start:
__text_start:
    0015 E5CF      LDI	R28,0x5F
    0016 E0D2      LDI	R29,2
    0017 BFCD      OUT	0x3D,R28
    0018 BFDE      OUT	0x3E,R29
    0019 51C0      SUBI	R28,0x10
    001A 40D0      SBCI	R29,0
    001B EA0A      LDI	R16,0xAA
    001C 8308      STD	Y+0,R16
    001D 2400      CLR	R0
    001E E6E0      LDI	R30,0x60
    001F E0F0      LDI	R31,0
    0020 E010      LDI	R17,0
    0021 36E0      CPI	R30,0x60
    0022 07F1      CPC	R31,R17
    0023 F011      BEQ	0x0026
    0024 9201      ST	R0,Z+
    0025 CFFB      RJMP	0x0021
    0026 8300      STD	Z+0,R16
    0027 E2EA      LDI	R30,0x2A
    0028 E0F0      LDI	R31,0
    0029 E6A0      LDI	R26,0x60
    002A E0B0      LDI	R27,0
    002B E010      LDI	R17,0
    002C 32EA      CPI	R30,0x2A
    002D 07F1      CPC	R31,R17
    002E F021      BEQ	0x0033
    002F 95C8      LPM
    0030 9631      ADIW	R30,1
    0031 920D      ST	R0,X+
    0032 CFF9      RJMP	0x002C
    0033 D016      RCALL	_main
_exit:
    0034 CFFF      RJMP	_exit
_DelaymS:
  j                    --> R20
  k                    --> R22
  i                    --> R16
    0035 D02B      RCALL	push_gset2
FILE: E:\iccavr代码\实验1_共阴驱动LED闪烁\led.c
(0001) //******************************************************************************
(0002) //                                                                             *
(0003) //    FileName   : led.c           ICCAVR V6.31A编译                           *
(0004) //    Function   : 8个LED灯闪烁显示,入门级试验                                *
(0005) //    Date       : 2006-12-11                                                  *
(0006) //    Version    : 1.0                                                         *
(0007) //                                                                             *
(0008) //    Author     : 开关电源              hongtusy@163.com                      *
(0009) //    Company    : 电子信息技术咨询网    http://www.itsn.cn                    *
(0010) //                                                                             *
(0011) //***************************描述与记事*****************************************
(0012) //实验板的AVR程序,C或AVR入门级试验,8个LED灯闪烁显示。
(0013) //说明:使用延迟程序,间歇点亮或关闭LED灯。
(0014) //具体电路可参照使用指南里的说明。PC口输出1,LED即点亮。
(0015) //使用器件:ATMEGA8535,可更换。          使用默认的片内RC振荡器,1MHz。
(0016) //使用的开关:SW1-1~8.SW6-1打开,SW3-8为系统复位端。
(0017) //记事:
(0018) //******************************************************************************
(0019) #include <iom8535v.h>             //头文件,ATmega8535单片机的寄存器定义
(0020) #include "macros.h"               //可以使用NOP()以及SEI()等指令.
(0021) 
(0022) typedef unsigned char  uchar;    //宏
(0023) typedef unsigned int   uint;
(0024) 
(0025) /************************************************
(0026) 函 数 名:    DelaymS()
(0027) 功    能:    毫秒级延时函数
(0028) 输入参数:     延迟时间/系统晶体
(0029) 输出参数:    做相应的延迟处理
(0030) 描    述:    /
(0031) ***********************************************/
(0032) void DelaymS (uint i)            //延时函数,参数i为延时时间
(0033) {
(0034)     uint j,k;               //双重延时
(0035) 	for (j=0;j<i;j++)
    0036 2744      CLR	R20
    0037 2755      CLR	R21
    0038 C00C      RJMP	0x0045
(0036) 	{
(0037) 	    for (k=0;k<=50;k++);
    0039 2766      CLR	R22
    003A 2777      CLR	R23
    003B C002      RJMP	0x003E
    003C 5F6F      SUBI	R22,0xFF
    003D 4F7F      SBCI	R23,0xFF
    003E E382      LDI	R24,0x32
    003F E090      LDI	R25,0
    0040 1786      CP	R24,R22
    0041 0797      CPC	R25,R23
    0042 F7C8      BCC	0x003C
    0043 5F4F      SUBI	R20,0xFF
    0044 4F5F      SBCI	R21,0xFF
    0045 1740      CP	R20,R16
    0046 0751      CPC	R21,R17
    0047 F388      BCS	0x0039
    0048 D010      RCALL	pop_gset2
    0049 9508      RET
(0038) 	}
(0039) }
(0040) //************************main***************
(0041) void main(void)                       //主程序
(0042) {
(0043) 	DDRC=0xff;                    //PC口为输出
_main:
    004A EF8F      LDI	R24,0xFF
    004B BB84      OUT	0x14,R24
    004C C00A      RJMP	0x0057
(0044) 	while(1)                      //如果条件为真,1=真,所以死循环执行嵌套部分。
(0045) 	{
(0046) 	    PORTC=0xff;               //点亮LED
    004D EF8F      LDI	R24,0xFF
    004E BB85      OUT	0x15,R24
(0047) 		DelaymS(1000);            //延迟程序
    004F EE08      LDI	R16,0xE8
    0050 E013      LDI	R17,3
    0051 DFE3      RCALL	_DelaymS
(0048) 		PORTC=0x00;               //关闭LED
    0052 2422      CLR	R2
    0053 BA25      OUT	0x15,R2
(0049) 		DelaymS(1000);            //延迟程序
FILE: <library>
    0054 EE08      LDI	R16,0xE8
    0055 E013      LDI	R17,3
    0056 DFDE      RCALL	_DelaymS
    0057 CFF5      RJMP	0x004D
    0058 9508      RET
pop_gset2:
    0059 E0E2      LDI	R30,2
    005A C00C      RJMP	pop
push_gset5:
    005B 92FA      ST	R15,-Y
    005C 92EA      ST	R14,-Y
push_gset4:
    005D 92DA      ST	R13,-Y
    005E 92CA      ST	R12,-Y
push_gset3:
    005F 92BA      ST	R11,-Y
    0060 92AA      ST	R10,-Y
push_gset2:
    0061 937A      ST	R23,-Y
    0062 936A      ST	R22,-Y
push_gset1:
    0063 935A      ST	R21,-Y
    0064 934A      ST	R20,-Y
    0065 9508      RET
pop_gset1:
    0066 E0E1      LDI	R30,1
pop:
    0067 9149      LD	R20,Y+
    0068 9159      LD	R21,Y+
    0069 FDE0      SBRC	R30,0
    006A 9508      RET
    006B 9169      LD	R22,Y+
    006C 9179      LD	R23,Y+
    006D FDE1      SBRC	R30,1
    006E 9508      RET
    006F 90A9      LD	R10,Y+
    0070 90B9      LD	R11,Y+
    0071 FDE2      SBRC	R30,2
    0072 9508      RET
    0073 90C9      LD	R12,Y+
    0074 90D9      LD	R13,Y+
    0075 FDE3      SBRC	R30,3
    0076 9508      RET
    0077 90E9      LD	R14,Y+
    0078 90F9      LD	R15,Y+
    0079 9508      RET

⌨️ 快捷键说明

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