Ⅰ 如何實現51單片機的按鍵k1按下,LED流水燈向右移動,按鍵k2被按下,LED流水燈向左移動
51單片機實現方法:
按鍵控制標志位flag取反。
然後把下面的代碼放到循環里:
U8 temp0 = 1。
U8 temp1 = 0x80。
U8 i = 0。
if(flag == 1)。
{。
for(i=0;i<8;i++)。
{。
P1=temp0<<i。
}。
}。
else。
{。
for(i=0;i<8;i++)。
{。
P1=temp1>>i。
}。
}。
}。
對控制LED口的寄存器進行位操作,按k1左移,按K2就是右移了。
51單片機是對兼容英特爾8051指令系統的單片機的統稱。51單片機廣泛應用於家用電器、汽車、工業測控、通信設備中。因為51單片機的指令系統、內部結構相對簡單,所以國內許多高校用其進行單片機入門教學。
51單片機的特點:
同樣的一段程序,在各個單片機廠家的硬體上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51,PHILIPS,和WINBOND等,我們常說的已經停產的89C51指的是ATMEL公司的AT89C51單片機。
同時是在原基礎上增強了許多特性,如時鍾,更優秀的是由Flash(程序存儲器的內容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對於8051已經算是非常優越的了。
Ⅱ 51單片機用按鈕控制流水燈左右移動
硬體電路不用指定嗎?
http://blog.163.com/asm_c/blog/static/2482031132014485270627/
參考。
Ⅲ 單片機八個流水燈左右依次點亮
首先,打開proteus,可以看到界面上方有"庫",點開,在庫里選擇做實驗需要的元件。
如圖所示,我們做流水燈實驗所需要的元件,就是紅色方框裡面的元件,一定都要添加進來,要不然實驗就做不成功。
接著,我們按照電路原理圖,排布好元件,連好線,最後的電路如圖所示。
我們把實驗代碼插入單片機,然後點擊界面左下角的開始按鈕,就可以運行電路。
如圖所示,八個流水燈依次點亮。
Ⅳ 關於單片機流水燈左移右移的問題
51單片機
的左移右移,首先在開始要調用"intrins.h"的文件包,這個文件包含_cror_(右移),_crol_(左移);然後通過for語句來控制;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(k=250;k>0;k--);
理解這三句,第一句是指:m=20;m>0然後m--是真就執行:
for(n=20;n>0;n--)
for(k=250;k>0;k--);
這兩句,m--一直減,減一次,裡面就執行一次,這里是20次。
流水燈的左右移,第一用"intrins.h"的文件包,第二要要會定義賦值變數,第三延時,這是關鍵。