文档库 最新最全的文档下载
当前位置:文档库 › 集美大学单片机实验时钟程序

集美大学单片机实验时钟程序

1、时钟程序如下:org 0000h

extrn code (display8) buffer data 40h

ljmp main

org 000bh

ljmp intt0

org 0100h

main:

mov sp,#60h

mov r0,#buffer; mov buffer,#00h mov buffer+1,#00h mov buffer+2,#11h mov buffer+3,#00h mov buffer+4,#00h mov buffer+5,#11h mov buffer+6,#00h mov buffer+7,#00h

mov tmod,#01h; mov th0,#3ch;

mov tl0,#0b0h

mov 50h,#00;

mov 51h,#00

mov 52h,#00

mov r1,#00h ;

clr a

setb et0

setb ea

setb tr0

l1:

ljmp l1

intt0:

mov th0,#3ch

mov tl0,#0b0h push psw;

inc r1

cjne r1,#014h,return mov r1,#00h

mov a,#01

add a,50h

da a

mov 50h,a

mov r2,a

;/****************************/

mov a,50h

anl a,#0fh

mov buffer,a

mov a,50h

anl a,#0f0h

swap a

mov buffer+1,a

;/*********************************** **/

cjne r2,#60h,return

mov 50h,#00h

mov a,#01

add a,51h

da a

mov 51h,a

mov r2,a

;/****************************/

mov a,51h

anl a,#0fh

mov buffer+3,a

mov a,51h

anl a,#0f0h

swap a

mov buffer+4,a

;/*********************************** **/

cjne r2,#60h,return

mov 51h,#00h

mov a,#01

add a,52h

da a

mov 52h,a

mov r2,a

;/***************************/

mov a,52h

anl a,#0fh

mov buffer+6,a

mov a,52h

anl a,#0f0h

swap a

mov buffer+7,a

;/**********************************/ cjne r2,#24h,return

mov 52h,#00h

return:

lcall display8

pop psw

reti

end

2、秒表程序如下:

extrn code (display8)

buffer data 40h

org 0000h

ljmp main

org 000bh

ljmp intt0

org 0100h

main:

mov sp,#60h

mov r0,#buffer·

mov 50h,#00h;//ms

mov 51h,#00h

mov 52h,#00h

mov 53h,#00h;//s

mov 54h,#00h

mov 55h,#00h;//minute

mov 56h,#00h

lcall zcx0

mov tmod,#02;

mov tl0,#06h;0.5ms

mov th0,#06h

mov r0,#02h

setb et0

setb ea

clr tr0

loop:

mov C,P1.1;

MOV 20H.0,C

jb 20H.0,main

mov C,P1.2;

MOV 20H.1,C

jNb 20H.1,loop1 clr tr0

ljmp loop2

loop1:

setb tr0

loop2:

ljmp loop

intt0:

push psw

djnz r0,return; mov r0,#02h

inc 50h

mov r1,50h

cjne r1,#0ah,return mov 50h,#00h

inc 51h

mov r2,51h

cjne r2,#0ah,return mov 51h,#00h

inc 52h

mov r3,52h

cjne r3,#0ah,return mov 52h,#00h

inc 53h

mov r4,53h

cjne r4,#0ah,return mov 53h,#00h

inc 54h

mov r5,54h

cjne r5,#06h,return mov 54h,#00h

inc 55h

mov r6,55h

cjne r6,#0ah,return mov 55h,#00h

inc 56h

mov r7,56h

cjne r7,#06h,return

mov 56h,#00h

return:

lcall zcx0

pop psw

reti

zcx0:

mov buffer,50h

mov buffer+1,51h

mov buffer+2,52h

mov buffer+3,53h

mov buffer+4,54h

mov buffer+5,55h

mov buffer+6,56h

mov buffer+7,#00h

;lcall display8

ret

end

3、带初值设置的时钟如下:org 0000h

extrn code (getbcdkey)

buffer1 data 30h

extrn code (display8)

buffer data 40h

ljmp main

org 000bh

ljmp intt0

org 0100h

main:

;mov 30h,#22h

;mov 31h,#32h

;mov 32h,#05h

mov sp,#60h

clr psw.1

mov r0,#buffer1

mov a,#06h

lcall getbcdkey |

mov r0,#buffer

mov buffer+2,#11h

mov buffer+5,#11h

;/*****************************/ mov a,30h

anl a,#0fh

mov buffer,a

mov a,30h

anl a,#0f0h

swap a

mov buffer+1,a

mov a,31h

anl a,#0fh

mov buffer+3,a

mov a,31h

anl a,#0f0h

swap a

mov buffer+4,a

mov a,32h

anl a,#0fh

mov buffer+6,a

mov a,32h

anl a,#0f0h

swap a

mov buffer+7,a

;/*********************************** **/

mov tmod,#01h;

mov th0,#3ch;//6mhz

mov tl0,#0b0h

mov 50h,30h;ˉ

mov 51h,31h

mov 52h,32h

mov r1,#00h

clr a

setb et0

setb ea

setb tr0

l1:

ljmp l1

intt0:

mov th0,#3ch

mov tl0,#0b0h

push psw;

inc r1

cjne r1,#14h,return;

mov r1,#00h

mov a,#01

add a,50h

da a

mov 50h,a

mov r2,a

; /***************************/

mov a,50h

anl a,#0fh

mov buffer,a

mov a,50h

anl a,#0f0h

swap a

mov buffer+1,a

;/*********************************** **/

cjne r2,#60h,return

mov 50h,#00h

mov a,#01

add a,51h

da a

mov 51h,a

mov r2,a

;/*****************************/

mov a,51h

anl a,#0fh

mov buffer+3,a

mov a,51h

anl a,#0f0h

swap a

mov buffer+4,a

;/*********************************** **/

cjne r2,#60h,return

mov 51h,#00h

mov a,#01

add a,52h

da a

mov 52h,a

mov r2,a

;/****************************/

mov a,52h

anl a,#0fh

mov buffer+6,a

mov a,52h

anl a,#0f0h

swap a

mov buffer+7,a

;/**********************************/ cjne r2,#24h,return

mov 52h,#00h

return:

lcall display8

pop psw

reti

end

相关文档
相关文档 最新文档