實現流水燈的方式有很多種(中斷,定時器,延時等等),看用哪種方式,最簡單的是延時做流水燈,那麽在死循環裏面增加按鍵檢測,判斷出有按鍵按下來時,再進入死循環,程序不往下走就可以暫停,再按跌出死循環。
#include //51系列單片機定義文件
#define uchar unsigned char //定義無符號字符
#define uint unsigned int //定義無符號整數
void delay(uint); //聲明延時函數
void main(void)
{
uint i;
uchar temp;
uint Flag1=0;? 按鍵標誌位bai
uint Flag2=0;
while(1)
{
Flag1 = keyscan();
if(Flag1==1)(Flag2=~Flag2); //如果壹旦檢測到壹次按鍵掃描就把標誌位2 打開;再次就關閉;
if(Flag2==1)// 如果標誌位打開就開始流水燈
{
temp=0x01; for(i=0;i<8;i++) //8個流水燈逐個閃動 {P1=~temp;
delay(100); //調用延時函數
temp<<=1;
}}
擴展資料:
單片機編程就是硬件是單片機,基於單片機進行的程序開發,在有周圍外設支持的情況下,用軟件來控制的部分通過單片機編程來實現。單片機能識別的語言是硬件語言即匯編,因此編程就是圍繞匯編來實現,有直接用匯編程序來編寫的,但是較難調試的編寫,特別是壹上規模就更不易實現,因此常用高級語言來寫然後通過編譯器轉化成匯編。
百度百科-單片機C語言編程