您的位置 首页 厂商

HOLTEK单片机-秒表

功能说明:利用定时器1的定时模式制作一个秒表。电路说明:HT48R50A-1的端口A,端口C控制4个共阳极七段显示器以显示秒表的s及1100s。

功用阐明:

使用守时器1的守时形式制造一个秒表

电路阐明:

HT48R50A-1 的端口A,端口C操控4个共阳极七段显现器以显现秒表的s及1/100s。

HT48R50A-1 的复位键SW1作为秒表的开端计时,中止计时和回零按键。

程序:

; ***************************************************; * Filename : 9712a.ASM                            *; * Function : Stop watch                           *; * Microprocessor : HT48R50A-1/28SKDIP-A           *; * Crystal : 4MHz                                  *; ***************************************************#INCLUDE                HT48R50A-1.INCTIMER_START             EQU     55HTIMER_STOP              EQU     66H;----------------------------------------------------DATA    .SECTION        AT 60H  DATAWARM_RESET              DB      ?       ;[60H]DELAY_COUNTER           DB      ?       ;[61H]DISPLAY_DATA            DB      ?       ;[62H]DISPLAY_COUNTER         DB      ?       ;[63H]DISPLAY_SHIFT           DB      ?       ;[64H]SECOND                  DB      4 DUP(?);[65H];----------------------------------------------------CODE    .SECTION        AT 00H  CODEORG     00HJMP     STARTORG     0CHJMP     TIMER1ORG     20HSTART:CLR     PACCLR     PCCMOV     A,WARM_RESETSUB     A,TIMER_STARTSZ      ACCJMP     TIMER_STOP_CMOV     A,TIMER_STOPMOV     WARM_RESET,AJMP     TIMER_START_GOTIMER_STOP_C:MOV     A,WARM_RESETSUB     A,TIMER_STOPSZ      ACCJMP     TIMER_ONECLR     WARM_RESETJMP     DISPLAYTIMER_ONE:MOV     A,TIMER_STARTMOV     WARM_RESET,ACALL    CLEANJMP     DISPLAYTIMER_START_GO:MOV     A,09HMOV     INTC,AMOV     A,80HMOV     TMR1C,AMOV     A,0F0HMOV     TMR1L,AMOV     A,0D8HMOV     TMR1H,ASET     TMR1C.4CALL    CLEANTIMER:MOV     A,OFFSET SECONDMOV     MP1,AMOV     A,R1SUB     A,0AHSZ      ACCJMP     DISPLAYCLR     R1INC     MP1INC     R1MOV     A,R1SUB     A,0AHSZ      ACCJMP     DISPLAYCLR     R1INC     MP1INC     R1MOV     A,R1SUB     A,0AHSZ      ACCJMP     DISPLAYCLR     R1INC     MP1INC     R1MOV     A,R1SUB     A,06HSZ      ACCJMP     DISPLAYCALL    CLEANDISPLAY:MOV     A,OFFSET SECONDMOV     MP0,AMOV     A,0FEHMOV     DISPLAY_SHIFT,AMOV     A,04HMOV     DISPLAY_COUNTER,ADISPLAY_LOOP:MOV     A,R0MOV     TBLP,ATABRDL  DISPLAY_DATAMOV     A,DISPLAY_DATAMOV     PA,AMOV     A,DISPLAY_SHIFTMOV     PC,AINC     MP0RL      DISPLAY_SHIFTCALL    DELAYSDZ     DISPLAY_COUNTERJMP     DISPLAY_LOOPMOV     A,WARM_RESETSUB     A,TIMER_STOPSZ      ACCJMP     DISPLAYJMP     TIMERRET;----------------------------------------------------TIMER1:INC     SECONDRETI;----------------------------------------------------CLEAN           PROCMOV     A,OFFSET SECONDMOV     MP1,AMOV     A,04HMOV     DISPLAY_COUNTER,ACLEAN_LOOP:CLR     R1INC     MP1SDZ     DISPLAY_COUNTERJMP     CLEAN_LOOPRETCLEAN           ENDP;----------------------------------------------------DELAY           PROCMOV     A,0FFHMOV     DELAY_COUNTER,AWAIT:SDZ     DELAY_COUNTERJMP     WAITRETDELAY           ENDP;----------------------------------------------------ORG     0F00HDC      081H,0CFH,092H,086H     ;0123DC      0CCH,0A4H,0A0H,08FH     ;4567DC      080H,084H               ;89;----------------------------------------------------END 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/255260.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部