| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:单片机编程问题,仿真的时候出现几个问题求解
只看楼主 加入收藏
mcuchengxu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-6-20
收藏
 问题点数:0 回复次数:3 
单片机编程问题,仿真的时候出现几个问题求解
我编的是12小时倒计时程序,仿真出现了以下问题1:时分秒倒计时出现16进制情况,初始状况显示11:60:60开始运行后出现11:60:65秒位依次出现65,64,63,62,61,60,59......52,51,50,55,54,53,52,51,50,49,49...依次如此,分钟时钟也同。问题2:时钟到1后我认为即使出现1的问题也应该跳变15,但是却跳变65....
   我的程序如下:         ORG  0000H
      AJMP MAIN
      ORG  000BH
      LJMP  START
MAIN: MOV  R0,#011H
      MOV  A,R0
      ADD  A,#00H
      DA   A
      MOV  P0,A
      MOV  R1,#02H
      MOV  A,R1
      ADD  A,#00H
      DA   A
      MOV  P1,A
      MOV  R2,#60H
      MOV  A,R2
      ADD  A,#00H
      DA   A
      MOV  P2,A
      MOV  TMOD,#01H
      MOV  TL0,#0E0H
      MOV  TH0,#0B1H
      MOV  R3,#32H
      SETB  TR0
      SETB  ET0
      SETB  EA
      SJMP  $
START:MOV TL0,#0E0H
      MOV TH0,#0B1H
      DJNZ R3,DELAY
      MOV R3,#32H
      MOV  A,R2
      ADD  A,#00H
      DA   A
      DEC  A
      MOV R2,A
      CJNE A,#00H,J0
      MOV  R2,#59H
      MOV  A,R2
      ADD A,#00H
      DA  A
      MOV  P2,A
      LJMP K0
K0:   
      MOV A,R1
      DEC A
      MOV R1,A
      CJNE  A,#00H,J1
      MOV  R1,#59H
      MOV  A,R1
      ADD  A,#00H
      DA   A
      MOV  P1,A
      LJMP  K1
K1:   
      MOV A ,R0
     
      DEC  A
      MOV R0,A
      CJNE  A,#00H,J2
      LJMP  START
J0:   MOV  A,R2
      ADD  A,#00H
      DA   A
      MOV P2,A
      LJMP START
J1:   MOV A,R1
      ADD A,#00H
      DA  A
      MOV P1,A
      
      LJMP  START
J2:   MOV  A,R0
      ADD  A,#00H
      DA   A
      MOV  P0,A
      LJMP  START
DELAY:RETI
      END                             高手指点下啊!!!!
搜索更多相关主题的帖子: 单片机 问题求解 仿真 
2010-06-22 11:33
mcuchengxu
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-6-20
收藏
得分:0 
回复 楼主 mcuchengxu
额 ,提问中多打了个49。。。。还有在START中第一个DA  A语句...去掉后才出现提问中问题。如果不去掉就出现秒钟65   64  63   62   61  65  64  63  62  61  无限循环....
2010-06-22 11:42
walshao
Rank: 1
等 级:新手上路
帖 子:10
专家分:6
注 册:2010-8-31
收藏
得分:0 
12小时倒计时 时钟也应该是跳11噻 怎么是15

Life is not fair, get used to it.
2010-08-31 15:55
walshao
Rank: 1
等 级:新手上路
帖 子:10
专家分:6
注 册:2010-8-31
收藏
得分:0 
回复 楼主 mcuchengxu
大概看了一下你程序~~~
秒进行DAA运算时,AF=1,此时AL=AL+6 所以说你的计数初值是66H 所以才会从65开始。。maybe!
其他没看

Life is not fair, get used to it.
2010-08-31 16:41
快速回复:单片机编程问题,仿真的时候出现几个问题求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028674 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved