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

📄 波形信号发生器程序.txt

📁 基于单片机的移相式函数发生器设计,用汇编语言编写!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  008H,0F8H,088H,088H,0E8H,008H,010H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB  020H,03FH,020H,000H,003H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H


TAB0:
;--  文字:  湖  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  010h,021h,086h,060h,090h,090h,0FFh,090h,090h,000h,0FEh,092h,092h,0FEh,000h,000h
DB  004h,0FCh,003h,000h,01Fh,010h,010h,090h,05Fh,030h,00Fh,040h,080h,07Fh,000h,000h

TAB1:
;--  文字:  南  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  004h,004h,0E4h,024h,024h,064h,0B4h,02Fh,024h,0A4h,064h,024h,024h,0E6h,004h,000h
DB  000h,000h,07Fh,004h,005h,005h,005h,07Fh,005h,005h,005h,025h,044h,03Fh,000h,000h

TAB2:
;--  文字:  工  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000h,000h,002h,002h,002h,002h,002h,0FEh,002h,002h,002h,002h,002h,002h,000h,000h
 DB  020h,020h,020h,020h,020h,020h,020h,03Fh,020h,020h,020h,020h,020h,020h,020h,000h
TAB3:
;--  文字:  学  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --

DB  040h,030h,010h,012h,05Ch,054h,050h,051h,05Eh,0D4h,050h,018h,057h,032h,010h,000h
DB  000h,002h,002h,002h,002h,002h,042h,082h,07Fh,002h,002h,002h,002h,002h,002h,000h
TAB4:
;--  文字:  院  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  0FEh,002h,032h,04Ah,086h,00Ch,024h,024h,025h,026h,024h,024h,024h,00Ch,004h,000h
DB  0FFh,000h,002h,004h,083h,041h,031h,00Fh,001h,001h,07Fh,081h,081h,081h,0F1h,000h
TAB5:
;--  文字:  电  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,0F8H,048H,048H,048H,048H,0FFH,048H,048H,048H,048H,0F8H,000H,000H,000H
DB  000H,000H,00FH,004H,004H,004H,004H,03FH,044H,044H,044H,044H,04FH,040H,070H,000H
TAB6:
;--  文字:  气  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,020H,010H,08CH,0A7H,0A4H,0A4H,0A4H,0A4H,0A4H,0A4H,0A4H,024H,004H,004H,000H
DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,00FH,030H,040H,0F0H,000H
TAB7:
;--  文字:  与  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,000H,000H,07EH,048H,048H,048H,048H,048H,048H,048H,048H,0CCH,008H,000H
DB  000H,004H,004H,004H,004H,004H,004H,004H,004H,024H,046H,044H,020H,01FH,000H,000H
TAB8:
;--  文字:  信  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  080H,040H,030H,0FCH,007H,00AH,0A8H,0A8H,0A9H,0AEH,0AAH,0A8H,0A8H,008H,008H,000H
DB  000H,000H,000H,07FH,000H,000H,07EH,022H,022H,022H,022H,022H,07EH,000H,000H,000H
TAB9:
;--  文字:  息  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,000H,0FCH,054H,054H,056H,055H,054H,054H,054H,0FCH,000H,000H,000H,000H
DB  000H,020H,038H,001H,03DH,041H,041H,045H,059H,041H,041H,071H,000H,008H,030H,000H
TAB10:
;--  文字:  工  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,002H,002H,002H,002H,002H,0FEH,002H,002H,002H,002H,002H,002H,000H,000H
DB  020H,020H,020H,020H,020H,020H,020H,03FH,020H,020H,020H,020H,020H,020H,020H,000H
TAB11:
;--  文字:  程  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  010H,012H,0D2H,0FEH,091H,011H,080H,0BFH,0A1H,0A1H,0A1H,0A1H,0BFH,080H,000H,000H
DB  004H,003H,000H,0FFH,000H,041H,044H,044H,044H,07FH,044H,044H,044H,044H,040H,000H
TAB12:
;--  文字:  系  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,002H,022H,0B2H,0AAH,066H,062H,022H,011H,04DH,081H,001H,001H,000H,000H
DB  000H,040H,021H,013H,009H,005H,041H,081H,07FH,001H,005H,009H,013H,062H,000H,000H
TABF0:
;--  文字:  频  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  020H,03CH,020H,020H,0BFH,024H,024H,000H,0F2H,01AH,0D6H,012H,012H,0F2H,002H,000H
DB  044H,043H,020H,010H,00BH,004H,043H,040H,027H,018H,007H,008H,010H,027H,060H,000H
TABF1:
;--  文字:  率  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,00CH,014H,0A4H,004H,064H,035H,0AEH,064H,024H,014H,0A4H,014H,004H,004H,000H
DB  008H,00AH,009H,008H,008H,00AH,00BH,0FEH,00AH,00BH,00CH,008H,009H,00AH,008H,000H
TABF2:
;--  文字:  :  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,000H,0C0H,0C0H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,000H,000H,030H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
UNITT1:
;--  文字:  H  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  008H,0F8H,008H,000H,000H,008H,0F8H,008H,000H,000H,000H,000H,000H,000H,000H,000H
DB  020H,03FH,021H,001H,001H,021H,03FH,020H,000H,000H,000H,000H,000H,000H,000H,000H
UNITT2:
;--  文字:  z  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,080H,080H,080H,080H,080H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,021H,030H,02CH,022H,021H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H
ADDISP1:
;--  文字:  电  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000,000,0F8H,048H,048H,048H,048H,0FFH,048H,048H,048H,048H,0F8H,000H,000H,000H
DB  000,000,00FH,004H,004H,004H,004H,03FH,044H,044H,044H,044H,04FH,040H,070H,000H
ADDISP2:
;--  文字:  压  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,0FEH,002H,042H,042H,042H,042H,0FAH,042H,042H,042H,062H,042H,002H,000H
DB  020H,018H,027H,020H,020H,020H,020H,020H,03FH,020H,021H,02EH,024H,020H,020H,000H
ADDISP3:
;--  文字:  :  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,000H,0C0H,0C0H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB  000H,000H,000H,030H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DT1:
;--  文字:  移  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  010H,092H,072H,0FEH,091H,019H,090H,088H,044H,053H,0A2H,052H,00AH,006H,000H,000H
DB  002H,001H,000H,0FFH,000H,081H,088H,044H,046H,029H,011H,009H,005H,003H,001H,000H
DT2:
;--  文字:  相  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  010H,010H,0D0H,0FFH,030H,050H,090H,000H,0FEH,022H,022H,022H,022H,0FEH,000H,000H
DB  004H,003H,000H,0FFH,000H,000H,001H,000H,0FFH,042H,042H,042H,042H,0FFH,000H,000H
DT3:
;--  文字:  度  --
;--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --
DB  000H,000H,0FCH,004H,024H,024H,0FCH,0A5H,0A6H,0A4H,0FCH,024H,024H,024H,004H,000H
DB  080H,060H,01FH,080H,080H,042H,046H,02AH,012H,012H,02AH,026H,042H,0C0H,040H,000H
;8155初始化子程序CSH8155
 CSH8155: PUSH   DPH
          PUSH   DPL
          PUSH   ACC
          MOV     P2,#FG8155
          MOV     R1,#FD8155
          MOV     P0,R1
          MOV     A,#03H
          MOVX    @R1,A
          POP    ACC
          POP    DPL
          POP    DPH
          RET


;2mS延时子程序YANSHI
 YANSHI:  MOV    R4,    #0FFH
 WW:      NOP
          NOP
          NOP
          NOP
          NOP
          NOP
          DJNZ   R4,    WW
          RET

;键扫描子程序KEY(无键按下,键值00H;0至9键键值01H至0AH,A至F键键值0BH至10H)
 KEY:     MOV    4EH,#01H
          PUSH   DPH
          PUSH   DPL
          PUSH   PSW
          CLR    RS0
          SETB   RS1
          LCALL  CSH8155
          LCALL  KEY1
          JZ     EXIT
          LCALL  YANSHI
          LCALL  YANSHI
          LCALL  KEY1
          JZ     EXIT
          MOV    4EH,#00H
     K2:  MOV    R2,    #0FEH
          MOV    R4,    #00H
    K3:   MOV    P2,    #BG8155
          MOV    R1,    #BD8155
          MOV    P0,    R1
          MOV    A,     R2
          MOVX   @R1,   A
          MOV    P2,    #CG8155
          MOV    R1,    #CD8155
          MOV    P0,    R1
          MOVX   A,     @R1
          JB     ACC.0, LONE
          MOV    A,     #01H
          LJMP   LKP
  LONE:   JB     ACC.1, NEXT
          MOV    A,     #09H
   LKP:   ADD    A,     R4
          PUSH   ACC
    K4:   LCALL  YANSHI
          LCALL  KEY1
          JNZ    K4
          POP    ACC
          LJMP   EXIT
  NEXT:   INC     R4
          MOV     A,    R2
          JNB     ACC.7,EXIT
          RL      A
          MOV     R2,   A
          LJMP    K3
 EXIT:    POP    PSW
          POP    DPL
          POP    DPH
          RET

;键处理子程序KEY1
KEY1:     MOV    P2,    #BG8155
          MOV    R1,    #BD8155
          MOV    P0,    R1
          MOV    A,     #00H
          MOVX   @R1,   A
          INC    R1
          MOVX   A,     @R1
          CPL    A
          ANL    A,     #03H
          RET

 ;计算tab的值
 ;/*入口参数keyzhi 2FH  出口参数:DPTR*/
FINDTAB:  MOV    A,KEYZHI
          DEC    A
          MOV    B,#32
          MUL    AB
          CLR    C
          MOV    DPTR,#TAB
          ADD    A,DPL
          MOV    DPL,A
          MOV    A,B
          ADDC   A,DPH
          MOV    DPH,A
          RET


;置数子程序
;/入口参数:KYEZHI   出口参数:50H-5FH*/
ZHISU:    PUSH   PSW
          PUSH   DPH
          PUSH   DPL
          SETB   RS0
          SETB   RS1
          MOV    DPTR,#TABF0
          MOV    COMX,#0B8H
          MOV    COMY,#40H      ;频
          MOV    JCS1CS2,#00H
          LCALL  DISP
          MOV    DPTR,#TABF1
          MOV    COMX,#0B8H
          MOV    COMY,#50H      ;率
          MOV    JCS1CS2,#00H
          LCALL  DISP
          MOV    DPTR,#TABF2
          MOV    COMX,#0B8H
          MOV    COMY,#60H      ;:
          MOV    JCS1CS2,#00H
          LCALL  DISP
          MOV    R6,#00H
          MOV    R5,#40H
          MOV    R4,#00H;计算输入数的个数
          MOV    R0,#50H
LOOOP:    LCALL  KEY
          MOV    KEYZHI,A
          MOV    A,4EH  ; 判是否有键按下
          CJNE   A,#00H,LOOOP
          MOV    A,KEYZHI
          CJNE   A,#0BH,KU
          LJMP   YY

   KU:    MOV    @R0,KEYZHI
          LCALL  FINDTAB
          MOV    COMX,#0BAH
          MOV    COMY,R5
          MOV    JCS1CS2,R6
          LCALL  DISP
          MOV    A,R5
          ADD    A,#10H
          MOV    R5,A
          INC    R0
          INC    R4
          MOV    A,R4
          CJNE   A,#04H,RRR
          MOV    R6,#01H
          MOV    R5,#40H
   RRR:   LJMP   LOOOP
    YY:   MOV    A,R4
          CJNE   A,#00H,KS
          LJMP   TSF0

    KS:   MOV     DPTR,#UNITT1
          MOV     COMX,#0BCH
          MOV     COMY,#40H
          MOV     JCS1CS2,#00H
          LCALL   DISP
          MOV     DPTR,#UNITT2
          MOV     COMX,#0BCH
          MOV     COMY,#50H
          MOV     JCS1CS2,#00H
          LCALL   DISP
          MOV     A,R4
    ZZ:   CJNE    A,#01H,ZL
          DEC     50H
          LJMP    ZS
    ZL:   CJNE    A,#02H,ZM
          DEC     50H
          DEC     51H
          MOV     R1,50H
          MOV     50H,51H
          MOV     51H,R1
          LJMP    ZS
    ZM:   CJNE    A,#03H,ZN
          DEC     52H
          DEC     51H
          DEC     50H
          MOV     R1,50H
          MOV     50H,52H
          MOV     52H,R1
          LJMP    ZS
    ZN:   CJNE    A,#04H,ZO
          DEC     53H
          DEC     52H
          DEC     51H
          DEC     50H
          MOV     R1,50H
          MOV     R2,51H
          MOV     50H,53H
          MOV     51H,52H
          MOV     52H,R2
          MOV     53H,R1
          LJMP    ZS
    ZO:   CJNE    A,#05H,ZP
          DEC     54H
          DEC     53H
          DEC     52H
          DEC     51H
          DEC     50H
          MOV     R1,50H
          MOV     R2,51H
          MOV     50H,54H
          MOV     51H,53H
          MOV     53H,R2
          MOV     54H,R1
          LJMP    ZS
    ZP:   CJNE    A,#06H,ZA
          DEC     55H
          DEC     54H
          DEC     53H
          DEC     52H
          DEC     51H
          DEC     50H
          MOV     R1,50H
          MOV     R2,51H
          MOV     R3,52H
          MOV     50H,55H
          MOV     51H,54H
          MOV     52H,53H
          MOV     53H,R3
          MOV     54H,R2
          MOV     55H,R1
          LJMP    ZS
    ZA:   CJNE    A,#07H,ZB
          DEC     56H
          DEC     55H
          DEC     54H
          DEC     53H
          DEC     52H
          DEC     51H
          DEC     50H
          MOV     R1,50H
          MOV     R2,51H
          MOV     R3,52H
          MOV     50H,56H
          MOV     51H,55H
          MOV     52H,54H
          LJMP    ZS
    ZB:   CJNE    A,#08H,$
          DEC     57H
          DEC     56H
          DEC     55H
          DEC     54H
          DEC     53H
          DEC     52H
          DEC     51H
          DEC     50H
          MOV     R1,50H
          MOV     R2,51H
          MOV     R3,52H
          MOV     R4,53H
          MOV     50H,57H
          MOV     51H,56H
          MOV     52H,55H
          MOV     53H,54H
          MOV     54H,R4
          MOV     55H,R3
          MOV     56H,R2
          MOV     57H,R1
   ZS:    PUSH    PSW
          MOV     R0,#50H
          MOV     R1,#4FH
          LCALL   BCDHEX
          MOV     4CH,         5CH       ;高位不用置零
          MOV     4DH,         5DH
          MOV     4EH,         5EH
          MOV     4FH,         5FH
          MOV     5CH,         #00H
          MOV     5DH,         #28H      ;置数值先送入4D~4F单元
          MOV     5EH,         #0F5H
          MOV     5FH,         #0C2H     ;先乘以2684354(扩大1000000倍后的2的24次方除时钟6.25M的值)
          LCALL   MULNM
          MOV     4AH,5AH
          MOV     4BH,5BH
          MOV     4CH,5CH
          MOV     4DH,5DH
          MOV     4EH,5EH
          MOV     4FH,5FH

          MOV     5AH,#00H
          MOV     5BH,#00H
          MOV     5CH,#00H
          MOV     5DH,#0FH
          MOV     5EH,#42H
          MOV     5FH,#40H
          LCALL   DIVD2
;送频率字

PLZ:      SETB  P1.6
          CLR   P1.5
          MOV   P0,4DH
          NOP
          CLR   P1.6
          SETB  P1.5
          MOV   P0,4EH
          NOP
          CLR   P1.6
          CLR   P1.5
          MOV   P0,4FH
          NOP
	  LJMP  $

⌨️ 快捷键说明

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