『壹』 單片機流水燈程序(c語言的) 求大蝦!!! 萬分感謝!!!!
這個還不簡單啊?8個燈剛好用一個IO口就夠了啊,比如用P1口,高四位控制左邊四個燈,低四位控制右邊的四個燈,然後就用一個簡單的循環位移就夠了啊,循環左移_crol_(),循環_cror_()用這兩個函數就可以了,分別移動4位,當然循環用定時器控制它的速度,也可以用延時的方法delay(),按鍵的控制就是當按下的時候如果原來是左移那麼就改用右移,反之亦然。就這么簡單,幾條語句就能實現,不懂可以交流……
『貳』 單片機流水燈程序
程序如下:
#include <reg52.h>
sbit led1 = P2^0;
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3。
讓電子信息技術與單片機技術相融合,有效提高了單片機應用效果。作為計算機技術中的一個分支,單片機技術在電子產品領域的應用,豐富了電子產品的功能,也為智能化電子設備的開發和應用提供了新的出路,實現了智能化電子設備的創新與發展。
從二十世紀九十年代開始,單片機技術就已經發展起來,隨著時代的進步與科技的發展,目前該技術的實踐應用日漸成熟,單片機被廣泛應用於各個領域。現如今,人們越來越重視單片機在智能電子技術方面的開發和應用,單片機的發展進入到新的時期。
無論是自動測量還是智能儀表的實踐,都能看到單片機技術的身影。當前工業發展進程中,電子行業屬於新興產業,工業生產中人們將電子信息技術成功運用。
『叄』 求一單片機流水燈程序,C編寫的。
P3.7 連接按鍵,P1 外接 LED。
沒有使用中斷。
8個led的點亮方式用數組保存。
--3種不同的點亮方式。
--點亮方式僅僅是一個數字(0、1、2)而已,還用數組保存?
--用變數 mode 保存即可。
#include<reg51.h>
#include<intrins.h>
sbit key = P3^7;
unsigned char kc, kb, kz, mode = 2, aa = 0xff;
void delay10ms(void)
{
unsigned int i, j;
for (i = 0; i < 60; i++) for (j = 0; j < 20; j++);
kc = ~key;
kz = kc ^ kb;
kb = kc;
if (kz & kb) {
mode++;
mode %= 3;
if (mode == 0) aa = 0x7f; //3種方式
if (mode == 1) aa = 0x3f;
if (mode == 2) aa = 0x1f;
}
}
main()
{
char i;
while(1) {
for (i = 0; i < 50; i++) {
delay10ms();
if (kz & kb) break;
}
P1 = aa;
aa = _cror_(aa, 1);
}
}
本程序給出的三種方式,顯得簡陋了一些。
試試看吧。
『肆』 單片機流水燈C語言程序(8個燈,依次點亮每個燈,延時500MS)
單片機流水燈C語言程序的源代碼如下:
#include //51系列單片機定義文件
#define uchar unsigned char //定義無符號字元
#define uint unsigned int //定義無符號整數
void delay(uint); //聲明延時函數
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8個流水燈逐個閃動
{
P1=~temp;
delay(100); //調用延時函數
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8個流水燈反向逐個閃動
{
P1=~temp;
delay(100); //調用延時函數
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8個流水燈依次全部點亮
{
P1=temp;
delay(100); //調用延時函數
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8個流水燈依次反向全部點亮
{
P1=temp;
delay(100); //調用延時函數
temp>>=1;
}
void delay(uint t) //定義延時函數
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
(4)單片機流水燈代碼擴展閱讀
51單片機流水燈的源代碼如下
#include<reg51.h>
#include<intrins.h>
voiddelay(inta)
{
inti;
while(a--)for(i=0;i<110;i++);
}
main()
{
inti;
while(1)
{
P0=0xfe;
for(i=0;i<8;i++)
{
P0=_crol_(P0,1);
delay(500);
}
}
}
『伍』 很簡的51單片機C語言流水燈程序
1、51單片機C語言實現循環8個流水燈左移三次,後右移三次。
常式:
#include<reg51.h> //51單片機頭文件
#include <intrins.h> //包含有左右循環移位子函數的庫
#define uint unsigned int //宏定義
#define uchar unsigned char //宏定義
sbit beep=P2^3;
void delay(uint z) //延時函數,z的取值為這個函數的延時ms數,如delay(200);大約延時200ms.
{ //delay(500);大約延時500ms.
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函數
{
uchar a,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變數循環右移一位
}
}
}
2、51單片機是對所有兼容Intel
8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8031單片機,後來隨著Flash
rom技術的發展,8031單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。
『陸』 單片機流水燈程序 16
#include<reg52.h>
#include <intrins.h>
void delayms(unsigned char ms) // 延時子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xff;
P0 = LED;
while(1)
{
delayms(1000);
LED = LED<<1; //循環右移1位,點亮下一個LED
if(LED==0x00)
{
LED=0xff;
}
P0 = LED;
}
}
『柒』 單片機流水燈c程序
經過模擬,程序沒有毛病,可以實現流水燈的效果。
keil軟體,也有時添亂,多實驗幾次,即可。
只是太快,可以加大延時的時間。
#include<reg52.h>
#include<intrins.h>
unsignedchara;
voidmain()
{
inti,j;
a=0xfe;
while(1){
a=_crol_(a,1);
P0=a;
for(i=250;i>0;i--)
for(j=1000;j>0;j--);//加一行
}
}
『捌』 單片機,流水燈c語言程序
P1_0==0時 ,key()是死循環,程序不會往下走的 ,P1_0==1時只會執行
if(k==0)
{
i=0x01;
for(j=0;j<8;j++)
{
P2=i;
P1_1=!P1_1;
i=(i<<1);
flay();
}