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





