Ⅰ 51單片機C語言如何實現8個流水燈左移三次,後右移三次;如此循環
51單片機C語言實現循環8個流水燈左移三次,後右移三次。
常式:
#include<reg51.h>//51單片機頭文件
#include<intrins.h>//包含有左右循環移位子函數的庫
#defineuintunsignedint//宏定義
#defineucharunsignedchar//宏定義
sbitbeep=P2^3;
voiddelay(uintz)//延時函數,z的取值為這個函數的延時ms數,如delay(200);大約延時200ms.
{//delay(500);大約延時500ms.
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidmain()//主函數
{
uchara,i,j;
while(1)//大循環
{
a=0xfe;//賦初值
for(j=0;j<3;j++)for(i=0;i<8;i++)//左移三次
{
P1=a;//點亮小燈
beep=0;//開啟蜂鳴器
delay(50);//延時50毫秒
beep=1;//關閉蜂鳴器
delay(50);//再延時50毫秒
a=_crol_(a,1);//將a變數循環左移一位
}
a=0x7f;
for(j=0;j<3;j++)for(i=0;i<8;i++)//右移三次
{
P1=a;//點亮小燈
beep=0;//開啟蜂鳴器
delay(50);//延時50毫秒
beep=1;//關閉蜂鳴器
delay(50);//再延時50毫秒
a=_cror_(a,1);//將a變數循環右移一位
}
}
}
51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8031單片機,後來隨著Flash rom技術的發展,8031單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。
Ⅱ 利用<intrins.h>文件中的_crol_函數(循環左移函數)實現流水燈(共陽極)請將程序補充完整
temp=_crol_(oxef,1);
Ⅲ C語言中調用_nop_();應包含什麼頭文件
#include<intrins.h>
intrins.h一般出現在C51單片機編程中,一般程序中需要使用到空指令_nop_();字元循環移位指令_crol_等時使用。
這個頭文件中的其他函數:
_crol_ 字元循環左移
_cror_ 字元循環右移
_irol_ 整數循環左移
_iror_ 整數循環右移
_lrol_ 長整數循環左移
_lror_ 長整數循環右移
_nop_ 空操作 (相當於8051 NOP 指令)
_testbit_ 測試並清零位 (相當於8051 JBC 指令)
函數名: _crol_,_irol_,_lrol_
原 型:
unsigned char _crol_(unsigned char val,unsigned char n);
unsigned int _irol_(unsigned int val,unsigned char n);
unsigned int _lrol_(unsigned int val,unsigned char n);
Ⅳ C51中循環左移右移什麼指令
左移函數_crol_();
右移函數_cror_();
這兩指令都在頭文件<intrins.h>
Ⅳ 縐諱綅鎸囦護鍜屽驚鐜鎸囦護濡備綍鐞嗚В鍜屼嬌鐢錛
鍙浠ュ皢榪欏嚑涓鎸囦護鍒嗕負縐諱綅鎸囦護鍜屽驚鐜縐諱綅鎸囦護錛屽叾涓浣嶇Щ鎸囦護涓:SHL銆丼AL銆丼HR銆丼AR錛屽驚鐜浣嶇Щ鎸囦護涓猴細ROL銆丷CL銆丷CR銆丷CL錛屼粬浠鐨勫叿浣撶敤娉曞備笅錛
涓銆佷綅縐繪寚浠
鍏蜂綋鍚涔夛細SHL: 閫昏緫宸︾Щ錛汼AL: 綆楁湳宸︾Щ錛汼HR: 閫昏緫鍙崇Щ錛汼AR: 綆楁湳鍙崇Щ
鍏蜂綋鐢ㄦ硶錛歋HR:姣忎綅鍙崇Щ, 浣庝綅榪 CF, 楂樹綅琛 0錛汼AR錛氭瘡浣嶅彸縐, 浣庝綅榪 CF, 楂樹綅涓嶅彉錛屽畠浠鐨勭粨鏋滃獎鍝 OF銆丼F銆乑F銆丳F銆
鎵╁睍璧勬枡錛
鍙岀簿搴︾Щ浣嶆寚浠わ細386鍙婂叾鍚庣戶鏈哄瀷鍙浣跨敤鏈緇勬寚浠わ紝SHLD鍙岀簿搴﹀乏縐誨拰SHRD鍙岀簿搴﹀彸縐伙紝鏍煎紡錛歋HLD,DST,REG,CNT銆
榪欑粍鎸囦護鍙浠ュ彇涓や釜瀛椾綔縐諱綅鎿嶄綔鑰屽緱鍒頒竴涓瀛楃殑緇撴灉錛屼篃鍙浠ュ彇涓や釜鍙屽瓧浣滅Щ浣嶆搷浣滆屽緱鍒頒竴涓鍙屽瓧鐨勭粨鏋溿
鍦ㄧЩ浣嶄腑錛屼綔涓烘簮鎿嶄綔鏁扮殑瀵勫瓨鍣ㄦ彁渚涚Щ浣嶅礆紝浠ヨˉ鐩鐨勬搷浣滄暟鍥犵Щ浣嶅紩璧風殑絀虹己錛岃屾寚浠ゆ墽琛屽畬鎴愬悗錛屽彧鍙栫洰鐨勬搷浣滄暟浣滀負縐諱綅鐨勭粨鏋滐紝婧愭搷浣滄暟瀵勫瓨鍣ㄥ垯淇濇寔鎸囦護鎵ц屽墠鐨勫間笉鍙樸