新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)c語言教程:C51循環(huán)語句

單片機(jī)c語言教程:C51循環(huán)語句

作者: 時(shí)間:2012-09-12 來源:網(wǎng)絡(luò) 收藏

#include AT89X51.H>

#include stdio.h>

void main(void)

{

unsigned int I = 1;

unsigned int SUM = 0; //設(shè)初值

SCON = 0x50; //串行口方式 1,允許接收

TMOD = 0x20; //定時(shí)器 1 定時(shí)方式 2

TCON = 0x40; //設(shè)定時(shí)器 1 開始計(jì)數(shù)

TH1 = 0xE8; //11.0592MHz 1200 波特率

TL1 = 0xE8; TI = 1;

TR1 = 1; //啟動(dòng)定時(shí)器

while(I=10)

{

SUM = I + SUM; //累加

printf (%d SUM=%dn,I,SUM); //顯示

I++;

}

while(1); //這句是為了不讓程序完后,程序指針繼續(xù)向下造成程序“跑飛”

}

//最后運(yùn)行結(jié)果是 SUM=55;

do while

do while 能說是 while 的補(bǔ)充,while 是先判斷條件是否成立再執(zhí)行體,

而 do while 則是先執(zhí)行體,再根據(jù)條件判斷是否要退出。這樣就決定了循環(huán)體無 論在任何條件下都會(huì)至少被執(zhí)行一次。它的語法如下:

do 語句 while (條件表達(dá)式)

用 do while 怎么寫上面那個(gè)例程呢?先想一想,再參考下面的程序。

#include AT89X51.H>

#include stdio.h>

void main(void)

{

unsigned int I = 1;

unsigned int SUM = 0; //設(shè)初值

SCON = 0x50; //串行口方式 1,允許接收 TMOD = 0x20; //定時(shí)器 1 定時(shí)方式 2

TCON = 0x40; //設(shè)定時(shí)器 1 開始計(jì)數(shù)

TH1 = 0xE8; //11.0592MHz 1200 波特率 TL1 = 0xE8;

TI = 1;

TR1 = 1; //啟動(dòng)定時(shí)器

do

{

SUM = I + SUM; //累加

printf (%d SUM=%dn,I,SUM); //顯示 I++;

}

while(I=10);

while(1);

}

c語言相關(guān)文章:c語言教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉