微控制器C語言C51的輸入輸出

2021-10-04 17:29:24 字數 1433 閱讀 6980

在c51語言中,它本身不提供輸入和輸出語句,輸入和輸出操作是由函式來實現的。在c51的標準函式庫中提供了乙個名為「stdio.h」的一般i/o函式庫,它當中定義了c51中的輸入和輸出函式。當對輸入和輸出函式使用時,須先用預處理命令「#include  」將該函式庫包含到檔案中。

在c51的一般i/o函式庫中定義的i/o函式都是通過序列介面實現,在使用i/o函式之前,應先對51微控制器的序列介面進行初始化。選擇串列埠工作於方式2(8位自動過載方式),波特率由定時器/計數器1溢位率決定。例如,設系統時鐘為12mhz,波特率為2400,則初始化程式如下:

scon=0x52;

tmod=0x20;

th1=0xf3;

tr1=1;

1.  格式輸出函式printf()

printf()函式的的作用是通過序列介面輸出若干任意型別的資料,它的格式如下:

printf(格式控制,輸出參數列)

格式控制是用雙引號括起來的字串,也稱轉換控制字串,它包括三種資訊:格式說明符、普通字元和轉義字元。

(1)格式說明符,由「%」和格式字元組成,它的作用是用於指明輸出的資料的格式輸出,如%d、%f等,它們的具體情況見下表。

(2)普通字元,這些字元按原樣輸出,用來輸出某些提示資訊。

(3)轉義字元,就是前面介紹的轉義字元(下表),用來輸出特定的控制符,如輸出轉義字元\n就是使輸出換一行。

輸出參數列是需要輸出的一組資料,可以是表示式。

2.  格式輸入函式scanf()

scanf()函式的作用是通過序列介面實現資料輸入,它的使用方法與printf()類似,scanf()的格式如下:

scanf(格式控制,位址列表)

格式控制與printf()函式的情況類似,也是用雙引號括起來的一些字元,可以包括以下三種資訊:空白字元、普通字元和格式說明。

(1)空白字元,包含空格、製表符、換行符等,這些字元在輸出時被忽略。

(2)普通字元,除了以百分號「%」開頭的格式說明符而外的所有非空白字元,在輸入時要求原樣輸入。

(3)格式說明,由百分號「%」和格式說明符組成,用於指明輸入資料的格式,它的基本情況與printf()相同,具體情況見表4-5。

位址列表是由若干個位址組成,它可以是指標變數、取位址運算子「&」加變數(變數的位址)或字串名(表示字串的首位址)。

【例】 使用格式輸入輸出函式的例子

#include  //包含特殊功能暫存器庫

#include  //包含i/o函式庫

void main(void)            //主函式

微控制器C語言C51的函式

函 數 1.函式的定義 函式定義的一般格式如下 函式型別 函式名 形式參數列 reentrant interrupt m using n 形式引數說明 前面部件稱為函式的首部,後面稱為函式的尾部,格式說明 1 函式型別 函式型別說明了函式返回值的型別。2 函式名 函式名是使用者為自定義函式取的名字以...

51微控制器與C51

微控制器又稱單片微控制器,是在一塊晶元中整合了cpu 處理器 ram 資料儲存器 rom 程式儲存器 定時器 計數器和多種功能的i o 輸入 輸出 介面等一台計算機所需要的基本功能部件,從而可以完成複雜的運算 邏輯控制 通訊等功能。51微控制器是對所有相容intel 8031指令系統的微控制器的統稱...

51微控制器C51程式

學習c51程式之前需要對c語言有一定的了解和學習 這裡只介紹與c語言有區別的地方 具體的不同如下 1 c51中增加了幾種針對msc 51微控制器的特有資料型別 a sfr和sfr16 用於定義特殊功能暫存器,如 sfr psw 0xd0 一般情況下這些特殊功能暫存器不需要使用者自定義,通常包含在標頭...