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

📄 训练项目一:闪烁灯.lis

📁 长沙理工自己的实验程序
💻 LIS
字号:
                        .module _训练项目一:闪烁灯.c
                        .area text(rom, con, rel)
                ;              i -> R20,R21
                ;              j -> R22,R23
                ;         uiTime -> R16,R17
                        .even
 0000           _TimeDelay::
 0000 0E940000          xcall push_xgsetF000
 0004           ; /****************************************************************************
 0004           ; ** File Name:          闪烁灯
 0004           ; ** Createed By:        Wangchangsong
 0004           ; ** Create Date:        07/24/2008
 0004           ; ** Version:            1.0
 0004           ; ** Descriptions:       led display
 0004           ; **
 0004           ; **---------------------------------------------------------------------------
 0004           ; ** Modified By:
 0004           ; ** Modified Date:
 0004           ; ** Version:
 0004           ; ** Descriptions:
 0004           ; **
 0004           ; ****************************************************************************/
 0004           ; 
 0004           ; #include <iom128v.h>
 0004           ; 
 0004           ; /****************************************************************************
 0004           ; ** Function Name:      timeDelay       
 0004           ; ** Descriptions:       delay time
 0004           ; ** Input Parameters:   uiTime
 0004           ; ** Output parameters:  void
 0004           ; ** Returned Value:     void
 0004           ; **---------------------------------------------------------------------------
 0004           ; ****************************************************************************/
 0004           ;  
 0004           ; void TimeDelay(unsigned int  uiTime )   
 0004           ; 
 0004           ; {    
 0004           ;     unsigned int i = 0,j = 0;
 0004 4427              clr R20
 0006 5527              clr R21
 0008 6627              clr R22
 000A 7727              clr R23
 000C           ;       
 000C           ;     for (i = 0;i < uiTime;i++)
 000C 0BC0              xjmp L5
 000E           L2:
 000E           ; 	{
 000E           ;         for (j = 0;j <2260;j++);
 000E 6627              clr R22
 0010 7727              clr R23
 0012 02C0              xjmp L9
 0014           L6:
 0014           L7:
 0014 6F5F              subi R22,255  ; offset = 1
 0016 7F4F              sbci R23,255
 0018           L9:
 0018 643D              cpi R22,212
 001A E8E0              ldi R30,8
 001C 7E07              cpc R23,R30
 001E D0F3              brlo L6
 0020           X0:
 0020           ; 	}
 0020           L3:
 0020 4F5F              subi R20,255  ; offset = 1
 0022 5F4F              sbci R21,255
 0024           L5:
 0024 4017              cp R20,R16
 0026 5107              cpc R21,R17
 0028 90F3              brlo L2
 002A           X1:
 002A           L1:
 002A                   .dbline 0 ; func end
 002A 0C940000          xjmp pop_xgsetF000
                        .even
 002E           _main::
 002E           ;  }
 002E           ;  
 002E           ; /****************************************************************************
 002E           ; ** Function Name:      main
 002E           ; ** Descriptions:       led display
 002E           ; ** Input Parameters:   void
 002E           ; ** Output parameters:  void
 002E           ; ** Returned Value:     void
 002E           ; **---------------------------------------------------------------------------
 002E           ; ****************************************************************************/
 002E           ;  
 002E           ; void main(void)  
 002E           ; {
 002E           ;     DDRB = ( 1<< PB1);                           /* PB0左移,有效           */
 002E 82E0              ldi R24,2
 0030 87BB              out 0x17,R24
 0032 06C0              xjmp L12
 0034           L11:
 0034           ; 	
 0034           ;     while(1)                                     /* 死循环                 */
 0034           ;     {
 0034           ;         TimeDelay(20); 
 0034 04E1              ldi R16,20
 0036 10E0              ldi R17,0
 0038 E3DF              xcall _TimeDelay
 003A           ;               PORTB = ~PORTB;                          /* 取反                   */
 003A 28B2              in R2,0x18
 003C 2094              com R2
 003E 28BA              out 0x18,R2
 0040           ;                                  /* 延时                   */
 0040           ;     }
 0040           L12:
 0040 F9CF              xjmp L11
 0042           X2:
 0042           L10:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044           ; }
 0044           ; 
 0044           ; /****************************************************************************
 0044           ;  END FILE
 0044           ; ****************************************************************************/

⌨️ 快捷键说明

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