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

📄 2ifinput.asm

📁 tenx radio pll ic tr1002 and radio ic ta2111 and refence code .
💻 ASM
📖 第 1 页 / 共 4 页
字号:
                call       CountRAMToWork
                addi*	   WorkReg+0,FMOneStepCountL
                adci*      WorkReg+1,FMOneStepCountM
                adci*      WorkReg+2,FMOneStepCountH
                adci*      WorkReg+3,FMOneStepCountU 
                call       WorkToCountRAM
                rts                             
;函数功能:AM频率单步减30H               
AMCountRAMSubOneStep:
                call       CountRAMToWork
                subi*	   WorkReg+0,AMOneStepCountL
	        sbci*	   WorkReg+1,AMOneStepCountM
	        sbci*	   WorkReg+2,AMOneStepCountH
	        sbci*	   WorkReg+3,AMOneStepCountU
	        call       WorkToCountRAM
                rts
;函数功能:FM频率单步减14H               
FMCountRAMSubOneStep:
                call       CountRAMToWork
                subi*	   WorkReg+0,FMOneStepCountL
	        sbci*	   WorkReg+1,FMOneStepCountM
	        sbci*	   WorkReg+2,FMOneStepCountH
	        sbci*	   WorkReg+3,FMOneStepCountU
	        call       WorkToCountRAM
                rts                
;函数功能:频率送工作寄存器                
CountRAMToWork:
             	mrw        WorkReg+3,PrgCountU
                mrw        WorkReg+2,PrgCountH  
                mrw        WorkReg+1,PrgCountM 
                mrw        WorkReg+0,PrgCountL                 
                rts 
WorkToCountRAM:
                mwr        PrgCountU,WorkReg+3  
                mwr        PrgCountH,WorkReg+2 
                mwr        PrgCountM,WorkReg+1 
                mwr        PrgCountL,WorkReg+0	
                rts  
;************************************************************
;************************* 显示程式 **************************
;************************************************************
;               -      -       -          -           
;              | |    | |     | |        | |       
;               -      -       -          -        
;              | |    | |     | |        | |       
;               -      -       -    .     -           
;SentRAM(4B) DispFreqU DispFreqH DispFreqM DispFreqL        
Display:        
		lds	WorkReg+0,00h
		mvu	WorkReg+0
		lds	WorkReg+1,0eh
       ClearDisplayBuffer:
		mvl	WorkReg+0
		mvh	WorkReg+1
		lds	WorkReg+3,00h
		sta	@hl
		addi*	WorkReg+0,01h
		adci*	WorkReg+1,00h
		or	WorkReg+0
		jnz	ClearDisplayBuffer
	        ;**************************  
		mrw	WorkReg+0,DispFreqU		;DiplayMode 
		jnz	DisplayLct
		jmp     DisplayLct1 		
       DisplayLct:		
                mrw     WorkReg+0,DispFreqU        
		call	DecodeLowNibble
		lds	WorkReg+2,00h
		call	DisplayLowNibble		
		mrw     WorkReg+0,DispFreqU
		call    DecodeHighNibble
		lds     WorkReg+2,00h
		call    DisplayHighNibble
       DisplayLct1:
               ;=========================
		mrw	WorkReg+0,DispFreqH
		call	DecodeLowNibble
		lds	WorkReg+2,01h
		call	DisplayLowNibble
		mrw	WorkReg+0,DispFreqH
		call	DecodeHighNibble
		lds	WorkReg+2,01h
		call	DisplayHighNibble	;Display Mode
               ;===========================
		mrw	WorkReg+0,DispFreqM
		call	DecodeLowNibble
		lds	WorkReg+2,02h
		call	DisplayLowNibble
		mrw	WorkReg+0,DispFreqM
		call	DecodeHighNibble
		lds	WorkReg+2,02h
		call	DisplayHighNibble	;Display Mode
               ;===========================
		mrw	WorkReg+0,DispFreqL
		call	DecodeLowNibble
		lds	WorkReg+2,03h
		call	DisplayLowNibble
		mrw	WorkReg+0,DispFreqL
		call	DecodeHighNibble
		lds	WorkReg+2,03h
		call	DisplayHighNibble	;Display Mode
;**********************固定显示部分************************
                lds	WorkReg+0,00h  
		call	DecodeLowNibble
		lda     SysModeFlag
		jz      DisplayFM
		lds     WorkReg+2,05h    ;AM/./KHz
		jmp     DisplayNextStep
	  DisplayFM:	
		lds	WorkReg+2,04h    ;FM/./MHz
          DisplayNextStep:		
		call	DisplayLowNibble  
DisplayBaseOnBuffer:
		lds	WorkReg+0,00h
		mvl	WorkReg+0
		mvu	WorkReg+0
		lds	WorkReg+0,0eh
		mvh	WorkReg+0
		lda#	@hl
		lcp	00h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	01h,@hl
			
		lda#	@hl
		lda#	@hl
		lcp	02h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	03h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	04h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	05h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	06h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	07h,@hl
			
		lda#	@hl
		lda#	@hl
		lcp	08h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	09h,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	0Ah,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	0Bh,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	0Ch,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	0Dh,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	0Eh,@hl
		
		lda#	@hl
		lda#	@hl
		lcp	0Fh,@hl
		
		rts		
;****************************************************************************
;Input:	WorkReg+0 "binary(bitmap) data to Display  "
;	WorkReg+2 "logic address of Display"
;****************************************************************************
DisplayHighNibble:
		lds	WorkReg+3,00		;offset of Logic Display address		
		mvu	WorkReg+3
		lds	WorkReg+1,08h
		jmp	DisplayNextBit
DisplayLowNibble:
		lds	WorkReg+3,00		;offset of Logic Display address		
		mvu	WorkReg+3
		lds	WorkReg+1,00h
DisplayNextBit:
		mvl	WorkReg+1
		mvh	WorkReg+2
	
		ldl	WorkReg+4,@hl	
		ldh*	WorkReg+5,@hl	
		ldl	WorkReg+6,@hl
	
		mvl	WorkReg+4
		mvh	WorkReg+5
					;there is a defult condition that is HL=0XXh
		lda	WorkReg+6
		and*	@hl
		andi	WorkReg+0,0001B
		jz	PrepareNextBit
	
		eori*	WorkReg+6,0fh
		or*	@hl
PrepareNextBit:
		sr0	WorkReg+0
		addi*	WorkReg+1,02h
		andi	WorkReg+1,0111B
		jnz	DisplayNextBit
		rts
;****************************************************************************
;****************************************************************************
DecodeLowNibble:	
		mvl	WorkReg+0		
		lds	WorkReg+0,00h
		mvu	WorkReg+0		
		lds	WorkReg+0,0fh
		mvh	WorkReg+0		
		ldl	WorkReg+0,@hl
		rts
DecodeHighNibble:	
		mvl	WorkReg+0		
		lds	WorkReg+0,00h
		mvu	WorkReg+0		
		lds	WorkReg+0,0fh
		mvh	WorkReg+0		
		ldh	WorkReg+0,@hl
		rts
;****************************************************************************                                                                                                         
.ENDC
;****************************************************************************
.TABLE
Data	000h,None	;Digital 0  , SegmentA
Data	001h,None	
Data	002h,SEG11	;Digital 0  , SegmentB
Data	003h,COM3	
Data	004h,None	;Digital 0  , SegmentC
Data	005h,None	
Data	006h,None	;Digital 0  , SegmentD
Data	007h,None	
Data	008h,None	;Digital 0  , SegmentE
Data	009h,None	
Data	00ah,None	;Digital 0  , SegmentF
Data	00bh,None	
Data	00ch,None	;Digital 0  , SegmentG
Data	00dh,None	
Data	00eh,None	;Digital 0  , SegmentH
Data	00fh,None

Data	010h,SEG9	;Digital 1  , SegmentA
Data	011h,COM3	
Data	012h,SEG8	;Digital 1  , SegmentB
Data	013h,COM3	
Data	014h,SEG8	;Digital 1  , SegmentC
Data	015h,COM2	
Data	016h,SEG9	;Digital 1  , SegmentD
Data	017h,COM1	
Data	018h,SEG10	;Digital 1  , SegmentE
Data	019h,COM2	
Data	01ah,SEG10	;Digital 1  , SegmentF
Data	01bh,COM3	
Data	01ch,SEG9	;Digital 1  , SegmentG
Data	01dh,COM2	
Data	01eh,None	;Digital 1  , SegmentH
Data	01fh,None

Data	020h,SEG6	;Digital 2  , SegmentA
Data	021h,COM3	
Data	022h,SEG5	;Digital 2  , SegmentB
Data	023h,COM3	
Data	024h,SEG5	;Digital 2  , SegmentC
Data	025h,COM2	
Data	026h,SEG6	;Digital 2  , SegmentD
Data	027h,COM1	
Data	028h,SEG7	;Digital 2  , SegmentE
Data	029h,COM2	
Data	02ah,SEG7	;Digital 2  , SegmentF
Data	02bh,COM3	
Data	02ch,SEG6	;Digital 2  , SegmentG
Data	02dh,COM2	
Data	02eh,None	;Digital 2  , SegmentH
Data	02fh,None

Data	030h,SEG3	;Digital 3  , SegmentA
Data	031h,COM3	
Data	032h,SEG2	;Digital 3  , SegmentB
Data	033h,COM3	
Data	034h,SEG2	;Digital 3  , SegmentC
Data	035h,COM2	
Data	036h,SEG3	;Digital 3  , SegmentD
Data	037h,COM1	
Data	038h,SEG4	;Digital 3  , SegmentE
Data	039h,COM2	
Data	03ah,SEG4	;Digital 3  , SegmentF
Data	03bh,COM3	
Data	03ch,SEG3	;Digital 3  , SegmentG
Data	03dh,COM2	
Data	03eh,None	;Digital 3  , SegmentH
Data	03fh,None

Data	040h,SEG4	;Freq Symbol  , Point
Data	041h,COM1	
Data	042h,SEG1	;Freq Symbol  , MHz
Data	043h,COM2	
Data	044h,SEG11	;Freq Symbo  ,  FM
Data	045h,COM1	
Data	046h,None	;Time Symbol  , 
Data	047h,None	
Data	048h,None	;Time Symbol  , 
Data	049h,None	
Data	04ah,None	;Time Symbol  , 
Data	04bh,None	
Data	04ch,None	;Time Symbol  , 
Data	04dh,None	
Data	04eh,None	;Time Symbol  , 
Data	04fh,None

Data	050h,SEG8	;Freq Symbol  , AM
Data	051h,COM1	
Data	052h,SEG1	;Freq Symbol  , KHz
Data	053h,COM1	
Data	054h,None	;Freq Symbo   , 
Data	055h,None	
Data	056h,None	;Time Symbol  , 
Data	057h,None	
Data	058h,None	;Time Symbol  , 
Data	059h,None	
Data	05ah,None	;Time Symbol  , 
Data	05bh,None	
Data	05ch,None	;Time Symbol  , 
Data	05dh,None	
Data	05eh,None	;Time Symbol  , 
Data	05fh,None
;************************************
Data    a0h,02h ;radio D2H and D1H data
Data    a1h,0dh 	   
Data    a2h,0ah		   
Data    a3h,00h		   
Data    a4h,01h	  ;IFIN1 Input	   
Data    a5h,02h		   
Data    a6h,00h   ;00h 	   
Data    a7h,00h 	   
Data    a8h,01h 	   
Data    a9h,0dh 	
;;;;;;;;;;;;;;;;;;;;; 
Data    b0h,02h ;radio D2H and D1H data
Data    b1h,0dh 	   
Data    b2h,02h		   
Data    b3h,01h		   
Data    b4h,01h	  ;IFIN2 Input	   
Data    b5h,04h	   
Data    b6h,00h   ;00h 	   
Data    b7h,00h 
Data    b8h,01h 	   
Data    b9h,0dh 	   
;****************************
Data    d0h,00h       ;fm:  5370h~53c0h 
Data    d1h,9ch       ;(10.7M)*16MS=29CC0h 
Data    d2h,50h
Data    d3h,9Dh   
Data    d4h,10h       ;am:  1c1bh~1c27h 
Data    d5h,1ch       ;450*16=1c20
Data    d6h,30h
Data    d7h,1ch                        	   
;****************************	   
Data	0f0h,00111111B	;digit display decode table
Data	0f1h,00000110B
Data	0f2h,01011011B
Data	0f3h,01001111B
Data	0f4h,01100110B
Data	0f5h,01101101B
Data	0f6h,01111101B
Data	0f7h,00000111B
Data	0f8h,01111111B
Data	0f9h,01101111B
Data	0fah,01110111B
Data	0fbh,01111100B
Data	0fch,00111001B
Data	0fdh,01011110B
Data	0feh,01111001B
Data	0ffh,01110001B

.ENDT

⌨️ 快捷键说明

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