您的位置:首页 > 编程语言

51单片机定时器编程:这么简单的要求,不用大动干戈

2016-01-25 12:10 489 查看
51单片机定时器的汇编语言程序编程。

晶振为12M的,要求让一个LED灯亮两秒,灭两秒的小程序,最好附上详解,谢谢了

题目链接:http://zhidao.baidu.com/question/560173555.html

做而论道编程如下:      (2013-06-22 13:27 提问者采纳)

这么简单的要求,不用大动干戈。

看看下面的程序,是不是最简单:

    ORG   0000H
    SETB  TR0          ;启动T0
    MOV   R2, #250     ;定时计数初值
LOOP:
    MOV   TH0, #(8192 - 8000) / 32   ;定时8ms
    MOV   TL0, #(8192 - 8000) MOD 32
    JNB   TF0, $       ;等待8ms
    CLR   TF0
    DJNZ  R2, LOOP     ;每隔8ms,R2减一次一
    CPL   P1.0         ;R2为0则LED亮灭转换
    LJMP  0000H

END

本程序,已经实验成功。

提问者评价:谢谢!

==============================

汇编语言写程序,查找在内部RAM的30H~40H单元中是否有“$”,
如果有则将标志位F0H置1;否则清零

2011-10-12 15:06qing春de记忆 | 分类:汇编语言 | 浏览405次
刚学,急。

题目链接:http://zhidao.baidu.com/question/329074793.html

做而论道编程如下:     (2011-10-13 13:13 提问者采纳)

;解决这个简单的问题,只用一个寄存器R0(或R1)即可,不必兴师动众.

    ORG   0000H
    MOV   R0, #30H       ;查30H~40H单元,共17个单元.
    CLR   F0
LOOP:
    CJNE  @R0, #'$', LOOP1;不等于,则转移.
    SETB  F0     ;等于$,置一.
    SJMP  S_END  ;查到了,就应该结束了,不用再查了.

LOOP1:
    INC   R0
    CJNE  R0, #41H, LOOP ;查30H~40H单元,不到41H就继续查.

S_END:
    SJMP  $

END

提问者评价:谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: