AT89S51單片機c語言程式

AT89S51單片機c語言程式

AT89S51單片機c語言程式,學習單片機,實際上就是編程控制以下I/O部件,完成指定任務。

基本介紹

  • 中文名:AT89S51單片機c語言程式
  • 接電源:VCC(PIN40)
  •  接復位:RES(PIN9)
  •  接配置:EA(PIN31)
I/O部件,頭檔案,編程基礎,編程1,編程2,編程3,

I/O部件

學習單片機,實際上就是編程控制以下I/O部件,完成指定任務。
1、 四個8位通用I/O連線埠,對應引腳P0、P1、P2和P3;
2、 兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1)
3、 一個串列通信接口;(SCON,SBUF
4、 一個中斷控制器;(IE,IP)

頭檔案

針對AT89C52單片機,頭檔案AT89x52.h給出了SFR特殊功能暫存器所有連線埠的定義

編程基礎

1、 十六進制表示位元組0x5a:二進制為01011010B;0x6E為01101110。
2、 如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。
3、 ++var表示對變數var先增一;var—表示對變數後減一。
4、 x |= 0x0f;表示為 x = x | 0x0f;
5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。
6、 While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;}

編程1

在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)
#i nclude <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3
{
P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC
While( 1 ); //死循環,相當 LOOP: goto LOOP;
}
注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。

編程2

在某引腳輸出低電平的編程方法:(比如P2.7引腳)
其中包含P2.7
void main( void ) //void 表示沒有輸入參數,也沒有函式返值,這入單片機運行的復位入口
{
P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND
While( 1 ); //死循環,相當 LOOP: goto LOOP;
}

編程3

在某引腳輸出方波編程方法:(比如P3.1引腳)
While( 1 ) //非零表示真,如果為真則執行下面循環體的語句
{
P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC
P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND
} //由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波
}

相關詞條

熱門詞條

聯絡我們