51單片機(jī)特殊功能寄存器(SFR)介紹
圖5 C語(yǔ)言編程中需撐握的15個(gè)寄存器
這15寄存器中,根據(jù)前面講的51單片機(jī)內(nèi)部四大功能模塊又可分為四大部分:
I/O口相關(guān):P1 P2 P3 P4
中斷相關(guān):IP IE
定時(shí)器相關(guān):TMOD TCON TL0、TH0、TL1、TH1
串口通信相關(guān):PCON SBUF
注意:
在這四大部分中,除I/O口操作相關(guān)P1 P2 P3 P4相對(duì)獨(dú)立外,其它11個(gè)寄存器使用時(shí)通常會(huì)相互結(jié)合使用,也就是說中斷、定時(shí)器和串口通信三者通常會(huì)結(jié)合起來用,如外部中斷時(shí),設(shè)置邊沿觸發(fā)還是電平觸發(fā)需設(shè)置TCON寄存器中的TR0和TR1位,使用定時(shí)器時(shí)又可能用到中斷,而串口通信時(shí)設(shè)置波特率又直接跟定時(shí)器相關(guān)。
總之51單片機(jī)其實(shí)最難的就是對(duì)除I/O口外的11個(gè)寄存器的操作,但難歸難,但畢竟只有11個(gè),只要肯定花功夫和時(shí)間,多寫寫程序,多調(diào)試,一定可以學(xué)得好,現(xiàn)在我也記不到,每次遇到時(shí)總得去查相關(guān)的書籍,而且感覺腦對(duì)這一塊還是很亂,再看哈書,看后面能不能總結(jié)出好的方法來。
4、參考例程
下面附出中斷、定時(shí)器及串口通信的三個(gè)例子,供大家參考:
前面講到過,51單片機(jī)內(nèi)部共有21個(gè)特殊功能寄存器,如下圖所示。如果用C語(yǔ)言進(jìn)行編程時(shí)只需考慮15個(gè)寄存器,這15個(gè)寄存器按單片機(jī)內(nèi)部功能模塊以可分成四大類,分別為:
I/O口操作相關(guān):P1 P2 P3 P4
中斷相關(guān):IP IE
定時(shí)器相關(guān):TMOD TCON TL0、TH0、TL1、TH1
串口通信相關(guān):SCONPCON SBUF
這15個(gè)寄存器中,P1 P2 P3 P4 TL0 TH0 TL1 TH1 SBUF這9個(gè)操作相對(duì)簡(jiǎn)單,而PCON為電源控制寄存器,平時(shí)只有在串口通信編程中會(huì)用到最高位SMOD,當(dāng)SMOD=1,波特率會(huì)倍增,所以對(duì)這個(gè)寄存器只需要考慮這點(diǎn)就可以了,而對(duì)于IP寄存器為中斷優(yōu)先寄存器,對(duì)于單片機(jī)初學(xué)者基本上用不到,這里先不作介紹。
剩下的就只有IE、TCON、SCON和TMOD4個(gè)寄存器了,如圖1中綠色圓圈的四個(gè),分別為中斷允許寄存器(IE),定時(shí)器控制寄存器(TCON),定時(shí)器模式及工作方式寄存器(TMOD),串行口控制寄存器(SCON)。4個(gè)寄存器相對(duì)來說較難記住,下面分別對(duì)這4個(gè)寄存器及每一位進(jìn)行說明。
評(píng)論