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

📄 gydirt.asm

📁 本资源包含了单片机键盘、a/d、频率测试等源代码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
tim1  data  30h
tim2  data  31h
tim3  data  32h
tim4  data  33h
tim5  data  34h
dtim1  data  35h
dtim2  data  36h
dtim3  data  37h
dtim4  data  38h
dtim5  data  39h

ttim  data  3ah


fifty1 data 3ch
fifty2 data 3dh

SCL bit p3.1
SDA bit p3.0
;;;;fdq bit p3.2
dot bit p1.0
w1  bit p3.7
w2  bit p3.5
w3  bit p3.4
w4  bit p3.3
w5  bit p3.2

write bit 00h
wr1   bit 01h
wr2   bit 02h
wr3   bit 03h
wr4   bit 04h
wr5   bit 05h

wl5  bit  06h
wl4  bit  07h
wl3  bit  08h


      org 0000h
     ajmp start

     org 000bh
     ajmp t0int

      org 0100h

start:   mov tmod, #11h
         mov  sp ,#50h
         setb ea
         setb p1.0
         setb et0
         clr tr0
         clr write
         clr wr1
         clr wr2
         clr wr3
         clr wr4
         clr wr5
         mov th0,#3ch
         mov tl0,#0bfh   ;50ms
         mov fifty1,#00h
         mov fifty2,#00h
         mov tim1,#00h
         mov tim2,#00h
         mov tim3,#00h
         mov tim4,#00h
         mov tim5,#00h

         ;clr dot
         ;clr p1.4
         
         jb p1.0,jx
         clr p1.0
        acall clreprom
jx:      mov r7,#100
init2:    mov r6, #100 
initl:   acall initdisp
         nop
         nop
         nop
         djnz r6,initl
         djnz r7,init2
         nop
         nop
         clr wr2
         clr wr3
         clr wr4
         clr wr5
        acall reeprom
         setb tr0
mainlup: jnb write,directd
         acall weeprom
         clr wr2
         clr wr3
         clr wr4
         clr wr5
directd: acall dispreal
         ajmp mainlup


;-----display 5 led-------
dispreal: clr c
          setb dot
          mov a,tim5
          jz setdp5
          clr wl5
          clr wl4
          clr wl3
          ajmp dpall
setdp5:   setb wl5
          mov a,tim4
          jz  setdp4
          clr wl4
          clr wl3
          ajmp dpall
setdp4:   setb wl4
          mov a,tim3
          jz setdp3
          clr wl3
          ajmp dpall
setdp3:   setb wl3

dpall:    mov a,tim1
          mov dptr,#tab
          movc a,@a+dptr
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w4
          acall clryh
          clr w4

          clr dot

          mov a,tim2
          mov dptr,#tab
          movc a,@a+dptr
          rlc a
         mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w2
          acall clryh
           clr w2

          setb dot
          jb wl3,exitdp
          clr c
          mov a,tim3
           mov dptr,#tab
          movc a,@a+dptr
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
         setb w3
         acall clryh
         clr w3


          jb wl4,exitdp
          clr c
          mov a,tim4
           mov dptr,#tab
          movc a,@a+dptr
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w1
          acall clryh
          clr w1

          setb  dot
          jb wl5,exitdp
          clr c
          mov a,tim5
           mov dptr,#tab
          movc a,@a+dptr
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w5
          acall clryh
          clr w5
exitdp:    ret
;------------------------------
initdisp:  mov a,#00h
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w5
          acall clryh
          clr w5 
          
          mov a,#00h
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w4
          acall clryh
          clr w4 
          
          mov a,#00h
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w3
          acall clryh
          clr w3
           
          mov a,#00h
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w2
          acall clryh
          clr w2
          
          mov a,#00h
          rlc a
          mov p1.5,c
          rlc a
          mov p1.4,c
          rlc a
          mov p1.3,c
          rlc a
          mov p1.2,c
          rlc a
          mov p1.1,c
          rlc a
          mov p1.7,c
          rlc a
          mov p1.6,c
          setb w1
          acall clryh
          clr w1
          ret
;------------------------            
dispreal1: setb dot
          setb w1
          mov a,tim5
          swap a
          orl a,#08
          mov p1,a
          mov a,tim4
          swap a
          orl a,#04
          mov p1,a
          mov a,tim3
          swap a
          orl a,#02
          mov p1,a
          mov a,tim2
          swap a
          orl a,#01
          mov p1,a
          mov a,tim1
          swap a
          orl a,#00
          mov p1,a
          setb p1.0
          ret

;--------read data from eeprom-----
reeprom :       acall iicstart
                mov a,#0a0h

                acall iicwbyte
                mov a,#01h
                acall iicwbyte
                nop
                nop
                acall iicstart

                 mov a,#0a1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
                nop
                nop
                nop
               cjne a,#0ffh,ql1
               mov tim1,#0
               ajmp qn1
ql1:               mov tim1,a

               acall delay10ms

             ;---2time
                acall iicstart
                mov a,#0a0h
                acall iicwbyte
                mov a,#02h
                acall iicwbyte
                nop
                nop
                acall iicstart

                 mov a,#0a1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
                nop
                nop
                nop
               mov tim2,a
                acall delay10ms
               ;3time
               acall iicstart
                mov a,#0a0h

                acall iicwbyte
                mov a,#03h
                acall iicwbyte
                nop
                nop
                acall iicstart

                 mov a,#0a1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
                nop
                nop
                nop
               mov tim3,a
                acall delay10ms
               ;4time
               acall iicstart
                mov a,#0a0h

                acall iicwbyte
                mov a,#04h
                acall iicwbyte
                nop
                nop
                acall iicstart

                 mov a,#0a1h
                acall iicwbyte
                acall iicrbyte
                acall iicstop
                nop
                nop
                nop
                nop
               mov tim4,a
                acall delay10ms
               ;5time
               acall iicstart
                mov a,#0a0h

                acall iicwbyte
                mov a,#05h
                acall iicwbyte

⌨️ 快捷键说明

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