一个成功的万年历汇编程序显示日期时间和温度Word格式.docx

上传人:b****3 文档编号:17402289 上传时间:2022-12-01 格式:DOCX 页数:19 大小:17.54KB
下载 相关 举报
一个成功的万年历汇编程序显示日期时间和温度Word格式.docx_第1页
第1页 / 共19页
一个成功的万年历汇编程序显示日期时间和温度Word格式.docx_第2页
第2页 / 共19页
一个成功的万年历汇编程序显示日期时间和温度Word格式.docx_第3页
第3页 / 共19页
一个成功的万年历汇编程序显示日期时间和温度Word格式.docx_第4页
第4页 / 共19页
一个成功的万年历汇编程序显示日期时间和温度Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

一个成功的万年历汇编程序显示日期时间和温度Word格式.docx

《一个成功的万年历汇编程序显示日期时间和温度Word格式.docx》由会员分享,可在线阅读,更多相关《一个成功的万年历汇编程序显示日期时间和温度Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

一个成功的万年历汇编程序显示日期时间和温度Word格式.docx

KEYPRE:

MOV5BH,A

CJNEA,#0F0H,KEYPRE1

SJMPKEYPRE2

KEYPRE1:

MOV5AH,#0

ADDA,#0

SUBBA,#10

JCKEYPRE2

INCA

MOV5AH,A

KEYPRE2:

MOVDPTR,#PTAB1

MOVA,5AH

MOVB,#3

MULAB

MOVR1,A

MOVA,B

ADDA,DPH

MOVA,R1

JMP@A+DPTR

KEYPRE0:

RET

PTAB1:

LJMPKEYPRE3

PL001:

LJMPPL001P

PL002:

LJMPPL002P

PL003:

LJMPPL003P

PH001:

LJMPPH001P

PH002:

LJMPPH002P

PH003:

LJMPPH003P

LJMPKEYPRE0

KEYPRE3:

MOVA,5BH

CLRC

SUBBA,#0F0H

JZKEYPRE4

mov53h,52h

mov52h,51h

mov51h,50h

mov50h,5BH

KEYPRE4:

CLRPSW.1

LJMPKEYPRE0

PL001P:

MOVA,5BH//S1键

CJNEA,#0AH,PL001END

MOVA,58H

JZPL001END

LCALLCOMMS1K

PL001END:

LCALLS1MOVBUF

CLRPSW.1

PL002P:

//MOVDPTR,#L002

//LCALLMOVXSBUF

MOVA,5BH

CJNEA,#0BH,PL002END

MOVA,59H

JZPL002END

CJNEA,#01H,PL002P2

MOVA,#5BH

ADDA,59H

MOVR0,A

INC@R0

PL002P2:

CJNEA,#02H,PL002P3

MOVA,#5EH

PL002P3:

CJNEA,#03H,PL002END

PL002END:

PL003P:

MOVDPTR,#L003

LCALLMOVXSBUF

LCALLADC0809

SETBPSW.1

PH001P:

//MOVDPTR,#H001

//LCALLMOVXSBUF

JZPH001END

LCALLCOMMS4K

PH001END:

LCALLYDMOVBUF

CLRPSW.1

PH002P:

MOVDPTR,#H002

MOVDPTR,#PWM14//E键设定;

占空比1:

4

LCALLMOVXPMWBUF

PH003P:

MOVDPTR,#H003

LCALLGET_TEMP

SUBT1:

PUSHACC//

PUSHPSW

MOVTL1,#0fdH

MOVTH1,#0FFH

CPLP1.3//产生定时脉冲

LP4:

POPPSW

POPACC

RETI

LED:

MOVP0,#0FFH

MOVP3,R2

LCALLDELAY

MOVA,@R0

MOVR1,A

LED1:

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A

RET

LED2DELAY:

movR0,#4fh

movR2,#80h

movR3,#02H

LED2DELAY1:

movA,R2

RLA

movR2,A

INCR0

LCALLLED

DJNZR3,LED2DELAY1

LED4LDELAY:

MOVP0,#00H

MOVP3,#0FFH

MOVR0,#4FH

MOVR2,#0F7H

MOVR3,#04H

LED4LDELAY1:

MOVA,R2

MOVR2,A

INCR0

DJNZR3,LED4LDELAY1

LED4RDELAY:

MOVR2,#07FH

LED4RDELAY1:

DJNZR3,LED4RDELAY1

LED8DELAY:

movR2,#7fh

movR3,#08H

LED8DELAY1:

DJNZR3,LED8DELAY1

DELAY:

MOVR5,#01H

D0:

MOVR6,#01AH

D1:

DJNZR6,D1

DJNZR5,D0

KEY:

MOVP3,#0FFH

LCALLKS

JNZK1

MOVA,#0F0H

LJMPK5

K1:

JNZK2

K2:

MOVR4,#00H

K3:

MOVA,R2

LCALLDELAY

MOVA,P0

ANLA,#0FH

JBACC.0,L1

MOVA,#00H

LJMPLK

L1:

JBACC.1,L2

MOVA,#01H

LJMPLK

L2:

JBACC.2,L3

MOVA,#02H

L3:

JBACC.3,NEXT

MOVA,#03H

LK:

ADDA,R4

PUSHACC

K4:

JNZK4

K5:

NEXT:

MOVA,#4

MOVR4,A

JNBACC.4,K5

RRA

LJMPK3

KS:

MOVA,#0FH

CPLA

//SWAPA

ADC0809:

CLRP1.0//

SETBP1.0//START,ALE

CLRP1.0

SETBP1.2

ADC08P:

movc,P1.2

JNcADC08P

SETBP1.1

MOVP2,#0FFH

MOVA,P2

MOV62H,A

MOV50H,A

MOVA,62H

SWAPA

MOV51H,A

ADC08M:

DS18SL:

CLREA;

使用ds1820一定要禁止任何中断产生

LCALLINTT;

初始化ds1820

MOVA,#33H

LCALLWRITE;

送入读ds1820的ROM命令

LCALLREAD;

开始读出当前ds1820序列号

MOV40H,A

LCALLREAD

MOV41H,A

MOV42H,A

MOV43H,A

MOV44H,A

MOV45H,A

MOV46H,A

MOV47H,A

SETBEA

INTT:

CLREA

INTT0:

MOVR2,#200

INTT1:

DJNZR2,INTT1;

总线复位电平保持400us

SETBP1.0;

释放ds1820总线

MOVR2,#30

INTT4:

DJNZR2,INTT4;

释放ds1820总线保持60us

CLRC;

清存在信号

ORLC,P1.0

JCINTT0;

存在吗?

不存在则重新来

MOVR6,#80

INTT5:

JCINTT3

DJNZR6,INTT5

SJMPINTT0

INTT3:

MOVR2,#240

INTT2:

DJNZR2,INTT2

WRITE:

CLREA;

向ds1820写操作命令子程序

MOVR3,#8;

写入ds1820的bit数,一个字节8个bit

WR1:

SETBP1.0

MOVR4,#8

RRCA;

把一个字节data(A)分成8个bit环移给C

CLRP1.0;

开始写入ds1820总线要处于复位(低)状态

WR2:

DJNZR4,WR2;

ds1820总线复位保持16us

MOVP1.0,C;

写入一个bit

MOVR4,#20

WR3:

DJNZR4,WR3;

等待40us

DJNZR3,WR1;

写入下一个bit

重新释放ds1820总线

READ:

MOVR6,#8;

连续读8个bit

RE1:

读前总线保持为低

MOVR4,#4

NOP

开始读总线释放

RE2:

DJNZR4,RE2;

持续8us

MOVC,P1.0;

从ds1820总线读得一个bit

把读得的位值环移给A

MOVR5,#30

RE3:

DJNZR5,RE3;

持续60us

DJNZR6,RE1;

读下一个bit

重新释放ds1820总线

//温度转换和读取

GET_TEMP:

CLREA;

使用ds1820一定要禁止任何中断产生

调用初使化子程序

MOVA,#0CCH

送入跳过ROM命令

MOVA,#44H

送入温度转换命令

温度转换完全,再次初使化ds1820

送入跳过ROM命令

MOVA,#0BEH

送入读温度暂存器命令

MOV62H,A;

读出温度值低字节存入R7

MOV63H,A;

读出谩度值高字节存入R6

GET_TEMP1:

RET

MOVXSBUF:

MOVR7,#3

MOVA,R7

DECR7

MOV52H,A

MOV53H,A

MOVXPMWBUF:

MOVR7,#1

MOV58H,A

MOV57H,A

COMMS4K:

INC58H

CJNEA,#04H,COMMS4K1

MOV58H,#01H

COMMS4K1:

YDMOVBUF:

CJNEA,#01H,YDMOVBUF2

MOVR0,#5CH

ANLA,#0F0H

MOV52H,#13H

MOV54H,A

MOV55H,#13H

MOV56H,A

SJMPYDMOVBUF4

YDMOVBUF2:

CJNEA,#02H,YDMOVBUF3

MOVR0,#5FH

YDMOVBUF3:

MOVR0,#62H

MOV54H,#14H

MOV55H,#14H

MOV56H,#14H

MOV57H,#14H

YDMOVBUF4:

COMMS1K:

INC59H

CJNEA,#05H,COMMS1K1

MOV59H,#01H

COMMS1K1:

S1MOVBUF:

MOV50H,#13H

MOV51H,#13H

MOV53H,#13H

MOV54H,#13H

MOV56H,#13H

MOV57H,#13H

CJNEA,#01H,S1MOVBUF2

CJNEA,#01H,S1MOV11

MOVR0,#5CH

SJMPS1MOV12

S1MOV11:

S1MOV12:

SJMPS1MOVBUF4

S1MOVBUF2:

CJNEA,#02H,S1MOVBUF3

CJNEA,#01H,S1MOV21

SJMPS1MOV22

S1MOV21:

S1MOV22:

S1MOVBUF3:

CJNEA,#03H,S1MOVBUF0

CJNEA,#01H,S1MOV31

SJMPS1MOV32

S1MOV31:

S1MOV32:

S1MOVBUF0:

CJNEA,#04H,S1MOVBUF4

LCALLYDMOVBUF

S1MOVBUF4:

TABLE:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0CH,89H,0C7H,0BFH,0FFH

L001:

DB12H,0H,0H,01H

L002:

DB12H,00H,00H,02H

L003:

DB0AH,0DH,00H,03H

H001:

DB11H,00H,00H,01H

H002:

DB11H,00H,00H,02H

H003:

DB11H,00H,00H,03H

pwm16:

db02h,0Ch

pwm14:

db02h,08h

pwm21:

db06h,03h

END

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

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1