找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 566|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机汇编语言 秒表

[复制链接]
跳转到指定楼层
楼主
ID:1084649 发表于 2024-12-6 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
KEY1 BIT P1.0                ;按键1 IO口定义--启动/暂停定时器
KEY2 BIT P1.1                ;按键2 IO口定义--定时器停止,清零
ORG 0000H
LJMP MAIN                         ;跳转至MAIN
ORG 000BH
LJMP T0_INT               
ORG 0100H               
COUNT EQU 40H        
SEC EQU 41H               
AX EQU 42H
SEC1 EQU 44H                        
MAIN:
        MOV SP,#60H        
        MOV TMOD,#01H
        MOV TL0,#0B0H
        MOV TH0,#3CH        
        SETB EA               
        CLR TR0               
        MOV SEC,#0        
        MOV AX,#0      
M_LOOP:
        JNB KEY1,PK1        ;当KEY1按下时,跳转至PK1
        JNB KEY2,PK2        ;当KEY2按下时,跳转至PK2
        ACALL DISPLAY
        LJMP M_LOOP        

PK1:ACALL DISPLAY
        JNB KEY1,PK1
        CPL TR0               
        LJMP M_LOOP        
PK2:ACALL DISPLAY
        JNB KEY2,PK2
        CLR TR0               
        MOV SEC,#00H
        MOV AX,#00H
        LJMP M_LOOP               
DISPLAY:            
        MOV A,#01B               
        MOV P2,A               
        MOV DPTR,#TAB        
        MOV A,AX               
        MOV B,#10               
        DIV        AB                        
        MOVC A,@A+DPTR        
        MOV P0,A               
        ACALL DELAY               
        MOV P0,#0FFH        
        MOV A,#10B               
        MOV P2,A
        MOV DPTR,#TAB        
        MOV A,AX               
        MOV B,#10        
        DIV AB                        
        MOV A,B                        
        MOVC A,@A+DPTR        
        MOV P0,A               
        CALL DELAY               
        MOV P0,#0FFH        
        MOV A,#100B               
        MOV P2,A               
        MOV A,SEC               
        MOV B,#10               
        DIV        AB                        
        MOVC A,@A+DPTR        
        MOV P0,A               
        ACALL DELAY               
        MOV P0,#0FFH        
        MOV A,#1000B
        MOV P2,A
        MOV DPTR,#TAB        
        MOV A,SEC               
        MOV B,#10               
        DIV AB                        
        MOV A,B                        
        MOVC A,@A+DPTR        
        MOV P0,A               
        CALL DELAY               
        MOV P0,#0FFH        
        RET                                

T0_INT:                        
        MOV TL0,#0B0H
        MOV TH0,#3CH        
        PUSH PSW        
        MOV A,COUNT        
        INC A        
        MOV COUNT,A        
        CJNE A,#20,T0RE
        MOV A,#00H;
        MOV COUNT,A        
        MOV A,SEC        
        INC A        
        MOV SEC,A        
        CJNE A,#60,T0RE
        MOV A,#00H
        MOV SEC,A        
        INC AX
T0RET: POP PSW   
           RETI         
DELAY:                        
           MOV R1,#40
DELAY1:NOP                        
           DJNZ R1,DELAY1
           RET                                
TAB:
     DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,080H,090H
END

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表