找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2789|回复: 0
打印 上一主题 下一主题
收起左侧

基于51单片机数字频率计课程设计程序代码

[复制链接]
跳转到指定楼层
楼主
ID:242011 发表于 2017-10-23 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RS     BIT     P2.0  ;P3.4脚接RS端
        RW     BIT     P2.1  ;P3.5脚接R_W端
        E      BIT     P2.2   ;P3.3脚接E端
        ORG 0000H
        LJMP MAIN
        ORG 002BH
        LJMP IT1
MAIN:
         MOV    P0,#01H    ;清除屏幕
         ACALL  ENABLE
         MOV    P0,#01H    ;清除屏幕
         ACALL  ENABLE
         MOV    P0,#01H    ;清除屏幕
         ACALL  ENABLE
         MOV    P0,#38H    ;8位点阵方式
         ACALL  ENABLE
         MOV    P0,#0cH    ;开显示
         ACALL  ENABLE
         MOV    P0,#06H    ;移动光标
         ACALL  ENABLE
         MOV    P0,#80H    ;显示位置
         ACALL  ENABLE
         mov    p0,#80h   ;第一行的位置
         call   enable
         mov    dptr,#date
         call   write3
         mov    p0,#0c0h  ;第二行的位置
         call   enable
       MOV SP,#7FH
       CLR CY
       mov r6,#00
       mov r2,#00
       MOV R3,#00
       MOV TMOD,#15H
       MOV TL0,#00H
       MOV TH0,#00H
       mov th1,#high(65536-50000)
       mov tl1,#low(65536-50000)                        ;setb ET1
cha1:  SETB TR1                                           ;LCALL XIANSHI
       SETB TR0
       mov  27h,#00h
       CLR  C
       MOV  C,P1.6
       MOV  27H.0,C
       CLR  C
       MOV  C,P1.7
       MOV  27H.1,C
       mov  a,27h
       ANL  A,#03H
       MOV  17H,A
CHA:   JBC  TF1,JINWEI    ;益处进位
       JMP  CHA
JINWEI:CLR TR1
       mov th1,#high(65536-50000)
       mov tl1,#low(65536-50000)
       SETB TR1
       INC R3
       MOV A,R3                                          ;JNB P3.2,$
       CJNE A,#20,CHA
       CLR TR0
       CLR TR1
       MOV R3,#00
       MOV R2,TH0
       MOV R6,TL0
       lcall zhuan
       LCALL write1
       MOV TL0,#00H
       MOV TH0,#00H
       jmp  cha1
ZHUAN:
MOV A,R2
CLR C
MOV 20H,#00H
MOV 21H,#00H
MOV 22H,#00H
MOV 24H,#00H
MOV 25H,#00H
MOV R3,#10H
NEXT: RLC A
MOV R2,A
MOV A,20H
ADDC A,20H
DA A
MOV 20H,A
MOV A,21H
ADDC A,21H
DA A
MOV 21H,A
MOV A,22H
ADDC A,22H
DA A
MOV 22H,A
MOV A,R2
DJNZ R3,NEXT
MOV A,R6
clr c
MOV R3,#08H
NEXT1: RLC A
MOV R6,A
MOV A,24H
ADDC A,24H
DA A
MOV 24H,A
MOV A,25H
ADDC A,25H
DA A
MOV 25H,A
mov a,r6
DJNZ R3,NEXT1
clr c
mov a,24h
addc a,20h
da a
mov 20h,a
mov a,25h
addc a,21h
da a
mov 21h,a
mov a,22h
addc a,#00h
da a
mov 22h,a
mov a,22h
anl a,#0fh
mov 31h,a
mov a,22h
anl a,#0f0h
swap a
mov 30h,a
mov a,21h
anl a,#0f0h
swap a
mov 32h,a
mov a,21h
anl a,#0fh
mov 33h,a
mov a,20h
anl a,#0f0h
swap a
mov 34h,a
mov a,20h
anl a,#0fh
mov 35h,a
ret
;**************
;LCD显示
;**************
   ENABLE:
         CLR     RS
         CLR     RW
         CLR     E
         ACALL   DELAY
         SETB    E
         RET
   write1:                 ;写数据
       MOV    10H,#00H
       MOV    11H,#00H
       MOV    12H,#00H
       MOV    13H,#00H
       MOV    14H,#00H
       MOV    15H,#00H
       MOV    16H,#00H      
       mov    p0,#0ch
       call   enable
       mov    p0,#0c0h  ;第二行的位置
       call    enable
       MOV     A,17H
       XRL     A,#02H
       JNZ      XIAN1
       MOV     40H,#00H
       MOV     41H,#00H
       MOV     42H,#00H
       MOV     43H,30H
       MOV     44H,31H
       MOV     45H,32H
       JMP     XIAN

XIAN1:MOV     A,17H
       XRL     A,#01H
       JNZ      XIAN2
       MOV     40H,#00H
       MOV     41H,#00H
       MOV     42H,30H
       MOV     43H,31H
       MOV     44H,32H
       MOV     45H,33H
       JMP     XIAN

XIAN2:MOV     A,17H
       XRL     A,#00H
       JNZ      XIAN3
       MOV     40H,#00H
       MOV     41H,30H
       MOV     42H,31H
       MOV     43H,32H
       MOV     44H,33H
       MOV     45H,34H
       JMP     XIAN

XIAN3:MOV     A,17H
       XRL     A,#03H
       JNZ      XIAN
       MOV     40H,30H
       MOV     41H,31H
       MOV     42H,32H
       MOV     43H,33H
       MOV     44H,34H
       MOV     45H,35H
  XIAN:mov    r0,#40h
       mov     a,   @r0
       JZ      L20
       MOV     10H,#0FFH
       MOV     15H,#0FFH
       mov     dptr,#date1
       movc    a,@a+dptr
       call    write2

   L20:INC     R0
       MOV     A, 10H
       CJNE    A, #00H,PP
       mov     a,   @r0         
       JZ      L21
   PP: MOV     11H,#0FFH   
       MOV     15H,#0FFH
       mov     a,   @r0
       mov     dptr,#date1
       movc    a,@a+dptr
       call    write2


   L21:INC     R0
       MOV     A, 11H
       CJNE    A, #00H,PP2
       mov     a,   @r0      
       JZ      L22
  PP2: MOV     12H,#0FFH
       MOV     15H,#0FFH
       mov     a,   @r0
       mov     dptr,#date1
       movc    a,@a+dptr
       call    write2
       MOV      A, 15H
       CJNE     A,#0FFH,L22      
       MOV      A,#00H
       mov      dptr,#XIAOSHUDIAN
       movc     a,@a+dptr
       call      write2
   L22:
       INC     R0
       MOV     A, 12H
       CJNE    A, #00H,PP3
       mov     a,   @r0      
       JZ      L23
   PP3: MOV     13H,#0FFH
       mov     a,   @r0      
       mov     dptr,#date1
       movc    a,@a+dptr      
       call    write2

   L23:INC     R0
       MOV     A, 13H
       CJNE    A, #00H,PP4
       mov     a,   @r0      
       JZ      L24
  PP4:  MOV     14H,#0FFH
       mov     a,   @r0   
       mov     dptr,#date1
       movc    a,@a+dptr      
       call    write2

    L24:INC     R0        
        mov     a,   @r0
        mov     dptr,#date1
        movc    a,@a+dptr        
        call    write2        
        MOV     A,15H
        CJNE    A, #00H,KHZ      
        MOV     A,#00H        
        MOV     dptr,#DANWEI1
        JMP     QUSHU
    KHZ:MOV     dptr,#DANWEI2   
   QUSHU:movc    a,@a+dptr        
         call    write3
       mov     r5,#4
    l3:mov     a,#20h
       call    write2
       djnz    r5,l3
       ret
   write2:
           mov    p0,  a
           setb   rs
           CLR    rw
           clr    e
           call   delay
           setb   e
           ret
   write3:  mov     r1,#00h    ;写数据
       a2: mov     a,   r1
           movc    a,   @a+dptr
           call    write2
           inc     r1
           cjne    a,#00h,a2
           ret
    delay:
           mov    r7,    #255
       d1: mov    r6,    #255
       d2: djnz   r6,    d2
           djnz   r7,    d1
           ret
   date:  db "the frequency is",00h
   date1: db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
   DANWEI1: DB "HZ             ",00h
   DANWEI2: DB "KHZ            ",00h
   XIAOSHUDIAN: DB ".",00h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表