找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这个单片机数码管倒计时程序太快了 怎么变慢?

[复制链接]
跳转到指定楼层
楼主
ID:302943 发表于 2018-7-5 19:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 0000H
LJMP MAIN
ORG 0040H
SH_C  EQU 41H
G_C   EQU 42H
SECOND EQU 43H
DULA BIT P2.6;
WELA BIT P2.7;

ORG   0100H
MAIN:   
         MOV  A,SECOND
         CJNE A,#0,LOOP1
         MOV SECOND,#60;
LOOP1:   MOV A,SECOND
         MOV B,#10
         DIV AB

         MOV SH_C,A
         MOV G_C,B     
         MOV 30H,#40H
LOOP:    CALL DISPLAY
         DJNZ 30H,LOOP
         DEC SECOND
                 CALL DELAYXMS1
         AJMP MAIN
DELAYXMS1:MOV R0,#8
    L1:MOV R1,#250
    L2:MOV R2,#250
       DJNZ R2,$
       DJNZ R1,L2
       DJNZ R0,L1
       RET


DELAYXMS:MOV 52H,#250         ;50H,51H,52H用于延时  50H为参数X  延时1*X MS
DELAYA: MOV 51H,#250
        MOV 50H,#200
        NOP
        DJNZ 51H,$
        DJNZ 52H,DELAYA
        DJNZ 50H,DELAYXMS
        RET ;延时返回

DISPLAY:                        ;显示程序
   MOV DPTR,#TABL
   CLR DULA;
   MOV A,SH_C
   MOVC A,@A+DPTR
   MOV P0,A                 ;显示十位
   SETB DULA;
   CLR DULA;
   CLR WELA;
   MOV P0,#7EH;
   SETB WELA;
   CLR WELA;
   MOV 50H,#200
   CALL DELAYXMS
   MOV A,G_C
   MOVC A,@A+DPTR
   MOV P0,A ;                ;显示个位
   SETB DULA;
   CLR DULA;
   MOV P0,#7DH;
SETB WELA;
   CLR WELA;
   MOV 50H,#200
   CALL DELAYXMS
   RET
TABL: DB   3FH,06H,5BH,4FH,66H,6DH,7DH,07H                                
      DB   7FH,6FH,77H,7CH,39H,5EH,79H,71H

          END
已完成倒计时,只是太快,求1s变化一次。

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

使用道具 举报

沙发
ID:142045 发表于 2018-7-6 11:22 | 只看该作者
DELAYXMS:MOV 52H,#250         ;50H,51H,52H用于延时  50H为参数X  延时1*X MS
DELAYA: MOV 51H,#250
        MOV 50H,#200
        NOP
        DJNZ 51H,$
        DJNZ 52H,DELAYA
        DJNZ 50H,DELAYXMS
        RET ;延时返回

更改上述延时语句,可以下载个单片机小精灵使用。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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