標(biāo)題:
用C51單片機(jī)怎么做流水燈
[打印本頁]
作者:
123456說的方法
時(shí)間:
2017-10-7 16:52
標(biāo)題:
用C51單片機(jī)怎么做流水燈
用C51單片機(jī)怎么做流水燈
作者:
map0391
時(shí)間:
2017-10-7 18:53
借花獻(xiàn)佛
/**************************************************************************************
* LED流水燈實(shí)驗(yàn) *
實(shí)現(xiàn)現(xiàn)象:下載程序后LED呈現(xiàn)流水燈效果進(jìn)行左移右移滾動(dòng)
注意事項(xiàng):無
***************************************************************************************/
#include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include<intrins.h> //因?yàn)橐玫阶笥乙坪瘮?shù),所以加入這個(gè)頭文件
typedef unsigned int u16; //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;
#define led P0 //將P0口定義為led 后面就可以使用led代替P0口
/*******************************************************************************
* 函 數(shù) 名 : delay
* 函數(shù)功能 : 延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函 數(shù) 名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void main()
{
u8 i;
led=0x01;
delay(50000); //大約延時(shí)450ms
while(1)
{
/* for(i=0;i<8;i++)
{
P0=(0x01<<i); //將1右移i位,然后將結(jié)果賦值到P0口
delay(50000); //大約延時(shí)450ms
}
*/
for(i=0;i<7;i++) //將led左移一位
{
led=_crol_(led,1);
delay(50000); //大約延時(shí)450ms
}
for(i=0;i<7;i++) //將led右移一位
{
led=_cror_(led,1);
delay(50000); //大約延時(shí)450ms
}
}
}
作者:
Larya
時(shí)間:
2017-10-7 19:22
去百度文庫找教程,或者看郭天祥的《新概念51單片機(jī)》入門,用proteus仿真或者淘寶買一塊片子。
作者:
fyh0826
時(shí)間:
2017-10-7 20:07
網(wǎng)上一搜一大堆例程
作者:
亞洲大陸TS
時(shí)間:
2017-10-7 20:36
很簡單,STC-ISP下載軟件同時(shí)也提供了很多資料,打開軟件,跳到 范例程序---》選擇相應(yīng)的單片機(jī)
如果你是新手,不知道軟件在哪里下,可以打開這個(gè)鏈接www點(diǎn)gxwmcu點(diǎn)com (這是STC官網(wǎng))
然后跳到 STC-ISP下載編程燒錄軟件,下載軟件就可以了
作者:
丁大寶
時(shí)間:
2017-10-7 22:03
是用單片機(jī)嘛?就用循環(huán)就可以了
作者:
zl2168
時(shí)間:
2017-10-7 22:20
網(wǎng)上一大堆,自己去搜。
作者:
luohe2008
時(shí)間:
2017-10-7 22:36
/************************************
*實(shí)驗(yàn)名:流水燈
*實(shí)驗(yàn)效果:流水燈(循環(huán)移位)
*************************************/
#include<reg52.h>
#include<intrins.h>
#include"delay.h"
void main()
{
P1 = 0xfe;//1111 1110
while(1)
{
delay(500);
P1 =_crol_(P1,1);/*將P1循環(huán)左移1位*/
}
}
作者:
luohe2008
時(shí)間:
2017-10-7 22:36
www點(diǎn)yahboom點(diǎn)com/build.html?id=111&cid=33
請(qǐng)看這里
作者:
acd12
時(shí)間:
2017-10-7 23:39
流水燈
流水燈.rar
2017-10-7 23:39 上傳
點(diǎn)擊文件名下載附件
13.19 KB, 下載次數(shù): 3
作者:
repluser
時(shí)間:
2017-10-8 09:21
* 實(shí) 驗(yàn) 名 : 流水燈實(shí)驗(yàn)
* 實(shí)驗(yàn)說明 : 延時(shí)實(shí)現(xiàn)LED流水燈效果P2口八個(gè)燈作跑馬燈。采用了寄存器存中間數(shù)
* 連接方式 : 見接線圖
* 注 意 :
*******************************************************************************/
//--包含你要使用的頭文件
#include <reg52.h> //此文件中定義了51的一些特殊功能寄存器
#include <intrins.h>
//--聲明全局函數(shù)--//
void Delay10ms(unsigned int c); //延時(shí)10ms
/*******************************************************************************
* 函 數(shù) 名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
main()
{
unsigned char LED;
LED = ~0xfe; //0xfe = 1111 1110
while (1)
{
P0 = LED;
Delay10ms(50);
LED = LED << 1; //循環(huán)右移1位,點(diǎn)亮下一個(gè)LED "<<"為左移位
if (P0 == 0x00) //當(dāng)它全滅的時(shí)候,重新賦值
{
LED = 0xfe; // 0xfe = 1111 1110
}
}
}
/*******************************************************************************
* 函 數(shù) 名 : Delay10ms
* 函數(shù)功能 : 延時(shí)函數(shù),延時(shí)10ms
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void Delay10ms(unsigned int c) //誤差 0us
{
unsigned char a, b;
//--c已經(jīng)在傳遞過來的時(shí)候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
作者:
kongdexiang
時(shí)間:
2017-10-8 15:18
百度一下,你就知道
作者:
1402387648
時(shí)間:
2017-10-8 16:23
/**************************************************************************************
* LED閃爍的簡單試驗(yàn) *
* 延時(shí)實(shí)現(xiàn)p2口LED流水燈效果 (用循環(huán)移位指令) *
* 連接方法: JP11(P2)和JP1(LED燈) 用8PIN排線連接起來 *
* *
***************************************************************************************/
#include <reg51.h> //此文件中定義了51的一些特殊功能寄存器
#include <intrins.h>
void delayms(unsigned char ms)
// 延時(shí)子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char LED;
LED = 0xfe; //0xfe = 1111 1110
while(1)
{
P2 = LED;
delayms(250);
LED = LED << 1; //循環(huán)右移1位,點(diǎn)亮下一個(gè)LED "<<"為左移位
if(P2 == 0x00 ) {LED = 0xfe; } // 0xfe = 1111 1110
}
}
作者:
sp150
時(shí)間:
2017-10-8 19:13
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
uint a,b,c;
void main()
{
P1=0xff; //左到右
P1=0xfe;
for(a=0;a<20000;a++);
b=7;
while(b--)
{
P1=_cror_(P1,1);
for(a=0;a<20000;a++);
}
P1=0xff;
P3=0xfe;
for(a=0;a<20000;a++);
b=7;
while(b--)
{
P3=_cror_(P3,1);
for(a=0;a<20000;a++);
}
P3=0xff;
P2=0xfe;
for(a=0;a<20000;a++);
b=7;
while(b--)
{
P2=_cror_(P2,1);
for(a=0;a<20000;a++);
}
P2=0xff;
P0=0x7f;
for(a=0;a<20000;a++);
b=7;
while(b--)
{
P0=_cror_(P0,1);
for(a=0;a<20000;a++);
} //
//
P0=0xff; //全亮全滅
P2=0xff;
P3=0xff;
P1=0xff;
for(a=0;a<20000;a++);
P0=0x00;
for(a=0;a<20000;a++);
P2=0x00;
for(a=0;a<20000;a++);
P3=0x00;
for(a=0;a<20000;a++);
P1=0x00;
for(a=0;a<20000;a++);
P0=0xfe; //從右向左追趕
for(a=0;a<10000;a++);
b=7;
while(b--)
{
P0=_crol_(P0,1);
for(a=0;a<10000;a++);
}
P0=0xff;
P2=0x7f;
for(a=0;a<10000;a++);
b=7;
while(b--)
{
P2=_crol_(P2,1);
for(a=0;a<10000;a++);
}
P2=0xff;
P3=0x7f;
for(a=0;a<10000;a++);
b=7;
while(b--)
{
P3=_crol_(P3,1);
for(a=0;a<10000;a++);
}
P3=0xff;
P1=0x7f;
for(a=0;a<10000;a++);
b=7;
while(b--)
{
P1=_crol_(P1,1);
for(a=0;a<10000;a++);
}
P0=0xfe; //上收放,下收放
P1=0xfe;
b=7;
while(b--)
{
P0=_crol_(P0,1);
P1=_cror_(P1,1);
for(a=0;a<10000;a++);
}
P0=0xff;
P1=0xff;
P2=0x7f;
P3=0xfe;
b=7;
while(b--)
{
P2=_cror_(P2,1);
P3=_crol_(P3,1);
for(a=0;a<10000;a++);
}
P2=0xff;
P3=0xff;
P2=0xfe;
P3=0x7f;
b=7;
while(b--)
{
P2=_crol_(P2,1);
P3=_cror_(P3,1);
for(a=0;a<10000;a++);
} //
P2=0xff;
P3=0xff;
P0=0x7f;
P1=0x7f;
b=7;
while(b--)
{
P0=_crol_(P0,1);
P1=_cror_(P1,1);
for(a=0;a<10000;a++);
}
P0=0xff;
P1=0xff; //
}
作者:
aaaw
時(shí)間:
2017-10-8 20:08
簡單的程序設(shè)計(jì),網(wǎng)上有教程
作者:
春風(fēng)十里吹
時(shí)間:
2019-2-25 03:37
壇子里一大堆例程
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1