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

📄 lcdfrequency.asm

📁 是我在电子竞赛期间写的一些单片机汇编程序
💻 ASM
字号:
org 0000h
ajmp main
org 0003h
ajmp intx0
org 000bh
ajmp intt0
org 0030h
main:
      mov     sp,#5fh
      setb    it0
      setb    px0        ;外部中断0优先
      mov     tmod,#02h
      MOV     45H,#00H

    ACALL   DELAYA
    ACALL   DELAYA
    ACALL   DELAYA
    ACALL   INIT
    ACALL   FIRST
    MOV     DPTR,#TABLE1
    ACALL   DISPLAY
    ACALL   SECOND
    MOV     DPTR,#TABLE2
    ACALL   DISPLAY
    MOV     DPTR,#TABLE4
    ACALL   FOUR
    ACALL   DISPLAY
xiayi:mov     th0,#38h
      mov     tl0,#38h
      SETB    EA
      SETB    ET0
;      SETB    EX0   ;   外中断
      setb    tr0
      mov     r7,#72
      mov     r6,#00h
WAIT1:;ACALL  DISPLAY
      cjne    r7,#00h,wait1
      mov     ie,#00h   ;只显示一秒到时的所测频率
      clr     tr0
      mov     r1,#30h;   (30h)送到40单元
      mov     r0,#40h
zaici:mov     b,@r1
      mov     @r0,b
      inc     r0
      inc     r1
      cjne    r1,#35h,zaici
      mov     r0,#30h
fanh: mov     @r0,#00h  ;将显示寄存器地址内容清零
      inc     r0
      cjne    r0,#35h,fanh
;      ajmp    xiayi
SS: ACALL   KEY
    MOV A,#0C0H
    ACALL WRCON
    ACALL DISPLAY
    ACALL DELAYA
    ACALL   THIRED
    MOV  A,44H
    ANL  A  ,#0FH
    ACALL   TABLE3
    ACALL   WRDATA
    LCALL   DELAYA
     MOV  A,43H
    ANL  A  ,#0FH
    ACALL   TABLE3
    ACALL   WRDATA
    LCALL   DELAYA
     MOV  A,42H
    ANL  A  ,#0FH
    ACALL   TABLE3
    ACALL   WRDATA
    LCALL   DELAYA
    MOV  A, #10100101B ;点
    ACALL   WRDATA
    LCALL   DELAYA
     MOV  A,41H
    ANL  A  ,#0FH
    ACALL   TABLE3
    ACALL   WRDATA
    LCALL   DELAYA
     MOV  A,40H
    ANL  A,#0FH
    ACALL   TABLE3
    ACALL   WRDATA
    LCALL   DELAYA
    AJMP  xiayi

DELAYA:	    MOV	R3, #10H
  DELAY0:	MOV	R4, #20H
  DELAY1:	DJNZ R4,DELAY1
            DJNZ R3,DELAY0
     RET
INIT:
  ACALL BUSY
  MOV A,#01H
  ACALL WRCON

  MOV   A,#38H
  ACALL WRCON

  MOV   A,#38H
  ACALL WRCON
  MOV   A,#38H
  ACALL WRCON

  MOV   A,#38H
  ACALL WRCON
  MOV A,#0CH
  ACALL WRCON
  MOV   A,#01H
  ACALL WRCON
  MOV   A,#06H
  ACALL WRCON
  RET
DISPLAY:
  MOV   R1,#00H
NEXT:
  MOV   A, R1
  MOVC  A, @A+DPTR
  CJNE  A, #23H,DSP
  RET
DSP:
  ACALL  WRDATA
  INC    R1
  AJMP   NEXT

FIRST:
    MOV  A,#10000000B
    ACALL  WRCON
    RET
SECOND:
    MOV  A,#11000011B
    ACALL WRCON
    RET
THIRED:
    MOV  A,#11000111B
    ACALL  WRCON
    RET
FOUR:
    MOV  A,#11001101B
    ACALL   WRCON
    RET

WRCON:
    ACALL  BUSY
    MOV  P3,#11010101B
    NOP
    SETB P3.3
    MOV  P0,A
    NOP
    CLR  P3.3
    RET
WRDATA:
    ACALL BUSY
    MOV   P3,#11010111B
    NOP
    SETB  P3.3
    MOV   P0,A
    NOP
    CLR    P3.3
    RET
BUSY:
    PUSH   ACC
WAIT:
     MOV  P3,#11110101B
     NOP
     SETB P3.3
     MOV  A,P0
     JB   ACC.7,WAIT
     POP  ACC
     RET
     
KEY:
     MOV P3,#0FFH
     JB P3.4,KEY2
KEY1:
     ACALL DELAY
     JNB P3.4,KEY1
     MOV A,45H
     CJNE A,#01H,KEY11
     MOV 45H,#00H
     AJMP KEY2
KEY11:
     INC 45H
KEY2:
     MOV A,45H
     CJNE A,#00H,KEY3
     MOV DPTR,#TABLE6
     AJMP NNN
KEY3:
     MOV DPTR,#TABLE5
NNN:
     RET
DELAY:
  MOV     R5,#80H
D1:
  MOV     R4,#80H
  DJNZ    R4,$
  DJNZ    R5,D1
  RET
TABLE3:    INC     A
          MOVC    A, @A+PC
          RET

DB     "0123456789"
TABLE1:
DB    "NanhuaUniversity#"

TABLE2:
DB          "FM: #"
TABLE6:
DB          "Run#"
TABLE4:
DB            "MHz#"
TABLE5:
DB          "Set#"

Intx0:      ;外中段
      push        psw
      push        acc
      clr         ex0  ;禁止外中断
      mov         r1,#30h
cmp:  cjne        @r1,#09h,firsSt
      mov         @r1,#00h
      inc         r1
      cjne        r1,#38h,cmp
      ajmp        wanbi
firsSt:inc         @r1
wanbi:setb        ex0
      pop         acc
      pop         psw
      reti
intt0:               ;定时器0中断
      push     psw
      push     acc
      inc r6
      cjne r6,#64,huiqu
      mov r6,#00h
      dec      r7
huiqu:
      pop      acc
      pop      psw
      reti

 end

⌨️ 快捷键说明

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