原创 汇编数码管频率测量proteus程序

2009-5-14 09:55 1949 2 2 分类: MCU/ 嵌入式

https://static.assets-stash.eet-china.com/album/old-resources/2009/5/14/60b08cd0-661e-4ac3-b855-6523e6bf374d.rarVALUEH      EQU     20H
VALUEL     EQU     21H
DVALUE0     EQU     22H
DVALUE1     EQU     23H
DVALUE2     EQU     24H
DVALUE3     EQU     25H
DVALUE4     EQU     26H
CNT     EQU     30H
KEY         EQU     P3.7
     ORG     00H
     SJMP    START
     ORG     0BH
            LJMP    INT_T0
START:     MOV     DPTR,#TABLE
     MOV     20H,#00H
     MOV     21H,#00H
     MOV     22H,#00H
     MOV     23H,#00H
     MOV     24H,#00H    
     MOV     25H,#00H
     MOV     26H,#00H    
     MOV     30H,#00H
     MOV     TMOD,#51H
        MOV     TH0,#3CH
        MOV     TL0,#0B0H
        MOV     TH1,#00H
     MOV     TL1,#00H
     MOV     IE,#8AH
WAIT:   JB     KEY,$
     LCALL   DELAY
        JB      KEY,$
        SETB    TR0
        SETB    TR1
W1:     LCALL   DISP
        JNB     KEY,W1
        LJMP    START


INT_T0:
        MOV     TH0,#3CH
        MOV     TL0,#0B0H
     INC     CNT
        MOV     A,CNT
        CJNE    A,#20,RETUNE
       MOV     CNT,#00H
     CLR     TR0
     CLR     TR1
     MOV     VALUEL,TL1
        MOV     VALUEH,TH1
        LCALL   HTOD
RETUNE:     RETI


           


HTOD:
           MOV R2,VALUEH
           MOV R3,VALUEL
           CLR A
           MOV R4,A       ;清零
           MOV R5,A
           MOV R6,A
           MOV R7,#10H    ;转换双字节十六进制整数
H_B:   
        CLR C
           MOV A,R3      ;从高端移出待转换数的一位到CY中
           RLC A
           MOV R3,A
           MOV A,R2          ;BCD码带进位自身相加,相当于乘2
           RLC A
           MOV R2,A


           MOV A,R6     
           ADDC A,R6
           DA  A           ;十进制调整
           MOV R6,A


           MOV A,R5
           ADDC A,R5
           DA  A
           MOV R5,A


           MOV A,R4
           ADDC A,R4
    DA  A
           MOV R4,A       ;双字节十六进制数的万位数不超过6,不用调整
           DJNZ R7,H_B    ;处理完16bit
         
;-----------------------------------------------------------
;码型变换,将待转换的数据分成不同的数位,并转换成单位BCD码
;-----------------------------------------------------------
 CZ:   MOV R0,#DVALUE4   ;获得首地址
       MOV A,R6            ;获得待转化的低位
       ANL A,#0FH
    MOV @R0,A
    DEC R0
    MOV A,R6
    SWAP A
    ANL A,#0FH
    MOV @R0,A
    DEC R0
    MOV A,R5
    ANL A,#0FH
    MOV @R0,A
    DEC R0
    MOV A,R5
    SWAP A
    ANL A,#0FH
    MOV @R0,A
    DEC R0
    MOV A,R4
           ANL A,#0FH
    MOV @R0,A
    RET



DISP:  MOV   P2,00H
    SETB  P2.0
    MOV   A,DVALUE0
    MOVC  A,@A+DPTR
    MOV   P0,A
    LCALL  DELAY
    CLR  P2.0


    SETB   P2.1
    MOV   A,DVALUE1
    MOVC  A,@A+DPTR
    MOV   P0,A
    LCALL  DELAY
    CLR   P2.1


    SETB   P2.2
    MOV   A,DVALUE2
    MOVC  A,@A+DPTR
    MOV   P0,A
    LCALL  DELAY
    CLR   P2.2


    SETB    P2.3
    MOV   A,DVALUE3
    MOVC  A,@A+DPTR
    MOV   P0,A
    LCALL  DELAY
    CLR   P2.3


    SETB   P2.4
           MOV   A,DVALUE4
    MOVC  A,@A+DPTR
    MOV   P0,A
    LCALL  DELAY
    CLR  P2.4
    RET


DELAY: MOV    R6,#10
D1:    MOV   R7,#248
    DJNZ   R7,$
    DJNZ   R6,D1
    RET
TABLE: DB     0C0H,0F9H,0A4H,0B0H,99H
    DB   92H,82H,0F8H,80H,90H
    END

文章评论0条评论)

登录后参与讨论
相关推荐阅读
用户226950 2012-04-07 11:48
51/STC最小系统板资料(更新中)
图片欣赏    淘宝网址:http://item.taobao.com/auction/item_detail.htm?item_num_id=9073446988  二   程...
用户226950 2011-10-13 22:59
YL-3 资料
YL-3数码管模块资料:YL-3 串行数码管资料.zip...
用户226950 2011-09-24 09:10
USB转TTL小板驱动
xp系统驱动:XP系统支持STC下载的PL-2303HX新版驱动.rar WIN7系统驱动:WIN7系统支持STC下载的PL2303HX驱动.rar...
用户226950 2011-05-24 22:48
STM32F103RBT6最小系统原理图 PCB
STM32F103RBT6最小系统板原理图 PCB 附件:做好的成品板:淘宝链接网址:http://item.taobao.com/item.htm?id=8864376956...
用户226950 2011-05-08 12:53
YL-16 STM32F103最小系统板资料(更新中)
二 数据手册:  USB协议中文版:attachment download  中文数据手册:attachment downloadSTM32选型手册:attachment downloadSTM32勘...
用户226950 2011-03-20 13:27
DS18B20温度测量模块
DS18B20 数码管温度显示程序:...
我要评论
0
2
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /3 下一条