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

📄 setiobit.inc

📁 SPCE061A 利用C语言进行软件端口位操作范例
💻 INC
字号:
.INCLUDE  hardware.inc
.DATA
  Bit:   .DW 0x00bf,0x0086,0x00db,0x00cf, 0x00e6,0x00ed,0x00fc,0x0087,0x00ff,0x00ef;//'0''1''2''3''4''5''6''7''8''9'的代码
  One:   .DW 0x0001,0x0002,0x8000,0x8008,0x0010,0x0020,0x0040,0x0088,0x00ff,0x0080;
  Zero:  .DW
.CODE
.public _Set_IOA_Bit
_Set_IOA_Bit: .proc
    
    
    push bp to  [sp];  
    bp = sp + 1   
 loop: 
    r1 = [bp+3]          
    r3 = [bp+4]              
    r2 =  r1 + Dig;        
    r2  = [r2]       
    r4 =  r3 + address 
    r4 = [r4] 
   
  //r4 = r4 lsl 4;
  //  r4 = r4 lsl 4; 
  
  r1=0xffff;  
  [P_IOA_Attrib]=r1;
  [P_IOA_Dir]=r1;
  [P_IOA_Data]=r1
  [P_IOA_Data] = r4; 
    
      r1=0xffff;  
  [P_IOB_Attrib]=r1;
  [P_IOB_Dir]=r1;
  [P_IOB_Data]=r1;
    [P_IOB_Data] = r2;  
   pop bp from [sp]
    retf;
 .endp
 
.public _F_18LedTest
_F_18LedTest: .proc
  push bp to  [sp];  
  r1=0xffff;  
  [P_IOB_Attrib]=r1;
  [P_IOB_Dir]=r1;
  r1=0x00ff;
  [P_IOB_Buffer]=r1;    
  [P_IOB_Data]=r1;    
  pop bp from [sp]
  retf;
  .endp
  
  
.public _F_18LedTest_Return
_F_18LedTest_Return: .proc
  push bp to  [sp];  
 
  r1=0xffff;
  [P_IOB_Attrib]=r1;
  [P_IOB_Dir]=r1;
   r1=0x0088;  
  [P_IOB_Data]=r1;
  [P_IOB_Buffer]=r1;       
  pop bp from [sp]
  retf;
  .endp
  

.public _F_Uart_Init_Restore_IO
_F_Uart_Init_Restore_IO: .proc
  push bp to  [sp];  
 
  r1=0xffff;
  [P_IOB_Attrib]=r1;
  [P_IOB_Dir]=r1;
   r1=0x0088;  
  [P_IOB_Data]=r1;
  [P_IOB_Buffer]=r1;       
  pop bp from [sp]
  retf;
  .endp
  

⌨️ 快捷键说明

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