欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4580|回復: 2
打印 上一主題 下一主題
收起左側

雙向流水燈的最簡單程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:241782 發表于 2017-10-22 12:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

雙向流水燈也是常見的編程題目。

題目的基本要求并不難,很容易就可以編寫出來。

但是,如果要求代碼簡短、執行流暢、可維護性強,可就不那么容易了。而這些都是編寫大型程序的基礎。

在網上有兩個這樣的問題,一個要求使用C,另一個要求使用匯編。編程的要求如下:
//-----------------------------------
51單片機,讓8個led從頭亮到尾再從尾亮到頭,有沒有更簡單的方法呢。
要求用C語言編程。
題目網址:http://zhidao.baidu.com/question/370212478.html
//-----------------------------------
;------------------------------------
編程:使用單片機P1口控制8個LED。
顯示方式:自上而下逐個點亮,再自下而上逐個點亮,如此循環。
要用單片機的匯編語言,不要各種C。
題目網址:http://zhidao.baidu.com/question/316144728.html
;------------------------------------

做而論道回答了問題,雖然沒有得到提問者的青睞,但是做而論道自己還覺得程序是不錯的,就寫在這里吧。

;==========================================================
//51單片機,讓8個led從頭亮到尾再從尾亮到頭,有沒有更簡單的方法呢。
//題目網址:http://zhidao.baidu.com/question/370212478.html

//是不是下面這個最簡單:
//------------------------------------
#include<reg51.h>
#include<intrins.h>
void main (void)
{
    unsigned  char  mask = 1, j = 0;
    unsigned  int  i;
    while (1) {
      if (j < 7)  mask = _crol_(mask, 1);
      else        mask = _cror_(mask, 1);
      P1 = ~mask;  for(i = 0; i < 30000; i++);
      P1 = 0xff;   //for(i = 0; i < 10000; i++);
      j++;
      j = j % 14;
    }
}
//------------------------------------完
;===========================================================
;用匯編語言編程如下:

    ORG   0000H
    MOV   A, #7FH
    MOV   R2, #7
L:  JNB   F0, R
    RL    A
    JMP   O
R:  RR    A
O:  MOV   P1, A
    CALL  DL_500ms   ;延時500ms
    DJNZ  R2, L
    MOV   R2, #7
    CPL   F0
    JMP   L
;------------------------------------
DL_500ms:            ;延時500ms子程序
    MOV   R5,  #4
    MOV   R6,  #205
    MOV   R7,  #200
    DJNZ  R7,  $
    DJNZ  R6,  $ - 2
    DJNZ  R5,  $ - 4
    RET
;------------------------------------
END


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:245800 發表于 2017-11-4 20:11 | 只看該作者
很實用
回復

使用道具 舉報

板凳
ID:227466 發表于 2017-11-5 00:23 來自觸屏版 | 只看該作者
zhouzongjie 發表于 2017-11-4 20:11
很實用

很巧妙的一個程序!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表