数字频率计汇编程序.docx

上传人:b****0 文档编号:9489868 上传时间:2023-05-19 格式:DOCX 页数:33 大小:19.71KB
下载 相关 举报
数字频率计汇编程序.docx_第1页
第1页 / 共33页
数字频率计汇编程序.docx_第2页
第2页 / 共33页
数字频率计汇编程序.docx_第3页
第3页 / 共33页
数字频率计汇编程序.docx_第4页
第4页 / 共33页
数字频率计汇编程序.docx_第5页
第5页 / 共33页
数字频率计汇编程序.docx_第6页
第6页 / 共33页
数字频率计汇编程序.docx_第7页
第7页 / 共33页
数字频率计汇编程序.docx_第8页
第8页 / 共33页
数字频率计汇编程序.docx_第9页
第9页 / 共33页
数字频率计汇编程序.docx_第10页
第10页 / 共33页
数字频率计汇编程序.docx_第11页
第11页 / 共33页
数字频率计汇编程序.docx_第12页
第12页 / 共33页
数字频率计汇编程序.docx_第13页
第13页 / 共33页
数字频率计汇编程序.docx_第14页
第14页 / 共33页
数字频率计汇编程序.docx_第15页
第15页 / 共33页
数字频率计汇编程序.docx_第16页
第16页 / 共33页
数字频率计汇编程序.docx_第17页
第17页 / 共33页
数字频率计汇编程序.docx_第18页
第18页 / 共33页
数字频率计汇编程序.docx_第19页
第19页 / 共33页
数字频率计汇编程序.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字频率计汇编程序.docx

《数字频率计汇编程序.docx》由会员分享,可在线阅读,更多相关《数字频率计汇编程序.docx(33页珍藏版)》请在冰点文库上搜索。

数字频率计汇编程序.docx

数字频率计汇编程序

ORG0000H

AJMPMAIN

ORG000BH

LJMPSEVER1

ORG0030H

MAIN:

A8279_1EQU0FF82H

A8279_2EQU0FF80H

MOVDPTR,#A8279_1;8279初始化

MOVA,#0D1H

MOVX@DPTR,A

WAIT1:

MOVXA,@DPTR

JBACC.7,WAIT1;

MOVA,#00H

MOVX@DPTR,A

MOVA,#2CH

MOVX@DPTR,A

CLR00H

CLR01H

CLR02H

CLR03H

CLR04H

CLR05H

CLR06H

CLR07H

CLR08H

CLR09H

START:

MOVDPTR,#A8279_1

MOVXA,@DPTR

ANLA,#07H

JZRETUN

ACALLKEY

JBC00H,MAIN

JBC01H,START1

JBC02H,START2

JBC03H,START3

JBC04H,START4

RETUN:

AJMPSTART

START1:

MOVP1,#0EFH

LCALLSEACH1

JBC00H,MAIN

JBC06H,PINYU61

JBC07H,PINYU71

JBC08H,PINYU81

JBC09H,PINYU91

AJMPSTART1

PINYU61:

LJMPPINYU6

PINYU71:

LJMPPINYU7

PINYU81:

LJMPPINYU8

PINYU91:

LJMPPINYU9

START2:

MOVP1,#2FH

LCALLSEACH1

JBC00H,MAIN

JBC06H,ZHOUQI11

JBC07H,ZHOUQI21

JBC08H,ZHOUQI31

JBC09H,RETUN4

RETUN4:

AJMPSTART2

ZHOUQI11:

AJMPZHOUQI1

ZHOUQI21:

AJMPZHOUQI2

ZHOUQI31:

AJMPZHOUQI3

START3:

LCALLSEACH1

JBC00H,RETUN16

LCALLCEMK

AJMPSTART3

RETUN16:

LJMPMAIN

START4:

LCALLSEACH1

JBC00H,RETUN15

LCALLCEZHANKB

AJMPSTART4

RETUN15:

LJMPMAIN

PINYU6:

LCALLSEACH1

JBC00H,RETUN11

MOVP1,#1EH

LCALLZHQI

LCALLPINYU1

LCALLTRANS

LCALLLED

AJMPPINYU6

RETUN11:

AJMPMAIN

PINYU7:

LCALLSEACH1

JBC00H,RETUN12

MOVP1,#1DH

LCALLCZS

LCALLPINYU2

LCALLTRANS

LCALLLED

AJMPPINYU7

RETUN12:

AJMPMAIN

PINYU8:

LCALLSEACH1

JBC00H,RETUN13

MOVP1,#1BH

LCALLCZS

MOV35H,#08H

LCALLPINYU

LCALLTRANS

LCALLLED

AJMPPINYU8

RETUN13:

AJMPMAIN

PINYU9:

LCALLSEACH1

JBC00H,RETUN14

MOVP1,#17H

LCALLCZS

MOV35H,#32

LCALLPINYU

LCALLTRANS

LCALLLED

AJMPPINYU9

RETUN14:

LJMPMAIN

ZHOUQI1:

MOVP1,#2EH

LCALLZHQI

LCALLMUL4

LCALLADD1

MOV60H,R2

MOV61H,R3

MOV62H,R4

MOV63H,R5

LCALLTRANS

LCALLLED

AJMPZHOUQI1

ZHOUQI2:

MOVP1,#2DH

LCALLSEACH1

JBC00H,RETUN9

LCALLZHOUQI2_2

MOV36H,R3

MOV37H,R4

MOV38H,R5

LCALLHB4;转换后的三字节BCD码整数在R2,R3、R4、R5中。

MOV60H,R2

MOV61H,R3

MOV62H,R4

MOV63H,R5

LCALLTRANS

LCALLLED

AJMPZHOUQI2

RETUN9:

LJMPMAIN

ZHOUQI3:

MOVP1,#2BH

LCALLSEACH1

JBC00H,RETUN10

LCALLZHOUQI2_2

MOV36H,R3

MOV37H,R4

MOV38H,R5

MOVR0,#36H

MOVR7,#08H;分频系数

LCALLMULD3_1

MOV60H,R2

MOV61H,R3

MOV62H,R4

MOV63H,R5

LCALLTRANS

LCALLLED

AJMPZHOUQI3

RETUN10:

AJMPMAIN

ZHOUQI2_2:

LCALLCZS

MOVA,76H

;CJNEA,#00H,NEXT12

;AJMPNEXT13

LCALLMUL4

LCALLADD1

MOV60H,R2

MOV61H,R3

MOV62H,R4

MOV63H,R5

CJNER3,#00H,NEXT14

MOV76H,#01H

MOV69H,76H

AJMPNEXT15

NEXT14:

JCNEXT15

MOV76H,#08H

MOV69H,76H

MOVR7,#08H

LCALLDV31;双字节商在R4、R5中

MOV62H,R4

MOV63H,R5

NEXT15:

MOVA,R4

MOVR6,A

MOVA,R5

MOVR7,A

MOVR2,#00H

MOVR3,#0FH

MOVR4,#42H

MOVR5,#40H

LCALLDIVD;双字节商在R2、R3中,OV=1时溢出

MOV62H,R2

MOV63H,R3

MOVR6,#00H

MOVR7,76H

JNBOV,NEXT16

MOVR6,62H

MOVR7,63H

MOVR2,#00H;存入10000

MOVR3,#00H

MOVR4,#27H

MOVR5,#10H

LCALLDIVD;双字节商在R2、R3中,OV=1时溢出

NEXT16:

MOVA,69H

CJNEA,#01H,NEXT32

AJMPNEXT33

NEXT32:

MOVR6,#00H

MOVR7,#69H

LCALLDIVD

NEXT33:

MOVR7,#64H

MOVR6,#00H

LCALLMULD;:

乘积在R2、R3、R4、R5中。

RET

CEMK:

MOVP1,#4DH

LCALLMAIKUAN

LCALLHB4;转换后的三字节BCD码整数在R2,R3、R4、R5中。

MOV60H,R2

MOV61H,R3

MOV62H,R4

MOV63H,R5

LCALLTRANS

LCALLLED

RET

CEZHANKB:

MOVP1,#8DH

LCALLZHQI

LCALLMUL4

LCALLADD1;;结果在R2.R3.R4.R5中

MOV70H,R2

MOV71H,R3

MOV72H,R4

MOV73H,R5

LCALLMAIKUAN;;结果在36,37,38H中

MOVR6,37H

MOVR7,38H

MOVR2,#03H

MOVR3,#0E8H

LCALLMULD;乘积在R2、R3、R4、R5中。

MOVR6,72H

MOVR7,73H

LCALLDIVD;双字节商在R2、R3中,OV=1时溢出。

MOVR2,72H

MOVR3,73H

MOVR6,72H

MOVR7,73H

LCALLHB2;转换后的三字节BCD码整数在R3、R4、R5中。

MOV60H,#00H

MOV61H,R3

MOV62H,R4

MOV63H,R5

LCALLTRANS

LCALLLED

RET

KEY:

MOVDPTR,#A8279_1

MOVA,#40H

MOVX@DPTR,A

MOVDPTR,#A8279_2

MOVXA,@DPTR

ANLA,#3FH

CJNEA,#00H,KEY1

SETB00H

LJMPRETUN1

KEY1:

CJNEA,#01H,KEY2

SETB01H

LJMPRETUN1

KEY2:

CJNEA,#02H,KEY3

SETB02H

AJMPRETUN1

KEY3:

CJNEA,#03H,KEY4

SETB03H

LJMPRETUN1

KEY4:

CJNEA,#04H,KEY5

SETB04H

LJMPRETUN1

KEY5:

CJNEA,#05H,RETUN1

SETB05H

RETUN1:

RET

KEY_1:

MOVDPTR,#A8279_1

MOVA,#40H

MOVX@DPTR,A

MOVDPTR,#A8279_2

MOVXA,@DPTR

ANLA,#3FH

CJNEA,#00H,KEY_11

SETB00H

LJMPRETUN2

KEY_11:

CJNEA,#06H,KEY_12

SETB06H

LJMPRETUN2

KEY_12:

CJNEA,#07H,KEY_13

SETB07H

AJMPRETUN2

KEY_13:

CJNEA,#08H,KEY_14

SETB08H

LJMPRETUN2

KEY_14:

CJNEA,#09H,RETUN2

SETB09H

RETUN2:

RET

ZHQI:

;0.1hz_1khz测量,测周期;16进制

MOVTMOD,#01H

MOVTL0,#00H

MOVTH0,#00H

SETBEA

SETBET0

MOV76H,#00H

SETBP3.5

GDP1:

MOVC,P3.5

JCGDP1

DDP1:

MOVC,P3.5

JNCDDP1

SETBTR0

GDP2:

MOVC,P3.5

JCGDP2

DDP2:

MOVC,P3.5

JNCDDP2

CLRTR0

CLRTR1

MOVA,TH0

MOVTH1,A

MOVA,TL0

MOVTL1,A

RET

PINYU1:

;0.1hz_1khz测量;结果在让,r4,r5中;16进制

LCALLMUL4

LCALLADD1

MOV30H,#00H

MOV31H,#00H

MOV32H,#0FFH

MOV33H,#0FFH

LCALLBIJIAO

JB20H,BIJIAO2

MOV34H,R4

MOV35H,R5

MOVR6,34H

MOVR7,35H

MOVR2,#00H

MOVR3,#0FH

MOVR4,#42H

MOVR5,#40H

LCALLDIVD;OV=0时,双字节商在R2、R3中,OV=1时溢出。

MOVA,R2

MOVR6,A

MOVA,R3

MOVR7,A

AJMPNEXT30

BIJIAO2:

MOV30H,#00H

MOV31H,#0FH

MOV32H,#42H

MOV33H,#40H

LCALLBIJIAO

JB20H,BIJIAO3

MOVR7,#100

LCALLDV31;OV=0时,双字节商在R4、R5中,OV=1时溢出。

MOV34H,R4

MOV35H,R5

MOVR6,34H

MOVR7,35H

MOVR2,#00H

MOVR3,#0FH

MOVR4,#42H

MOVR5,#40H

LCALLDIVD;OV=0时,双字节商在R2、R3中,OV=1时溢出。

MOV34H,R2

MOV35H,R3

MOVR6,34H

MOVR7,35H

MOVR3,#00H

MOVR4,34H

MOVR5,35H

MOVR7,#100

LCALLDV31;OV=0时,双字节商在R4、R5中,OV=1时溢出。

MOV34H,R4

MOV35H,R5

MOVR6,34H

MOVR7,35H

AJMPNEXT30

BIJIAO3:

MOVR7,#0E8H

MOVR6,#03H

LCALLDIVD;OV=0时,双字节商在R2、R3中,OV=1时溢出。

MOV34H,R2

MOV35H,R3

MOVR6,34H

MOVR7,35H

MOVR2,#00H

MOVR3,#98H

MOVR4,#96H

MOVR5,#80H

LCALLDIVD;OV=0时,双字节商在R2、R3中,OV=1时溢出。

MOV34H,R2

MOV35H,R3

MOVR6,34H

MOVR7,35H

MOVR2,#00H

MOVR3,#00H

MOVR4,34H

MOVR5,35H

MOVR7,#0E8H

MOVR6,#03H

LCALLDIVD;OV=0时,双字节商在R2、R3中,OV=1时溢出。

MOV34H,R2

MOV35H,R3

MOVR6,34H

MOVR7,35H

NEXT30:

LCALLHB2

MOV60H,#00H

MOV61H,R3

MOV62H,R4

MOV63H,R5

CLRET0

RET

SEVER1:

INC76H

RETI

CZS:

;测1秒钟的周期数

MOVTMOD,#51H

MOVTL0,#00H

MOVTH0,#4CH

MOV76H,#00H

MOVR7,#14H

MOVTL1,#00H

MOVTH1,#00H

SETBTR1

SETBTR0

HERE:

JBCTF0,NEXT1

JBCTF1,NEXT20

SJMPHERE

NEXT20:

INC76H

AJMPHERE

NEXT1:

MOVTL0,#00H

MOVTH0,#4CH

DJNZR7,HERE

CLRTR0

CLRTR1

RET

PINYU2:

;测频率1k_0.5mhz

MOVA,76H

CJNEA,#00H,NEXT2

MOV65H,#00H

MOV66H,#00H

MOV67H,#00H

AJMPNEXT3

NEXT2:

MOVR6,76H

MOVR0,#65H

MOVR7,#03H

MOVR1,#50H

MOV65H,#00H

MOV66H,#00H

MOV67H,#00H

NEXT4:

MOV50H,#06H

MOV51H,#55H

MOV52H,#36H

LCALLBCDA

DJNZR6,NEXT4

NEXT3:

MOVR6,TH1

MOVR7,TL1

LCALLHB2

MOVR7,#03H

MOV50H,R3

MOV51H,R4

MOV52H,R5

MOVR0,#65H

MOVR1,#50H

LCALLBCDA

MOV60H,#00H;结果在65,66,67h中BCD码

MOV61H,65H

MOV62H,66H

MOV63H,67H

RET

PINYU:

MOV30H,TH0

MOV31H,TL0

MOVA,76H

;CJNEA,#00H,NEXT5

;AJMPNEXT6

;CLRTF0

LCALLMUL4

LCALLADD1

MOV65H,R2

MOV66H,R3

MOV67H,R4

MOV68H,R5

MOVR0,#66H

MOVR7,35H;乘以分频系数

LCALLMULD3_1

MOV36H,R3

MOV37H,R4

MOV38H,R5

LCALLHB4;转换后的三字节BCD码整数在R2,R3、R4、R5中。

MOV60H,R2

MOV61H,R3

MOV62H,R4

MOV63H,R5

RET

MAIKUAN:

;测量,测脉宽

MOVTMOD,#01H

MOVTL0,#00H

MOVTH0,#00H

SETBEA

SETBET0

MOV76H,#00H

SETBP3.5

GDP5:

MOVC,P3.5

JCGDP5

DDP5:

MOVC,P3.5

JNCDDP5

SETBTR0

GDP6:

MOVC,P3.5

JCGDP6

CLRTR0

;MOVA,B

;CJNEA,#00H,NEXT6

;AJMPNEXT7

MOVA,TH0

MOVTH1,A

MOVA,TL0

MOVTL1,A

CLRET0

LCALLMUL4

LCALLADD1

MOV36H,R3

MOV37H,R4

MOV38H,R5

RET

MUL4:

MOVR2,#0FFH

MOVR3,#0FFH

MOVR6,#00H

MOVR7,76H

LCALLMULD

MOVA,76H

ADDA,R5

MOVR5,A

MOVA,#00H

ADDCA,R4

MOVR4,A

MOVA,#00H

ADDCA,R3

MOVR3,A

MOVA,#00H

ADDCA,R2;结果在R2.R3.R4.R5中

RET

ADD1:

MOVA,TL1

ADDA,R5

MOVR5,A

MOVA,TH1

ADDCA,R4

MOVR4,A

MOVA,#00H

ADDCA,R3

MOVR3,A

MOVA,#00H

ADDCA,R2

MOVR2,A;结果在R2.R3.R4.R5中

RET

BIJIAO:

MOVA,R2;比较30h,31h,32h,33h与r2,r3,r4,r5中数据的大小,大,20H=0,

CJNEA,30H,TEND

MOVA,R3

CJNEA,31H,TEND

MOVA,R4

CJNEA,32H,TEND

MOVA,R5

CJNEA,33H,TEND

TEND:

JCBJ1

SETB20H

AJMPTEND2

BJ1:

CLR20H

TEND2:

RET

;(5)标号:

MULD功能:

双字节二进制无符号数乘法

;入口条件:

被乘数在R2、R3中,乘数在R6、R7中。

;出口信息:

乘积在R2、R3、R4、R5中。

;影响资源:

PSW、A、B、R2~R7堆栈需求:

2字节

MULD:

MOVA,R3;;计算R3乘R7

MOVB,R7

MULAB

MOVR4,B;;暂存部分积

MOVR5,A

MOVA,R3;;计算R3乘R6

MOVB,R6

MULAB

ADDA,R4;;累加部分积

MOVR4,A

CLRA

ADDCA,B

MOVR3,A

MOVA,R2;;计算R2乘R7

MOVB,R7

MULAB

ADDA,R4;;累加部分积

MOVR4,A

MOVA,R3

ADDCA,B

MOVR3,A

CLRA

RLCA

XCHA,R2;;计算R2乘R6

MOVB,R6

MULAB

ADDA,R3;;累加部分积

MOVR3,A

MOVA,R2

ADDCA,B

MOVR2,A

RET

;(9)标号:

DV31功能:

三字节二进制无符号数除以单字节二进制数

;入口条件:

被除数在R3、R4、R5中,除数在R7中。

;出口信息:

OV=0时,双字节商在R4、R5中,OV=1时溢出。

;影响资源:

PSW、A、B、R2~R7堆栈需求:

2字节

DV31:

CLRC

MOVA,R3

SUBBA,R7

JCDV30

SETBOV;;商溢出

RET

DV30:

MOVR2,#10H;;;求R3R4R5/R7-→R4R5

DM23:

CLRC

MOVA,R5

RLCA

MOVR5,A

MOVA,R4

RLCA

MOVR4,A

MOVA,R3

RLCA

MOVR3,A

MOVF0,C

CLRC

SUBBA,R7

ANLC,/F0

JCDM24

MOVR3,A

INCR5

DM24:

DJNZR2,DM23

MOVA,R3;;;四舍五入

ADDA,R3

JCDM25

SUBBA,R7

JCDM26

DM25:

INCR5

MOVA,R5

JNZDM26

INCR4

DM26:

CLROV

RET;;商在R4R5中

;(7)标号:

DIVD功能:

双字节二进制无符号数除法

;入口条件:

被除数在R2、R3、R4、R5中,除数在R6、R7中。

;出口信息:

OV=0时,双字节商在R2、R3中,OV=1时溢出。

;影响资

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2