搜索
bottom↓
回复: 5

用51做时钟,帮我看看这ASM有什么不对,

[复制链接]

出0入0汤圆

发表于 2012-5-11 11:32:20 | 显示全部楼层 |阅读模式

     FIRST  BIT P1.0;定义四个数码管?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-5-11 11:33:01 | 显示全部楼层

     FIRST  BIT P1.0;定义四个数码管?
           SECOND BIT P1.1
           THREE  BIT P1.2
           FOUR   BIT P1.3

           MINUTE EQU 60H;中断内加1变量,用来计是不是到1S
          
           COUNT1 EQU 65H;分钟个位
           COUNT2 EQU 66H;分钟十位
           COUNT3 EQU 67H;小时个位
           COUNT4 EQU 68H;小时十位
           
  ONEMINUTE EQU 69H
     INII   EQU 70H
     COUNT5 EQU 71H  
         

          MOV INII,#0
          MOV ONEMINUTE,#200;定时多长时间为一秒
          MOV COUNT1,#0
          MOV COUNT2,#0
          MOV COUNT3,#0
          MOV COUNT4,#0
          
          
ORG 0000H
          AJMP START
ORG 00BH
          AJMP INTERRUPT
ORG 40H
  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
;;;显示代码;;;;;




   ORG 80H          
  START:                        
                                        MOV TMOD,#01H
                                        SETB EA         
                                        SETB TR0         
                                        SETB ET0       
                                        MOV TH0,#0EEH ;;定时器五豪秒
                                        MOV TL0,#00H                    
   LOOP:         
                                        MOV A,MINUTE
                                        CJNE A,#200,c1 ;5MS*200=1S,计数没有到1秒显示0000                       
                                        INC COUNT5
                                        AJMP DISPLAY

;;;;;interrupt;;;;;;;
INTERRUPT:
                                        MOV TH0,#0EEH
                                        MOV TL0,#00H
                                        INC MINUTE ;计数加1                                       
                                        RET
               
               
;;;;  数码管显示部分 ;;;;;

DISPLAY:
                 CLR MINUTE
                 MOV A,COUNT5
           CJNE A,#60,C1;计数是不是到1分钟
           MOV COUNT5,#0;计数1秒清0  
           
          INC COUNT1
       C1:MOV A, COUNT1
          CJNE A,#10,SHI;10minute         
          MOV COUNT1,#0;计数十分钟清0
           
          INC COUNT2
      C2: MOV A,COUNT2
          CJNE A,#6,BAI
          MOV COUNT2,#0;计数6十分钟清0
         
          INC COUNT3
      C3: MOV A,COUNT3
          CJNE A,#10,QIAN
          MOV COUNT3,#0 ;计数十小时清0
           
           INC COUNT4
      C4:  MOV A, COUNT4
           CJNE A,#2,WAN;如果24小时到,COUNT1,2,3,4都清0转到C1从重显示
           MOV A, COUNT3
           CJNE A,#4,WAN
           MOV COUNT4,#0
           MOV COUNT1,#0
           MOV COUNT2,#0
           MOV COUNT3,#0
           AJMP C1
    SHI:
          
                                   MOV A, COUNT1           
                                   MOV DPTR,#TABLE
                                   MOVC A,@A+DPTR          
                                   MOV P0,A     
                                   CLR FOUR
                                   LCALL DELAY
                                   SETB FOUR
                                   AJMP C2;转到第二个数码管显示
         
    BAI:
                             MOV A, COUNT2
                                   MOV DPTR,#TABLE
                                   MOVC A,@A+DPTR          
                                   MOV P0,A      
                                   CLR THREE
                                   LCALL DELAY
                                   SETB THREE
                             AJMP C3;转到第3个数码管显示

    QIAN:
      
           MOV A, COUNT3
           MOV DPTR,#TABLE
                                   MOVC A,@A+DPTR          
                                   MOV P0,A                
                                   CLR SECOND
                                   LCALL DELAY
                                   SETB SECOND
                                   AJMP C4;转到第4个数码管显示               

      WAN:
   
           MOV A,COUNT4
           MOV DPTR,#TABLE
                                   MOVC A,@A+DPTR          
                                   MOV P0,A
                                   CLR FIRST                 
                                   LCALL DELAY
                                   SETB FIRST
                                   AJMP LOOP;回主程序
   
                       
                                  
       
   ;;;;        延时;;;;;;;
  DELAY: MOV R7,#2
  D0:    MOV R6,#2
  D1:          DJNZ R6,D1
         DJNZ R7,D0                        
               RET







END

出0入0汤圆

 楼主| 发表于 2012-5-11 11:33:59 | 显示全部楼层
高手请指点一二,这个是哪里有问题,我也搞不太清楚

出0入0汤圆

发表于 2012-5-11 13:52:58 | 显示全部楼层
tuzhiquan 发表于 2012-5-11 11:33
高手请指点一二,这个是哪里有问题,我也搞不太清楚

什么现象嘛

出0入0汤圆

 楼主| 发表于 2012-5-11 15:00:06 | 显示全部楼层
就显示0000,不走时间

出0入0汤圆

发表于 2012-5-11 20:44:06 | 显示全部楼层
你没有把走动后的数据交送显示吧?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 02:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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