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

📄 a.asm

📁 基于凌阳单片处理器的ad转换。能够作为数字仪表的参考代码。本人原创。
💻 ASM
字号:
                                                                                            
.define P_ADC_MUX_Ctrl 0x702b
.define P_ADC_MUX_Data 0x702c
.include hardware.inc
.ram
.var counter,data,a1,a2,a3,a4
.code 
.public _main
_main:
r1 = 0xFFFF;			
[P_IOA_Dir] = r1;	
r2=0x00ff;
[P_IOA_Attrib]=r2
r1=0x0710;
[P_IOA_Data]=r1;

//r1=0x3f10
//[a1]=r1
//r2=0x3f20
//[a2]=r1
/////////
r1=0x0001
[P_ADC_MUX_Ctrl]=r1
r1=0x0013
[P_ADC_Ctrl]=r1
//////////////////

////////////////////
r1=0xff9f
[P_TimerA_Data]=r1;
r1=0x002c
[P_TimerA_Ctrl]=r1;
r1=0x2000
[P_INT_Ctrl]=r1;
r2=0x0001
[counter]=r2
int fiq

loop_fiq:
   r1=[a1]
   [P_IOA_Data]=r1
   r2=[a2]
   [P_IOA_Data]=r2
   
jmp loop_fiq
////////////////////////////////////////////////////
///////////////////////////////////////////////////
.text
.public _FIQ
_FIQ:
push r1,r5 to [sp]
r1=0x8000
test r1,[P_INT_Ctrl]
jne L_FIQ_PWM
r1=0x2000
test r1,[P_INT_Ctrl]
jne L_FIQ_TMA

L_FIQ_TB:
r1=0x8000
[P_INT_Clear]=r1;
pop r1,r5 from [sp]
reti

L_FIQ_PWM:
[P_INT_Clear]=r1
pop r1,r5 from [sp]
reti


L_FIQ_TMA:
[P_INT_Clear]=r1;
call convert
over:
pop r1,r5 from [sp]
reti

//////////////////////////////////////////////////
convert:
r1=[P_ADC_MUX_Data]
r1=r1&0xffc0
r1=r1 lsl 2

r1=r1&0xff00//r1是八位数值
////////
r2=r1&0x0f00//r2低四位数值
[a1]=r2
/////////
r3=r1 lsr 4
r3=r3&0x0f00//r3是高四位数值
[a2]=r3
////////
r1=r1 lsr 4
r1=r1 lsr 4
//////////////////////////////
call display
retf

display:
d0:
   cmp r1,0x0000
   jne d1
   r1=0x3f10
   r2=0x3f20
   call show
d1:
   cmp r1,0x0001
   jne d2
   r1=0x0610
 
   r2=0x3f20
  
   call show
d2:
   cmp r1,0x0002
   jne d3
   r1=0x5b10
  
   r2=0x3f20
   
   call show
d3:
   cmp r1,0x0003
   jne d4
   r1=0x4f10
   
   r2=0x3f20
   
   call show
d4:
   cmp r1,0x0004
   jne d5
   r1=0x6610
   
   r2=0x3f20
   
   call show
d5:
   cmp r1,0x0005
   jne d6
   r1=0x6d10
  
   r2=0x3f20
  
   call show
d6:
   cmp r1,0x00006
   jne d7
   r1=0x7d10
  
   r2=0x3f20
  
   call show
d7:
   cmp r1,0x0007
   jne d8
   r1=0x0710
 
   r2=0x3f20
  
   call show
d8:
   cmp r1,0x0008
   jne d9
   r1=0x7f10
   
   r2=0x3f20
  
   call show
d9:
   cmp r1,0x0009
   jne d10
   r1=0x6f10
 
   r2=0x3f20
  
   call show
d10:
   cmp r1,0x000a
   jne  d11
   r1=0x3f10
 
   r2=0x0620
  
   call show
d11:
   cmp r1,0x000b
   jne d12
   r1=0x0610
  
   r2=0x0620
  
   call show
d12:
   cmp r1,0x000c
   jne d13
   r1=0x5b10
  
   r2=0x0620 
  
   call show
d13:
   cmp r1,0x000d
   jne d14
   r1=0x4f10
  
   r2=0x0620 
  
   call show
d14:
   cmp r1,0x000e
   jne d15
   r1=0x6610
  
   r2=0x0620 
  
   call show
d15:
   cmp r1,0x000f
   jne d16
   r1=0x6d10
   
   r2=0x0620 
 
   call show
d16:
   cmp r1,0x0010
   jne d17
   r1=0x7d10
  
   r2=0x0620
 
   call show
d17:
   cmp r1,0x0011
   jne d18
   r1=0x0710
 
   r2=0x0620

   call show
 d18:
   cmp r1,0x0012
   jne d19
   r1=0x7f10
 
   r2=0x0620 
  
   call show
 d19:
   cmp r1,0x0013
   jne d20
   r1=0x6f10
 
   r2=0x0620
   
   call show
 d20:
   cmp r1,0x0014
   jne d21
   r1=0x0610
  
   r2=0x5b20
  
   call show
 d21:
   cmp r1,0x0015
   jne d22
   r1=0x0610
 
   r2=0x5b20
 
   call show  
 d22:
   cmp r1,0x0016
   jne d23
   r1=0x5b10
  
   r2=0x5b20
  
   call show  
 d23:
   cmp r1,0x0017
   jne d24
   r1=0x4f10

   r2=0x5b20
  
   call show
 d24:
   cmp r1,0x0018
   jne d25
   r1=0x6610
 
   r2=0x5b20

   call show
 d25:
   cmp r1,0x0019
   jne d26
   r1=0x6d10

  r2=0x5b20
 
   call show  
 d26:
   cmp r1,0x001a
   jne d27
   r1=0x7d10
  
   r2=0x5b20

   call show  
 d27:
   cmp r1,0x001b
   jne d28
   r1=0x0710

   r2=0x5b20
  
   call show  
 d28:
   cmp r1,0x001c
   jne d29
   r1=0x7f10
 
   r2=0x5b20
   
   call show
 d29:
   cmp r1,0x001d
   jne d30
   r1=0x0710

   r2=0x5b20
 
   call show
 d30:
   cmp r1,0x001e
   jne d31
   r1=0x6710
 
   r2=0x5b20 
 
   call show
 d31:
   cmp r1,0x001f
   jne d32
   r1=0x0610
 
   r2=0x4f20

   call show  
d32:
   cmp r1,0x0020
   jne d33
   r1=0x5b10
   r2=0x4f20
   call show
d33:
   cmp r1,0x0021
   jne d34
   r1=0x4f10
  
   r2=0x4f20
   call show
d34:
   cmp r1,0x0022
   jne d35
   r1=0x6610
  
   r2=0x4f20
   call show
d35:
   cmp r1,0x0023
   jne d36
   r1=0x7d10
  
   r2=0x4f20
   call show
 d36:
   cmp r1,0x0024
   jne d37
   r1=0x7d10
  
   r2=0x4f20
   call show
d37:
   cmp r1,0x0025
   jne d38
   r1=0x0710
  
   r2=0x4f20
   call show
d38:
   cmp r1,0x0026
   jne d39
   r1=0x7f10
  
   r2=0x4f20
   call show
 d39:
   cmp r1,0x0027
   jne d40
   r1=0x0f10
  
   r2=0x4f20  
   call show
d40:
   cmp r1,0x0028
   jne d41
   r1=0x3f10
  
   r2=0x6620
   call show
d41:
   cmp r1,0x0029
   jne d42
   r1=0x0610
  
   r2=0x6620
   call show
d42:
   cmp r1,0x002a
   jne d43
   r1=0x4f10
  
   r2=0x6620
   call show
d43:
   cmp r1,0x002b
   jne d44
   r1=0x4f10
  
   r2=0x6620
   call show
d44:
   cmp r1,0x002c
   jne d45
   r1=0x6610
  
   r2=0x6620
   call show
d45:
   cmp r1,0x002d
   jne d46
   r1=0x6d10
  
   r2=0x6620
   call show 
 d46:
   cmp r1,0x002e
   jne d47
   r1=0x7d10
  
   r2=0x6620
   call show
 d47:
   cmp r1,0x002f
   jne d48
   r1=0x0710
  
   r2=0x6620
   call show
d48:
   cmp r1,0x0030
   jne d49
   r1=0x7f10
   r2=0x6620
   call show
 d49:
   cmp r1,0x0031
   jne d50
   r1=0x0f10
   r2=0x6620
   call show
 d50:
   cmp r1,0x0032
   jne show
   r1=0x3f10
   r2=0x6d20    
   

show:
[a1]=r1

[a2]=r2

   
retf

⌨️ 快捷键说明

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