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

📄 text1.asm

📁 基于8255的LCD函数信号发生器的设计
💻 ASM
字号:
;载入正弦波数据
START: SETB RS0                 ;设定工作寄存器组1
       CLR RS1
       SETB P3.1
       CLR P3.5
       MOV R0,#00H              ;表指针
LP1:   MOV DPTR,#SIN       
       MOV A,R0 
       MOV R1,A                ;存放外扩数据存储器指针        
       MOVC A,@A+DPTR          ;取出表数据
       MOV DPTR,#0000H         ;将数据存到外扩数据存储器
LP2:   CJNE R1,#00H,NEXT
       JMP LP
NEXT:  INC DPTR
       DEC R1
       JMP LP2
LP:    MOVX @DPTR,A
       INC R0
       CJNE R0,#00H,LP1
;载入三角波数据
       MOV R0,#00H              ;表指针
LoP1:  MOV DPTR,#TANGLE       
       MOV A,R0 
       MOV R1,A                ;存放外扩数据存储器指针        
       MOVC A,@A+DPTR          ;取出表数据
       MOV DPTR,#0100H         ;将数据存到外扩数据存储器
LoP2:  CJNE R1,#00H,NEXT1
       JMP LoP
NEXT1: INC DPTR
       DEC R1
       JMP LoP2
LoP:   MOVX @DPTR,A
       INC R0
       CJNE R0,#00H,LoP1
;载入方波数据
       MOV R0,#00H              ;表指针
LooP1: MOV DPTR,#FANGBO      
       MOV A,R0 
       MOV R1,A                ;存放外扩数据存储器指针        
       MOVC A,@A+DPTR          ;取出表数据
       MOV DPTR,#0200H         ;将数据存到外扩数据存储器
LooP2: CJNE R1,#00H,NEXT2
       JMP LooP
NEXT2: INC DPTR
       DEC R1
       JMP LooP2
LooP:  MOVX @DPTR,A
       INC R0
       CJNE R0,#00H,LooP1
;载入锯齿波数据
       MOV R0,#00H              ;表指针
LoooP1:MOV DPTR,#JUCHI      
       MOV A,R0 
       MOV R1,A                ;存放外扩数据存储器指针        
       MOVC A,@A+DPTR          ;取出表数据
       MOV DPTR,#0300H         ;将数据存到外扩数据存储器
LoooP2:CJNE R1,#00H,NEXT3
       JMP LoooP
NEXT3: INC DPTR
       DEC R1
       JMP LoooP2
LoooP: MOVX @DPTR,A
       INC R0
       CJNE R0,#00H,LoooP1
      
       
      CLR P3.1
      CLR P2.0
       SETB P2.1
        CLR P2.2
	 CLR P2.3
	  CLR P2.4
       SETB P3.5
CLR P3.7
       CLR RS0
       CLR RS1 
       ;设定工作寄存器组0
       MOV DPTR,#TABLE 
       MOV TMOD,#01H            
L:    MOV A,P1           ;P1口作为键盘输入口
       ANL A,#01111111B  ;频率变化范围:100-10000hz,最高位保持为0,避免左移时出错
       MOV 30H,A          ;保存按键值在30H单元中,以便查询是否有下一次按键
       RL A                    
       MOV R1,A          ;保存一个字的高位偏移值(低地址)
       MOVC A,@A+DPTR 
       MOV TH0,A
       MOV A,R1
       INC A
       MOV R2,A          ;保存一个字的低位偏移值(高地址)     
       MOVC A,@A+DPTR
       MOV TL0,A
       SETB TR0
L1:  JBC TF0,NT
       SJMP L1
NT:       

           MOV  C,P2.5
	   MOV P2.0,C
	   MOV C,P2.6
	   MOV P2.1,C

       MOV A,R2                     
       MOVC A,@A+DPTR
       MOV TL0,A
       MOV A,R1
       MOVC A,@A+DPTR  
       MOV TH0,A
       CPL P3.0          ;输出所需频率方波信号
       MOV A,P1
       ANL A,#01111111B
       CJNE A,30H,L
       SJMP L1 

ORG 0400H            
SIN:   DB 80H,83H,86H,89H,8cH,8fH,92H,95H,98H,9bH,9eH,0a2H,0a5H,0a7H,0aaH
       DB 0adH,0b0H,0b3H,0b6H,0b9H,0bcH,0beH,0c1H,0c4H,0c6H,0c9H,0cbH,0ceH
       DB 0d0H,0d3H,0d5H,0d7H,0daH,0dcH,0deH,0e0H,0e2H,0e4H,0e6H,0e8H,0eaH
       DB 0ebH,0edH,0eeH,0f0H,0f1H,0f3H,0f4H,0f5H,0f6H,0f8H,0f9H,0faH,0faH
       DB 0fbH,0fcH,0fdH,0fdH,0feH,0feH,0feH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0feH,0feH,0feH,0fdH,0fdH,0fcH,0fbH,0faH,0faH,0f9H,0f8H,0f6H
       DB 0f5H,0f4H,0f3H,0f1H,0f0H,0eeH,0edH,0ebH,0eaH,0e8H,0e6H,0e4H,0e2H
       DB 0e0H,0deH,0dcH,0daH,0d7H,0d5H,0d3H,0d0H,0ceH,0cbH,0c9H,0c6H,0c4H
       DB 0c1H,0beH,0bcH,0b9H,0b6H,0b3H,0b0H,0adH,0aaH,0a7H,0a5H,0a2H,9eH
       DB 9bH,98H,95H,92H,8fH,8cH,89H,86H,83H
       DB 80H,7cH,79H,76H,73H,70H,6dH,6aH,67H,64H,61H,5dH,5aH,58H,55H,52H
       DB 4fH,4cH,49H,46H,43H,41H,3eH,3bH,39H,36H,34H,31H,2fH,2cH,2aH,28H
       DB 25H,23H,21H,1fH,1dH,1bH,19H,17H,15H,14H,12H,11H,0fH,0eH,0cH,0bH
       DB 0aH,09H,07H,06H,05H,05H,04H,03H,02H,02H,01H,01H,01H,00H,00H,00H
       DB 00H,00H,00H,00H,01H,01H,01H,02H,02H,03H,04H,05H,05H,06H,07H,09H
       DB 0aH,0bH,0cH,0eH,0fH,11H,12H,14H,15H,17H,19H,1bH,1dH,1fH,21H,23H
       DB 25H,28H,2aH,2cH,2fH,31H,34H,36H,39H,3bH,3eH,41H,43H,46H,49H,4cH
       DB 4fH,52H,55H,58H,5aH,5dH,61H,64H,67H,6aH,6dH,70H,73H,76H,79H,7cH

TANGLE:DB 00H,02H,04H,06H,08H,0aH,0cH,0eH,10H,12H,14H,16H,18H,1aH,1cH,1eH
       DB 20H,22H,24H,26H,28H,2aH,2cH,2eH,30H,32H,34H,36H,38H,3aH,3cH,3eH
       DB 40H,42H,44H,46H,48H,4aH,4cH,4eH,50H,52H,54H,56H,58H,5aH,5cH,5eH
       DB 60H,62H,64H,66H,68H,6aH,6cH,6eH,70H,72H,74H,76H,78H,7aH,7cH,7eH
       DB 80H,82H,84H,86H,88H,8aH,8cH,8eH,90H,92H,94H,96H,98H,9aH,9cH,9eH
       DB 0a0H,0a2H,0a4H,0a6H,0a8H,0aaH,0acH,0aeH,0b0H,0b2H,0b4H,0b6H,0b8H
       DB 0baH,0bcH,0beH,0c0H,0c2H,0c4H,0c6H,0c8H,0caH,0ccH,0ceH,0d0H,0d2H
       DB 0d4H,0d6H,0d8H,0daH,0dcH,0deH,0e0H,0e2H,0e4H,0e6H,0e8H,0eaH,0ecH
       DB 0eeH,0f0H,0f2H,0f4H,0f6H,0f8H,0faH,0fcH,0feH,0feH,0fcH,0faH,0f8H
       DB 0f6H,0f4H,0f2H,0f0H,0eeH,0ecH,0eaH,0e8H,0e6H,0e4H,0e2H,0e0H,0deH
       DB 0dcH,0daH,0d8H,0d6H,0d4H,0d2H,0d0H,0ceH,0ccH,0caH,0c8H,0c6H,0c4H
       DB 0c2H,0c0H,0beH,0bcH,0baH,0b8H,0b6H,0b4H,0b2H,0b0H,0aeH,0acH,0aaH
       DB 0a8H,0a6H,0a4H,0a2H,0a0H
       DB 9eH,9cH,9aH,98H,96H,94H,92H,90H,8eH,8cH,8aH,88H,86H,84H,82H,80H
       DB 7eH,7cH,7aH,78H,76H,74H,72H,70H,6eH,6cH,6aH,68H,66H,64H,62H,60H
       DB 5eH,5cH,5aH,58H,56H,54H,52H,50H,4eH,4cH,4aH,48H,46H,44H,42H,40H
       DB 3eH,3cH,3aH,38H,36H,34H,32H,30H,2eH,2cH,2aH,28H,26H,24H,22H,20H
       DB 1eH,1cH,1aH,18H,16H,14H,12H,10H,0eH,0cH,0aH,08H,06H,04H,02H,00H

FANGBO:DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
       DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

JUCHI: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0aH,0bH,0cH,0dH,0eH,0fH
       DB 10H,11H,12H,13H,14H,15H,16H,17H,18H,19H,1aH,1bH,1cH,1dH,1eH,1fH
       DB 20H,21H,22H,23H,24H,25H,26H,27H,28H,29H,2aH,2bH,2cH,2dH,2eH,2fH
       DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,3aH,3bH,3cH,3dH,3eH,3fH
       DB 40H,41H,42H,43H,44H,45H,46H,47H,48H,49H,4aH,4bH,4cH,4dH,4eH,4fH
       DB 50H,51H,52H,53H,54H,55H,56H,57H,58H,59H,5aH,5bH,5cH,5dH,5eH,5fH
       DB 60H,61H,62H,63H,64H,65H,66H,67H,68H,69H,6aH,6bH,6cH,6dH,6eH,6fH
       DB 70H,71H,72H,73H,74H,75H,76H,77H,78H,79H,7aH,7bH,7cH,7dH,7eH,7fH
       DB 80H,81H,82H,83H,84H,85H,86H,87H,88H,89H,8aH,8bH,8cH,8dH,8eH,8fH
       DB 90H,91H,92H,93H,94H,95H,96H,97H,98H,99H,9aH,9bH,9cH,9dH,9eH,9fH
       DB 0a0H,0a1H,0a2H,0a3H,0a4H,0a5H,0a6H,0a7H,0a8H,0a9H,0aaH,0abH,0acH
       DB 0adH,0aeH,0afH,0b0H,0b1H,0b2H,0b3H,0b4H,0b5H,0b6H,0b7H,0b8H,0b9H
       DB 0baH,0bbH,0bcH,0bdH,0beH,0bfH,0c0H,0c1H,0c2H,0c3H,0c4H,0c5H,0c6H
       DB 0c7H,0c8H,0c9H,0caH,0cbH,0ccH,0cdH,0ceH,0cfH,0d0H,0d1H,0d2H,0d3H
       DB 0d4H,0d5H,0d6H,0d7H,0d8H,0d9H,0daH,0dbH,0dcH,0ddH,0deH,0dfH,0e0H
       DB 0e1H,0e2H,0e3H,0e4H,0e5H,0e6H,0e7H,0e8H,0e9H,0eaH,0ebH,0ecH,0edH
       DB 0eeH,0efH,0f0H,0f1H,0f2H,0f3H,0f4H,0f5H,0f6H,0f7H,0f8H,0f9H,0faH
       DB 0fbH,0fcH,0fdH,0feH,0ffH

TABLE:DW 0000H,0ec78H, 0f63cH, 0f97dH, 0fb1eH, 0fc18H, 0fcbfH, 0fd36H, 0fd8fH, 0fdd4H, 0fe0cH   
      DW 0fe39H, 0fe5fH, 0fe7fH, 0fe9bH, 0feb3H, 0fec7H, 0fedaH, 0feeaH, 0fef9H, 0ff06H   
      DW 0ff12H, 0ff1dH, 0ff27H, 0ff30H, 0ff38H, 0ff40H, 0ff47H, 0ff4dH, 0ff54H, 0ff59H   
      DW 0ff5fH, 0ff64H, 0ff68H, 0ff6dH, 0ff71H, 0ff75H, 0ff79H, 0ff7cH, 0ff80H, 0ff83H   
      DW 0ff86H, 0ff89H, 0ff8cH, 0ff8eH, 0ff91H, 0ff93H, 0ff96H, 0ff98H, 0ff9aH, 0ff9cH   
      DW 0ff9eH, 0ffa0H, 0ffa2H, 0ffa3H, 0ffa5H, 0ffa7H, 0ffa8H, 0ffaaH, 0ffabH, 0ffadH   
      DW 0ffaeH, 0ffafH, 0ffb1H, 0ffb2H, 0ffb3H, 0ffb4H, 0ffb5H, 0ffb6H, 0ffb8H, 0ffb9H   
      DW 0ffbaH, 0ffbbH, 0ffbcH, 0ffbcH, 0ffbdH, 0ffbeH, 0ffbfH, 0ffc0H, 0ffc1H, 0ffc1H   
      DW 0ffc2H, 0ffc3H, 0ffc4H, 0ffc4H, 0ffc5H, 0ffc6H, 0ffc7H, 0ffc7H, 0ffc8H, 0ffc8H   
      DW 0ffc9H, 0ffcaH, 0ffcaH, 0ffcbH, 0ffcbH, 0ffccH, 0ffccH, 0ffcdH, 0ffcdH, 0ffceH 
      END

⌨️ 快捷键说明

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