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

標題: 雙向流水燈的最簡單程序 [打印本頁]

作者: dourencai    時間: 2017-10-22 12:30
標題: 雙向流水燈的最簡單程序

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

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

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

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

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

;==========================================================
//51單片機,讓8個led從頭亮到尾再從尾亮到頭,有沒有更簡單的方法呢。
//題目網(wǎng)址: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



作者: zhouzongjie    時間: 2017-11-4 20:11
很實用
作者: 行癡    時間: 2017-11-5 00:23
zhouzongjie 發(fā)表于 2017-11-4 20:11
很實用

很巧妙的一個程序!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1