1. 單片機流水燈程序
程序如下:
#include <reg52.h>
sbit led1 = P2^0;
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3。
讓電子信息技術與單片機技術相融合,有效提高了單片機應用效果。作為計算機技術中的一個分支,單片機技術在電子產品領域的應用,豐富了電子產品的功能,也為智能化電子設備的開發和應用提供了新的出路,實現了智能化電子設備的創新與發展。
從二十世紀九十年代開始,單片機技術就已經發展起來,隨著時代的進步與科技的發展,目前該技術的實踐應用日漸成熟,單片機被廣泛應用於各個領域。現如今,人們越來越重視單片機在智能電子技術方面的開發和應用,單片機的發展進入到新的時期。
無論是自動測量還是智能儀表的實踐,都能看到單片機技術的身影。當前工業發展進程中,電子行業屬於新興產業,工業生產中人們將電子信息技術成功運用。
2. 新手提問單片機流水燈程序
JNB P1.3,BBB(這個為什麼是P1.3? JNB語句是什麼作用?「JNB XX,YY」是什麼意思?)
RL A(這個操作怎麼改變地址?)
P1.3 這個埠是用來控制流水燈的流動方向的,比如 P1.3為低電平時流水燈向左移, P1.3為高時向右移。
JNB這個好像是如果不為0 就跳轉,比如JNB XX,YY,應該是如果 XX為0就跳到YY的標號外。在這里我不大記得這個指令的條件是為0還是非0了,你查一下手冊吧,不過這肯定是一個跳轉指令。
RL A 這個操作不改變地址,只是對寄存器 A進行了移位操作,使 A向左移一位。
3. 單片機流水燈程序設計
{unsigned long i;
for(i=0;i<70000;i++);
}
void main()
{
while(1)
{
unsigned int j,k;
{unsigned char led8[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
unsigned char led81[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
for(j=0;j<8;j++)
{P1=led8[j];
delay();
}
for(k=0;k<8;k++)
{P1=led81[k];
delay();
}
P1=0x00; //8個全亮(電流輸入的情況下,如果電流輸出驅動,亮滅兩個換一下)
delay();
P1=0xFF; //8個全滅
delay();
}
}
}
4. 學習單片機流水燈的步驟
學習單片機的第一個程序就是流水燈實驗學習單片機的第一個程序就是流水燈實驗學習單片機的第一個程序就是流水燈實驗學習單片機的第一個程序就是流水燈實驗!!!!學習語言的輸出學習語言的輸出學習語言的輸出學習語言的輸出的第一個程序就是的第一個程序就是的第一個程序就是的第一個程序就是 hello word! 這都是一個過程這都是一個過程這都是一個過程這都是一個過程!!!! 我們知道單片機執行的機器語言我們知道單片機執行的機器語言我們知道單片機執行的機器語言我們知道單片機執行的機器語言!!!!匯編就是其執行的根本的語言匯編就是其執行的根本的語言匯編就是其執行的根本的語言匯編就是其執行的根本的語言,,,,任任任任何程序的編譯最終還是要生成何程序的編譯最終還是要生成何程序的編譯最終還是要生成何程序的編譯最終還是要生成HEX語言語言語言語言,,,,匯編語言匯編語言匯編語言匯編語言~~!!!! 來回顯示來回顯示來回顯示來回顯示,,,,並且顯示時還會發出蜂嚀聲並且顯示時還會發出蜂嚀聲並且顯示時還會發出蜂嚀聲並且顯示時還會發出蜂嚀聲!!!! P1口接八個發光二極體口接八個發光二極體口接八個發光二極體口接八個發光二極體,,,,P2.3接一個蜂嚀器接一個蜂嚀器接一個蜂嚀器接一個蜂嚀器!!!! 一一一一....匯編語言匯編語言匯編語言匯編語言 mov r7,#8 main:mov r0,#8 ;一個循環需要移動一個循環需要移動一個循環需要移動一個循環需要移動8位位位位 mov p1,#01111111b ;初始為初始為初始為初始為P0.7燈點亮燈點亮燈點亮燈點亮 loop: clr p2.3 acall ds1ms ;延時延時延時延時,,,,以便人眼可以觀察到以便人眼可以觀察到以便人眼可以觀察到以便人眼可以觀察到 setb p2.3 acall ds1ms mov a,p1 ;讀讀讀讀P0口當前顯示的數據送到口當前顯示的數據送到口當前顯示的數據送到口當前顯示的數據送到A rr a ;將將將將A中的數據循環右移中的數據循環右移中的數據循環右移中的數據循環右移1位位位位 mov p1,a ;再將再將再將再將A中右移過的數據送到中右移過的數據送到中右移過的數據送到中右移過的數據送到P0 djnz r0,loop djnz r7,main ;移動不夠移動不夠移動不夠移動不夠8位位位位,,,,跳到跳到跳到跳到LOOP處循環處循環處循環處循環, ljmp rel ;流動流動流動流動1遍跳轉到遍跳轉到遍跳轉到遍跳轉到MAIN處循環流處循環流處循環流處循環流。。。。 ;---顯示延時顯示延時顯示延時顯示延時---------- ds1ms: mov r1,#1 ds1lo: mov r2,#200 ds2lo: mov r3,#200 djnz r3,$ djnz r2,ds2lo djnz r1,ds1lo ret ;延時返回延時返回延時返回延時返回 rel:end 二二二二.C語言語言語言語言 #include<reg52.h> unsigned char i; unsigned char temp; unsigned char a,b; void delay(void) //延時子程序延時子程序延時子程序延時子程序 { unsigned char m,n,s; for(m=20;m>0;m--) for(n=20;n>0;n--) for(s=248;s>0;s--); } void main(void) //主程序主程序主程序主程序 { while(1) //循環條件永遠為真循環條件永遠為真循環條件永遠為真循環條件永遠為真,,,,以下程序一直執行下去以下程序一直執行下去以下程序一直執行下去以下程序一直執行下去。。。。 { temp=0xfe; P1=temp; //直接對直接對直接對直接對I/O口口口口P1賦值賦值賦值賦值,,,,使使使使P1.0輸出低點平輸出低點平輸出低點平輸出低點平。。。。 delay(); //延時延時延時延時 for(i=1;i<8;i++) //實現廣告燈的移動實現廣告燈的移動實現廣告燈的移動實現廣告燈的移動 { a=temp<<i; b=temp>>(8-i); P1=a|b; delay(); } for(i=1;i<8;i++) //實現廣告燈的反方向移動實現廣告燈的反方向移動實現廣告燈的反方向移動實現廣告燈的反方向移動 { a=temp>>i; b=temp<<(8-i); P1=a|b; delay(); } } } 實驗很簡單實驗很簡單實驗很簡單實驗很簡單!!!!懂的朋友完全可以在此基礎上開發懂的朋友完全可以在此基礎上開發懂的朋友完全可以在此基礎上開發懂的朋友完全可以在此基礎上開發!!!!比如一個愛心的流比如一個愛心的流比如一個愛心的流比如一個愛心的流水燈水燈水燈水燈。。。。如果你看懂了這兩個程序如果你看懂了這兩個程序如果你看懂了這兩個程序如果你看懂了這兩個程序!!!!恭喜你恭喜你恭喜你恭喜你,,,,你已經入門你已經入門你已經入門你已經入門!!!!
5. 單片機流水燈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--);//加一行
}
}
6. 單片機流水燈編譯程序
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint z);
void main( )
{
temp=0xfe;
P1=0xfe;
while(1)
{
delay(600);
temp=_crol_(temp,1);
P1=temp;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
若有不理解的地方可以繼續問
7. 很簡的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單片機是基礎入門的一個單片機,還是應用最廣泛的一種。
8. 單片機流水燈程序 C語言
是用外部中斷?還是內部計時中斷?
9. 單片機流水燈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++);
}
(9)單片機流水燈程序擴展閱讀
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);
}
}
}