基礎(chǔ)知識:51單片機編程基礎(chǔ)
第一節(jié):單數(shù)碼管按鍵顯示
第二節(jié):雙數(shù)碼管可調(diào)秒表
第三節(jié):十字路口交通燈
第四節(jié):數(shù)碼管驅(qū)動
第五節(jié):鍵盤驅(qū)動
第六節(jié):低頻頻率計
第七節(jié):電子表
第八節(jié):串行口應(yīng)用
基礎(chǔ)知識:51單片機編程基礎(chǔ)
單片機的外部結(jié)構(gòu):
- DIP40雙列直插;
- P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平)
- 電源VCC(PIN40)和地線GND(PIN20);
- 高電平復(fù)位RESET(PIN9);(10uF電容接VCC與RESET,即可實現(xiàn)上電復(fù)位)
- 內(nèi)置振蕩電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)
- 程序配置EA(PIN31)接高電平VCC;(運行單片機內(nèi)部ROM中的程序)
- P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1
單片機內(nèi)部I/O部件:(所為學(xué)習(xí)單片機,實際上就是編程控制以下I/O部件,完成指定任務(wù))
- 四個8位通用I/O端口,對應(yīng)引腳P0、P1、P2和P3;
- 兩個16位定時計數(shù)器;(TMOD,TCON,TL0,TH0,TL1,TH1)
- 一個串行通信接口;(SCON,SBUF)
- 一個中斷控制器;(IE,IP)
針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有端口的定義。
C語言編程基礎(chǔ):
- 十六進制表示字節(jié)0x5a:二進制為01011010B;0x6E為01101110。
- 如果將一個16位二進數(shù)賦給一個8位的字節(jié)變量,則自動截斷為低8位,而丟掉高8位。
- ++var表示對變量var先增一;var—表示對變量后減一。
- x |= 0x0f;表示為 x = x | 0x0f;
- TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。
- While( 1 ); 表示無限執(zhí)行該語句,即死循環(huán)。語句后的分號表示空循環(huán)體,也就是{;}
在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)
注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。
在某引腳輸出低電平的編程方法:(比如P2.7引腳)





