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

📄 1106.asm

📁 一个完整的制袋机控制系统,包显示程序,步进电机驱动程序.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
     MOV    R0,#0B7H   ;下半部汉字在显示屏的位 
     MOV    R1,#0H
     LCALL  WDOFF     ;汉字显示

;汉字显示---延时
     MOV    R2 ,#8     ;8*3=24
     MOV    DPTR,#EXPRE44 
     MOV    R0,#0A5H   ;上半部汉字在显示屏的位?   
     MOV    R1,#0H
     LCALL  WDOFF     ;汉字显示

     MOV    R2 ,#8    ;8*3=24
     MOV    DPTR,#EXPRE45
     MOV    R0,#0C3H   ;下半部汉字在显示屏的位 
     MOV    R1,#0H
     LCALL  WDOFF     ;汉字显示

;汉字显示---记数 
     MOV    R2 ,#8     ;8*3=24
     MOV    DPTR,#EXPRE46 
     MOV    R0,#11H   ;上半部汉字在显示屏的位?   
     MOV    R1,#01H
     LCALL  WDOFF     ;汉字显示

     MOV    R2 ,#8    ;8*3=24
     MOV    DPTR,#EXPRE47
     MOV    R0,#2FH   ;下半部汉字在显示屏的位 
     MOV    R1,#01H
     LCALL  WDOFF     ;汉字显示

;汉字显示---总数
     MOV    R2 ,#8     ;8*3=24
     MOV    DPTR,#EXPRE48 
     MOV    R0,#1DH   ;上半部汉字在显示屏的位?   
     MOV    R1,#01H
     LCALL  WDOFF     ;汉字显示

     MOV    R2 ,#8    ;8*3=24
     MOV    DPTR,#EXPRE49
     MOV    R0,#3BH   ;下半部汉字在显示屏的位 
     MOV    R1,#01H
     LCALL  WDOFF     ;汉字显示

;显示第4层 英文字子程序 
; 显示  ok  make a move
        MOV   DAT1, #088H ;设置显示RAM 首地址
        MOV   DAT2, #01H
        MOV   COM, #24H
        LCALL PR1

        MOV    R3, #24    ;设置循环量 TEXT
        MOV    DPTR,#WELCOM_1 ; ok  make a move
	LCALL  TEST1
        RET
  
LAYER41: 
        MOV     DAT1, #0BDH    ;设置显示RAM 首地址
        MOV     DAT2, #00H
        MOV     COM,  #24H
        LCALL   PR1
        
        MOV     A, alarm
	MOV     NUMERAL1 ,A  
        LCALL   BCD
        MOV     measure1,R1   ;设定值送显
	LCALL   TEST2
        MOV     measure1,R2   ;设定值送显
        LCALL   TEST2
        MOV     measure1,R3   ;设定值送显
        LCALL   TEST2
        RET

LAYER42: 
        MOV     DAT1, #0C9H    ;设置显示RAM 首地址
        MOV     DAT2, #00H
        MOV     COM,  #24H
        LCALL   PR1
        
        MOV     A, postpone
	MOV     NUMERAL1 ,A  
        LCALL   BCD
        MOV     measure1,R1   ;设定值送显
	LCALL   TEST2
        MOV     measure1,R2   ;设定值送显
        LCALL   TEST2
        MOV     measure1,R3   ;设定值送显
        LCALL   TEST2
        RET
LAYER43: 
        MOV     DAT1, #35H    ;设置显示RAM 首地址
        MOV     DAT2, #01H
        MOV     COM,  #24H
        LCALL   PR1
        
        MOV     A, batch
	MOV     NUMERAL1 ,A  
        LCALL   BCD
        MOV     measure1,R1   ;设定值送显
	LCALL   TEST2
        MOV     measure1,R2   ;设定值送显
        LCALL   TEST2
        MOV     measure1,R3   ;设定值送显
        LCALL   TEST2
        RET

LAYER44: 
        MOV     DAT1, #41H    ;设置显示RAM 首地址
        MOV     DAT2, #01H
        MOV     COM,  #24H
        LCALL   PR1
        
        MOV     A, total
	MOV     NUMERAL1 ,A  
        LCALL   BCD
        MOV     measure1,R1   ;设定值送显
	ACALL   TEST2
        MOV     measure1,R2   ;设定值送显
        ACALL   TEST2
        MOV     measure1,R3   ;设定值送显
        ACALL   TEST2
        RET
;-------------------------------------
;----自动写汉字显示子程序------
;************************************
WDOFF:  
     MOV    DAT1,R0       
     MOV    DAT2,R1
     MOV    COM, #24H
     LCALL  PR1

     MOV    COM ,#0B0H ;设置自动写方式
     LCALL  PR12

PR61:ACALL  ST3        ;判ACC。3
     MOV    A,#00H
     MOVC   A,@A+DPTR
     LCALL  PR13 
     INC    DPTR
     DJNZ   R2,PR61
     MOV    COM,#0B2H   ;设置自动写结束指?     LCALL  PR12
     RET
;----------------------------------------
 TEST2: 
        MOV     A, measure1 ;数据处理转换
     ;	ORL     A,#10H
        MOV     DAT2, A
        MOV     COM ,#0C0H ;设置 写方式0C
        LCALL   PR11 
        RET
;****************************************
;=============================

TEST1:  MOV    COM ,#0B0H ;设置自动写方式
        LCALL  PR12
TEST11: LCALL   ST3       ;判状态位S2
        MOV     A,#00H 
        MOVC    A,@A+DPTR
        LCALL   PR13         ;写入数据
        INC     DPTR
        DJNZ    R3, TEST11   ;循环
        MOV     COM ,#0B2H   ;设置自动写结束指令
        LCALL   PR12
	RET
;-------------------------------       

;判断状态位STA0,STA1子程序
ST01:     LCALL  R_ST                  
          JNB    ACC.0,ST01
          JNB    ACC.1,ST01
          RET
ST3:      LCALL  R_ST                    ;判断状态位3,数据自动写状态位
          JNB    ACC.3,ST3
          RET
;读状态字子程序
R_ST:     MOV    P0,#0FFH                ;P0口置"1"
          SETB   CD                      ;CD=1
          CLR    RDD                     ;/RD=0
          MOV    A,P0                    ;读操作
          SETB   RDD                     ;/RD=1
          RET
 ;双字节参数指令写入入口------
PR1:      LCALL  ST01                   ;双字节参数指令写入入口,在每条指令前都要判断
          MOV    A,DAT1                 ;取第一参数单元数据
          LCALL  PR13                   ;写入参数
PR11:     LCALL  ST01                   ;单字节参数单元数据
          MOV    A,DAT2                 ;取第二参数单元数据
          LCALL  PR13                   ;写入参数
PR12:     LCALL  ST01                   ;无参数指令写入入口
          MOV    A,COM                  ;取指令代码单元数据
          AJMP   PR14                   ;写入指令代码
PR13:     CLR    CD                     ;C/D=0/数据写入入口
PR14:     MOV    P0,A                   ;设置数据
          CLR    WRD                    ;/WR=0
          NOP
          SETB   WRD                    ;/WR=1
          NOP
          RET	  
;===========================================
;------------二进'转换'BCD--------------------------      
BCD:    MOV A,NUMERAL1         ;显示低位数发到去A中
        MOV B,#100             ;将100发送到去B中
        DIV AB                 ;将A中的数除以100
        MOV R1,A              ;将百位移到47---------------47
        MOV A,#10              ;将10移到去A中
        XCH A,B                ;A与除以一百的余数B交换位置
        DIV AB                 ;将A与10相除
        MOV R2,A              ;得到的数发到48-------------48
        MOV  R3,B              ;将剩余的数放到49-----------49
    
        MOV A,#00 ;NUMERAL2         ;将温度的高位放到A中
        JZ  BC1                ;看是否高位为1,是就往下执行
;--1------------------
        MOV A, R3             ;将个位放到去A中
        ADD A,#06H              ;个位加6
        DA A
        MOV  R3,A              ;保存到39
;--10------------------
        MOV A,R2              ;将十位保存到A
        ADDC A,#05H             ;十位加5
        DA A                   ;调置
        MOV R2,A              ;保存到38中        
;--100-----------------
        MOV A,R1             ;37保存到A中
        ADDC A,#02H             ;百位加上2
        DA A                   ;调置
        MOV R1,A
;--------------------
        MOV A,R3              ;将最后一位显示数移到A
        ANL A,#0F0H            ;清零了后四位的数
        ADD A,#0H              ;将一加以零,以判断其是否为全零
        JZ BC10                ;如果是全零就跳到去BC10
        MOV A,R3              ;不是全零就再将39移到去A
        ANL A,#0FH             ;清零了高四位
        MOV  R3,A              ;将数移到39中,以使39在0~9中
        MOV A,R2              ;大于十的,就38加上1
        ADD A,#01H             ;加上1
        DA A                   ;调置
        MOV R2,A
BC10:   MOV A,R2
        ANL A,#0F0H
        ADD A,#0H
        JZ BC1
        MOV A,R2
        ANL A,#0FH
        MOV R2,A
        MOV A,R1
        ADD A,#01H
        MOV R1,A

BC1:    MOV  A,R1    ;数据处理转换程序
        ORL  A,#10H
        MOV  R1,A
        MOV  A,R2
        ORL  A,#10H
        MOV  R2,A
        MOV  A, R3
        ORL  A,#10H
        MOV  R3,A
        RET       
;================================================  

;--------------------------------------------			
DELAY:    MOV    R5,#6
D2:       MOV    R6,#80
D1:       MOV    R7,#100
          DJNZ   R7,$
          DJNZ   R6,D1
          DJNZ   R5,D2
          RET
DL12MS:   ;12MS延时
          MOV  R7,#60H
LD1:      MOV  R6,#0F8H
          DJNZ R6,$
          DJNZ R7,LD1
          RET
;========================================================
WELCOM:   ;go into operation
           DB 1DH,1DH,1DH,1DH,1DH,1DH,1DH,1DH
           DB 1DH,1DH,1DH,1DH,1DH,1DH,1DH,1DH
           DB 1DH,1DH,1DH,1DH,1DH,1DH,1DH,1DH
           DB 1DH,1DH,1DH,1DH,1DH,1DH,00H,00H
           DB 00H,00H,27H,2FH,00H,29H,2EH,34H
	   DB 2FH,00H,2FH,30H,25H,32H,21H,34H
	   DB 29H,2FH,2EH

WELCOM_1:  ; ok  make a move
           DB 00H,2FH,2BH,01H,00H,3FH,3FH,00H 
	   DB 4DH,41H,4BH,45H,00H,41H,00H,4DH
	   DB 4FH,56H,45H,00H,3FH,3FH,00H,00H
        
;make a move
	           
WELCOM1:   DB 34H,25H,2CH,1AH,10H,17H,16H,19H ;TEL: 0769 
           DB 0DH,15H,16H,11H,13H,16H,13H,15H ;-5653756

;本文件为16×16点阵中文字库文件,

TAB1:
;方   CB7BD
DB 000H,001H,001H,0FFH,003H,004H,004H,007H;( 80 )
DB 008H,008H,008H,012H,014H,025H,026H,041H
DB 000H,008H,004H,08EH,000H,000H,000H,0FCH
DB 004H,004H,004H,004H,008H,008H,008H,0F0H

;园   CD4B0
DB 000H,000H,07FH,040H,045H,04FH,040H,05FH;( 84 )
DB 042H,042H,044H,044H,028H,050H,040H,03FH
DB 000H,000H,0FEH,022H,002H,0E2H,002H,0FAH
DB 082H,089H,082H,088H,08AH,07AH,002H,0FEH

;塑   CCBDC
DB 000H,001H,011H,012H,07FH,049H,049H,049H;( 88 )
DB 03FH,008H,008H,011H,061H,03FH,001H,07FH
DB 000H,000H,03EH,022H,0A2H,03EH,022H,022H
DB 03EH,042H,0C2H,01EH,000H,0FCH,000H,0FEH

;膠   CC47A
DB 000H,000H,03FH,04AH,04AH,049H,079H,04EH;( 8C )
DB 048H,049H,07EH,049H,048H,049H,048H,03BH
DB 000H,000H,0FEH,062H,052H,0C6H,05AH,0C2H
DB 0B0H,02CH,04BH,090H,064H,088H,010H,0E0H

;机   CBBFA
DB 000H,010H,010H,011H,011H,07DH,011H,039H;( 90 )
DB 039H,055H,051H,091H,011H,012H,012H,014H
DB 000H,000H,0F0H,008H,008H,008H,008H,008H
DB 008H,008H,008H,008H,009H,00AH,00AH,00EH

;械   CD0B5
DB 000H,000H,020H,027H,020H,072H,032H,032H;( 94 )
DB 037H,06AH,0A2H,0A2H,024H,028H,020H,020H
DB 000H,010H,014H,0FEH,012H,050H,052H,052H
DB 0F4H,054H,048H,048H,05AH,06AH,046H,082H

;有   CD3D0
DB 000H,001H,002H,07FH,004H,008H,01FH,070H;( 98 )
DB 090H,01FH,010H,010H,01FH,010H,010H,010H
DB 000H,000H,000H,0FEH,000H,000H,0FCH,004H
DB 004H,0FCH,004H,004H,0FCH,004H,004H,03CH

;限   CCFDE
DB 000H,000H,07BH,04AH,04AH,04BH,052H,04AH;( 9C )
DB 04BH,04AH,04AH,07AH,042H,042H,042H,043H
DB 000H,000H,0FCH,004H,004H,0FCH,004H,004H
DB 0FCH,040H,044H,028H,030H,010H,008H,0C6H

;公   CB9AB
DB 000H,000H,004H,004H,008H,010H,010H,021H;( A0 )
DB 042H,002H,004H,008H,008H,010H,01FH,000H
DB 000H,000H,040H,020H,010H,010H,008H,004H
DB 002H,020H,010H,010H,008H,008H,0FCH,004H

;司   CCBBE
DB 000H,000H,03FH,000H,000H,03FH,000H,03FH;( A4 )
DB 020H,020H,020H,020H,020H,01FH,000H,000H
DB 000H,000H,0FCH,004H,004H,0F4H,004H,0E4H
DB 024H,024H,024H,024H,024H,0C4H,004H,07CH

;记   CBCC7
DB 000H,000H,000H,00CH,001H,000H,018H,068H;(A8)
DB 011H,011H,015H,019H,010H,010H,000H,000H
DB 000H,000H,000H,010H,0F0H,010H,010H,0F0H
DB 000H,002H,002H,002H,086H,07CH,000H,000H

;总   CD7DC
DB 000H,000H,008H,004H,001H,001H,00EH,008H;(AC )
DB 00FH,000H,001H,028H,064H,046H,001H,000H
DB 000H,020H,060H,080H,000H,0E0H,060H,040H
DB 080H,000H,00CH,084H,020H,010H,0F0H,000H

;数   CCAFD
DB 000H,000H,004H,005H,016H,007H,03CH,016H;(B0 )
DB 029H,048H,01EH,06AH,004H,00AH,030H,000H
DB 000H,000H,020H,020H,020H,040H,07CH,0A0H
DB 010H,0A0H,060H,020H,050H,08CH,002H,000H

;补   CB2B9
DB 000H,004H,002H,000H,000H,00EH,034H,009H
DB 00EH,017H,024H,044H,004H,004H,000H,000H
DB 000H,020H,010H,020H,020H,020H,010H,02CH
DB 022H,020H,020H,020H,020H,020H,000H,000H

;点   CB5E3
DB 000H,001H,001H,001H,001H,001H,01FH,010H ;(B8)
DB 010H,010H,01FH,000H,032H,026H,062H,000H
DB 000H,000H,000H,0FCH,000H,000H,0F8H,008H
DB 008H,008H,0F8H,000H,04CH,044H,066H,000H

;退   CCDCB
DB 000H,000H,033H,012H,013H,002H,002H,073H ;(BC)
DB 012H,012H,012H,012H,013H,03CH,067H,000H
DB 000H,000H,0F8H,008H,0F8H,008H,008H,0F8H
DB 08CH,068H,030H,0DCH,004H,000H,0FEH,000H

;进   CBDF8
DB 000H,000H,020H,030H,007H,000H,060H,070H ;(C0)
DB 017H,011H,011H,013H,012H,07CH,047H,000H
DB 000H,090H,090H,090H,0FEH,090H,090H,090H
DB 0FEH,010H,010H,010H,010H,000H,0FEH,000H


;--------------------------------------
TAB2:
;试   CCAD4
DB 000H,000H,020H,010H,017H,000H,000H,060H;(80)
DB 013H,010H,010H,010H,014H,014H,01FH,000H
DB 000H,000H,014H,014H,0FEH,012H,010H,010H
DB 0F0H,090H,090H,090H,092H,0EAH,00AH,006H

;切   CC7D0
DB 000H,000H,021H,020H,020H,03EH,020H,020H;(84)
DB 020H,020H,022H,022H,024H,019H,002H,00CH
DB 000H,000H,0FEH,022H,022H,022H,022H,022H
DB 022H,042H,042H,042H,082H,002H,004H,038H

;周   CD6DC
DB 000H,000H,03FH,041H,04FH,041H,041H,05FH;(88)
DB 040H,04FH,048H,048H,048H,04FH,040H,080H
DB 000H,000H,0FCH,004H,0FCH,004H,004H,0FCH
DB 004H,0F4H,014H,014H,014H,0F4H,004H,03CH

;长   CB3A4
DB 008H,008H,008H,008H,009H,00EH,008H,0FFH;(8C)
DB 00AH,009H,008H,008H,009H,00AH,00CH,008H
DB 000H,010H,020H,040H,080H,000H,000H,0FEH
DB 000H,000H,080H,040H,030H,01CH,008H,000H

;速   CCBD9
DB 000H,000H,020H,027H,010H,007H,004H,074H;(90)
DB 014H,013H,010H,011H,012H,01CH,028H,046H
DB 000H,000H,040H,0FEH,040H,0FCH,044H,044H
DB 044H,0F8H,0F0H,058H,04CH,046H,040H,0FEH

;度   CB6C8
DB 000H,000H,000H,03FH,044H,05FH,044H,044H;(94))
DB 043H,040H,05FH,044H,042H,041H,043H,0BCH
DB 000H,000H,080H,0FEH,010H,0FCH,010H,010H
DB 0F0H,000H,0F8H,008H,030H,0C0H,060H,01EH

;退   CCDCB
DB 000H,000H,023H,022H,013H,002H,002H,073H;(98)
DB 012H,012H,012H,012H,012H,013H,028H,047H
DB 000H,000H,0FCH,004H,0FCH,004H,004H,0FCH
DB 080H,044H,028H,010H,048H,084H,000H,0FEH

;料   CC1CF
DB 000H,010H,012H,052H,054H,054H,034H,010H;(9C)
DB 0FEH,018H,034H,034H,050H,091H,010H,010H
DB 000H,000H,084H,044H,024H,014H,004H,084H
DB 044H,024H,014H,004H,03FH,0C4H,004H,004H

;寻   CD1B0
DB 000H,000H,03FH,000H,000H,01FH,000H,000H;(A0)
DB 01FH,000H,07FH,008H,004H,004H,000H,001H
DB 000H,000H,0FCH,004H,004H,0FCH,004H,004H
DB 0F8H,010H,0FEH,010H,010H,010H,010H,0F0H

;标   CB1EA
DB 000H,000H,010H,013H,010H,078H,010H,03FH;(A4)
DB 038H,059H,051H,052H,012H,012H,014H,010H
DB 000H,000H,000H,0FCH,000H,000H,000H,0FEH
DB 020H,028H,028H,024H,024H,022H,022H,0E0H

;向   CCFF2
DB 000H,001H,001H,01FH,020H,020H,027H,028H;(A8)
DB 028H,028H,028H,028H,028H,027H,020H,020H
DB 000H,000H,000H,0F8H,006H,002H,0E2H,012H
DB 012H,012H,012H,012H,012H,0E2H,002H,01CH

⌨️ 快捷键说明

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