單片機C語言「_crol_」 與「_cror_」的用法

2020-12-06 電子產品世界

「_crol_」 與「_cror_」其實就是左右循環代碼,其具有程序代碼簡單執行效率高的優點!

現實中的應用很多,例如我們經常見到的流水燈,廣告牌,馬路上的紅綠燈 等。。。
下面是最基本的流水燈代碼,流水燈移動的快慢可以改變「void delay()」子程序進行修改,例如:你選用的是20M的精震,你要改成一秒移動一格,那麼你就將「for(x=50;x>0;x--)」和「for(y=100;y>0;y--)」的X值和Y值改成500! 改變方向更加簡單,只需將「_crol_」 與「_cror_」的代碼互換就可以了!

本文引用地址:http://www.eepw.com.cn/article/201612/324367.htm

下面是程序代碼「

#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint temp1;
uchar i;
void delay();
void main()
{
temp=0xfe;
temp1=0x7f;
while(1)
{

for(i=0;i<8;i++)
{
P0=temp;
temp=_crol_(temp,1);
delay();
}
for(i=0;i<8;i++)
{
P0=temp1;
temp1=_cror_(temp1,1);
delay();
P0=temp;
}
}
}
void delay()
{
uint x,y;
for(x=50;x>0;x--)
for(y=100;y>0;y--);
}


相關焦點

  • 單片機的C語言中數組的用法
    數組在C51語言的地位舉足輕重,因此深入地了解數組是很有必要的。下面就對數組進行詳細的介紹。(1)一維數組本文引用地址:http://www.eepw.com.cn/article/201611/320327.htm一維數組是最簡單的數組,用來存放類型相同的數據。數據的存放是線性連續的。
  • 單片機c語言教程:C51運算符和表達式
    如果你是個DELPHI 編程愛好者或是DELPHI程式設計師,你對變量的定義也許習慣了DELPHI 的關鍵字,如 int 類型常會用關鍵字Integer來定義,在用 單片機c語言時你還想用回這個的話,你能這樣寫:本文引用地址:http://www.eepw.com.cn/article/170888.htmtypedef int integer;
  • 單片機C語言程序設計:INT0 中斷計數
    關鍵字:單片機  C語言  程序設計  INT0  中斷計數 編輯:什麼魚 引用地址:http://news.eeworld.com.cn
  • 步進電機控制程序(c語言+51單片機)
    51單片機相關文章:51單片機教程 c語言相關文章:c語言教程
  • 單片機c語言教程:運算符和表達式(關係運算符)
    單片機C語言中有六種關係運算符,這些東西同樣是在我們小時候學算術時就已經學習過了的:本文引用地址:http://www.eepw.com.cn/article/170887.htm> 大於< 小於>= 大於等於<= 小於等於== 等於
  • 單片機控制TFT液晶屏顯示數字
    在本期配刊光碟中有上一期用ATmega16控制液晶顯示屏的源程序,將其中的ICd.c和lod.H拷貝到第7期例程psmanager的目錄裡,並用ICCAVR打開工程psrnanager,然後分別將Icd.c和Icd.h加入工程,如下圖所示。
  • 51單片機基礎剖析(基於C語言)
    處於SMALL模式下的函數參數和局部變量位於8051單片機內部RAM中,處於COMPACT和LARGE模式下的函數參數和局部變量則使用單片機外部RAM。在定義一個函數時可以明確指定該函數的存儲器模式。方法是在形參表列的後面加上一存儲模式。
  • 如何利用單片機高級C語言編制應用程式
    1前言 在隧道窯溫度控制系統、自助式寄存櫃等多個實際應用中,我們利用單片機高級C語言編制應用程式,滿足了用戶對各項性能參數的不同要求。下面以一實例,介紹C語言在應用程式設計上的優點。 2系統結構 系統由電器和機械兩部分組成。
  • 單片機C語言實現求平方根算法
    C語言中要求平方根,可以在頭文件中加入#include <math.h>.然後調用sqrt(n);函數即可。但在單片機中調用此函數無疑會耗費大量資源和時間,是極不合適的。在此,總結下網上常見的四種單片機常用開方根算法:對於擁有專門的乘除法指令的單片機,可採用以下兩種方法:1、二分法對於一個非負數n,它的平方根不會小於大於(n/2+1)(謝謝@linzhi-cs提醒)。在[0, n/2+1]這個範圍內可以進行二分搜索,求出n的平方根。
  • C語言在單片機開發中的應用
    在單片機的開發應用中,已逐漸開始引入高級語言,C語言就是其中的一種。對用慣了彙編的人來說,總覺得高級語言』可控性』不好,不如彙編那樣隨心所欲。但是只要我們掌握了一定的C語言知識,有些東西還是容易做出來的,以下是筆者實際工作中遇到的幾個問題,希望對初學C51者有所幫助。一、C51熱啟動代碼的編制對於工業控制計算機,往往設有有看門狗電路,當看門狗動作,使計算機復位,這就是熱啟動。
  • 單片機C語言開發離不開它——秒懂二進位和十六進位
    單片機C語言開發離不開它--秒懂二進位和十六進位作為單片機愛好者,入門學習單片機編程一定要學會進位的基本概念,常見的有(二進位、八進位、十進位、十六進位),今天於曉超帶大家入門一下單片機C語言編程的二進位和十六進位(技術文章閱讀量慘澹,希望大家能夠點讚收藏加轉發,感謝)。
  • 單片機常用的14個C語言算法
    一、計數、求和、求階乘等簡單算法   此類問題都要使用循環,要注意根據問題確定循環變量的初值、終值或結束條件,更要注意用來表示計數、和、階乘的變量的初值。 ",&b); printf("\n"); ia=0;ib=0;ic=0; while(ia<10&&ib<10) { if(a[ia]<b[ib]) { c[ic]=a[ia];ia++;} else { c[ic]=b[ib];ib++;} ic++; } while(ia<
  • PIC單片機CCS之C語言(#USE DELAY的用法)
    例子:#use delay(clock=20000000)#use delay(clock=32000,RESTART_WDT)例子文件:ex_sqw.c;該文件在前面已經敘述過了
  • R語言中的next語句和break語句的具體用法
    我們知道在像C語言,C#語言,Java語言中可以分別使用continue語句和break語句來實現,那麼在R語言中也是這樣的嗎?回答是不完全是這樣的。在R語言中要終止某一次循環要使用next來實現,要終止整個循環就可以使用break語句來實現。
  • C語言之const和volatile"究極"學習
    關於const的用法,現在大概前前後後應該寫了有兩篇文章,以前學習的時候,用法體會不是那麼深刻,為啥這麼說呢,因為在學習c++的時候,會發現const關鍵字有新的玩法,關於這個新的玩法,大家可以去看最近學習總結寫的c++文章專輯。
  • ARM中ADS環境下C語言和彙編語言混合編程及示例
    用法如下:__asm{instruction [; instruction]}或 asm(instruction  [; instruction])。  下面是一個例子來說明如何在C中內嵌彙編語言  C語言文件.c httphi.baidu.comprocatlaw  #include stdio.h  void my_strcpy(const char src, char dest){  char ch;  __asm{  loop
  • 電子工程師自學速成——單片機技術和電路繪圖設計
    【您還可以試著發送:「ARM、PCB、STM32、汽車電子、機器人、電源、電機、嵌入式、信號系統、模電、華為、哈佛、Python、電子學、視頻教程、660、開關電源、機電、電路、c語言、通信、功放、51、tvs、wifi、程序」獲取更多資料包  】 內容包括單片機技術和
  • 「C語言從入門到入土」必備C語言基礎筆記整理
    一、C語言1、什麼是C語言?C語言是人寫機器看的一種語言。C語言是高級語言中的低級語言。C語言貼近硬體。C語言的入門學習比較簡單。彙編語言——>B語言——>C語言2、C語言的特性首先C語言就是你的女朋友。無論你讓它幹什麼,它絕對不會自己找到方法。
  • C語言怎麼樣?今天聊聊C語言的發展史!
    第一個C語言編譯器是怎樣編寫的? 不知道你有沒有想過,大家都用C語言或基於C語言的語言來寫編譯器,那麼世界上第一個C語言編譯器又是怎麼編寫的呢?這不是一個「雞和蛋」的問題…… 回顧一下C語言歷史:Tomphson在BCPL的基礎上開發了B語言,Ritchie又在B語言的基礎上成功開發出了現在的C語言。
  • 深入理解C語言
    導讀:Dennis Ritchie過世了,他發明了C語言,一個影響深遠並徹底改變世界的計算機語言。一門經歷40多年的到今天還長盛不訓的語言,今天很多語言都受到C的影響,C++,Java,C#,Perl,PHP,Javascript等等。但是,你對C了解嗎?相信你看過本站的《C語言的謎題》還有《誰說C語言很簡單?》。