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

📄 weida.asm

📁 关于单片机的一系列的设计程序
💻 ASM
字号:
dat_port   equ    p0
    stb        bit    p2.0
    busy       bit    p2.1
org  000h
    JMP  START
    ORG  100H
start:  mov   P0,#0ffh          ;初始化MCU埠
      mov   P1,#0ffh
      mov   P3,#0ffh
      MOV   P2,#0F0H
      MOV   A,#00H           ;初始化寄存器
      MOV   PSW,#00H
      MOV   IE,#00H
      MOV   SP,#30H  
main:    acall ho1o         ;调用一级库打印            
              acall   lopo        ;打印"#-#-"20个
              acall   hoho        ;换一行       
              mov A,#00H
              MOV R6,#00H
              MOV DPTR,#TAB1
        lop1: MOV A,R6          ;打印"1234567890ABCDEFGHIJKLMNOP
              movc a,@a+dptr     ;QRSTUVWXYZ    OK!"字符
              acall sozo
              inc r6
              CjnE r6,#46,lop1
              acall hoco          ;换行
              acall lopo          ;再打印"#-#-"20个
              acall hoho          ;换行
              acall hogo          ;设定打印汉字方式
              mov A,#00H
              MOV R6,#00H
              MOV DPTR,#TAB2
        lop2: MOV A,R6          ;打印"欢迎使用启东斯迈特S51在线开发板!"
              movc a,@a+dptr
              acall sozo
              inc r6
              CjnE r6,#34,lop2 
              acall hoco          ;回车换行
              acall hoco  
              jmp $               ;演示结束!


        ho1o:mov a,#1bh  ;调用一级库
             acall sozo
             mov a,#38h
             acall sozo
             mov a,#00h
             acall sozo
             acall hoho
             ret

     hoho:mov a,#0ah     ;换行
           acall sozo
           ret

      hoco:mov a,#0dh    ;回车换行
           acall sozo
           ret
     hogo:mov a,#1bh     ;选定16*16汉字点阵
          acall sozo
          mov a,#38h
          acall sozo
          mov a,#00h
          acall sozo
          ret  
    
      lopo: mov  r7,#15
      l1po: mov a,#23h    ;"#"
            acall  sozo   
            mov a,#2Dh    ;"-"
            acall sozo    ;
            djnz r7,l1po
            ret
 sozo:      push dph      ;打印单字元或传输指令
            push dpl
            jb   busy,$   ;/busy ?
            mov  dat_port,a
            clr   stb
            nop
            setb  stb
            pop dpl
            pop dph
            ret        

  TAB1: db 31h,32h,33h,34h,35h,36h,37h,38h,39h,30h ;单字元字码表(单字节)
        db 41h,42h,43h,44h,45h,46h,47h,48h,49h,4ah
        db 4bh,4ch,4dh,4eh,4fh,51h,52h,53h,54h,0dh
        db 55h,56h,57h,58h,59h,5ah,20h,20h,20h,20h
        db 2dh,2dh,4fh,4bh,20h,21h
  
 TAB2:  db 0bbh,0b6h,0d3h,0adh,0cah,0b9h,0d3h,0c3h ;;汉字字码表(双字节)
   db 0c4h,0cfh,0beh,0a9h,0b0h,0aeh,0cbh,0bch ;
   db 0A3h,0b5h,0a3h,0b1h,0a3h,0c2h   ;
   db 0b8h,0dfh,0bch,0b6h,0d3h,0c3h  ;
   db 0bbh,0a7h,0b0h,0e5h,0a3h,0a1h  ;
	end

⌨️ 快捷键说明

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