定时顺序控制程序  -51单片机

这是我们的考试题,单片机高手速进来,....谢谢!!!!!

题目:采用80c51单片机和四只发光二极管,要求使四只发光二极管每秒亮一只,依次发光。
然后在第五秒全亮,第六秒全灭。以此顺序循环。要求采用T1计时功能方式一。
要汇编语言的,其他我就不多说咯,要完整的程序,我压上咯我仅有的家当咯!!!~~~谢谢!
很急~~~~高手请来~~~

悬赏分:30 - 解决时间:2009-12-22 16:21
;==========================
最佳答案:
;--------------------------
;程序如下:

      ORG   0000H
      SJMP  START
      ORG   001BH
      SJMP  INT_T1
;--------------------------
START:
      MOV  TMOD, #10H      ;T1定时
      MOV  TH1, #3CH
      MOV  TL1, #0B0H      ; 50ms @ 12MHz
      SETB TR1
      SETB ET1
      SETB EA
      MOV  R2, #0
      MOV  R3, #20
      CLR  PSW.5
;--------------------------
_0_:  JNB  PSW.5, $        ;不到1s,原地转移,等待
      CLR  PSW.5           ;清除标志
_1_:  CJNE R2, #1, _2_     ;R2不等于1,转移
      CLR  P1.0            ;此处编写“第一秒”,应该执行的程序
      SJMP _0_
_2_:  CJNE R2, #2, _3_     ;R2不等于2,转移
      CLR  P1.1            ;此处编写“第二秒”,应该执行的程序
      SJMP _0_
_3_:  CJNE R2, #3, _4_
      CLR  P1.2
      SJMP _0_
_4_:  CJNE R2, #4, _5_
      CLR  P1.3
      SJMP _0_
_5_:  CJNE R2, #5, _6_
      CLR  P1.4
      SJMP _0_
_6_:  CJNE R2, #6, _7_
      MOV  P1, #0          ;到了第六秒,全亮
      SJMP _0_
_7_:  MOV  P1, #255        ;到了第七秒,全灭
      MOV  R2, #0          ;秒计数器清零,下次从“第一秒”重新开始
      SJMP _0_
;--------------------------
INT_T1:                    ; 50ms中断一次
      MOV  TH1, #3CH
      MOV  TL1, #0B0H      ; 50ms @ 12MHz
      DJNZ R3, _EXIT_      ;不够20次,退出
      MOV  R3, #20
      SETB PSW.5           ;设置“到了1s”的标志位
      INC  R2              ;秒数加一
_EXIT_:
      RETI
END
;==========================

回答者:    做而论道 - 十一级   2009-12-21 23:55
提问者对于答案的评价:他的回答,非常准确!!!很合题意!!!在程序上可以看出有很高的造诣~~~而且思路也很清晰!!!

原题网址:http://zhidao.baidu.com/question/130272123.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值