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

📄 9.asm

📁 吉林大学计算机学院控制实验的几个必做实验的源代码(大四)~
💻 ASM
字号:
org 00h
    sjmp start
org 0bh
    ljmp to
org 13h
    ljmp int
    ;20h sign
    ;21h how many cycles a second
    ;15 second
org 40h
start:
    mov tmod,#02h;count 0 mod 2
    mov th0,#0cdh;1/10000s
    setb ea;cpu it
    setb et0;count0 it
    setb ex1;int1 
    clr p1.0;stop turn
    setb tr0;start count
    setb it1;int1 shup down
    mov r0,#0;m
    mov r1,#0
    mov r2,#0
    mov r3,#0
    mov r4,#08h;m  n=#0ffh
    mov r5,#0
    mov r6,#0;r6 and r7 count 10000
    mov r7,#0;
    mov 20h,#0;sigh
    mov 21h,#14h
    mov 22h,#15
dis:
    acall show
    clr cy
    mov a,r0
    add a,r4
    mov r0,a
    jc out1;if m is full then send 1
    sjmp out0;else send 0
out1:
    setb p1.0
    clr cy
    sjmp dis
out0:
    clr p1.0
    sjmp dis
to: 
    inc r6
    cjne r6,#40,ext0
    mov r6,#0
    inc r7
    cjne r7,#250,ext0
    mov r7,#0
    
    ;check the speed and time if allowed then set 21h 40
    mov a,20h;
    cjne a,#1,turn10;
    mov a,22h;
    subb a,#1;
    mov 22h,a;
    jnc turn20;
    clr cy;
    mov 21h,#28h;
    mov 22h,#15
turn10:
    cjne a,#2,turn20
    mov a,22h
    subb a,#1
    mov 22h,a
    jnc turn20
    clr cy
    mov 21h,#0h
    mov 20h,#00h
turn20:   
    
    ;chech and improve the speed  
    mov a,r3
    mov b,#16
    div ab
    mov r1,a;high
    mov r2,b
    clr cy
    mov a,r3
    mov r3,#0
    cjne a,#14h,ctt20;
    mov  20h,#01h;
ctt20:cjne a,#28h,ctt40
    mov 20h,#02h
 ctt40:
 
    subb a,21h
    jc up
    sjmp down
up:
    ;mov 20h,#01h;end the 20 turn a second
    mov a,r4
    add a,#01h
    mov r4,a
    sjmp ext0
down:
    ;mov 20h,#01h;end the 20 turn a second
    mov a,r4
    clr cy
    subb a,#01h
    mov r4,a
    sjmp ext0
ext0:
    reti

int:
    inc r3
    reti

show:
    clr ea
    mov dptr,#0ff22h
    mov a,#0ffh
    movx @dptr,a
    mov a,#01h
    mov dptr,#0ff21h
    movx @dptr,a
    mov a,r2
    mov dptr,#table
    movc a,@a+dptr
    mov dptr,#0ff22h
    movx @dptr,a
    mov dptr,#0ff22h
    mov a,#0ffh
    movx @dptr,a
    mov a,#02h
    mov dptr,#0ff21h
    movx @dptr,a
    mov a,r1
    mov dptr,#table
    movc a,@a+dptr
    mov dptr,#0ff22h
    movx @dptr,a
    setb ea
    ret
table: db 0c0h,0f9h,0a4h,0b0h
       db 99h,92h,82h,0f8h
       db 80h,98h,88h,83h
       db 0c6h,0a1h,86h,8eh  
end

⌨️ 快捷键说明

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