單片機(jī)原理簡介
隨著大規(guī)模集成電路的出現(xiàn)和發(fā)展,將計(jì)算機(jī)的cpu 、ram 、 rom 、定時(shí)/數(shù)器和多種i/o接口集成在一片芯片上,形成芯片級的計(jì)算機(jī),因此單片機(jī)早期的含義稱為單片微型計(jì)算機(jī),直譯為單片機(jī)。
本文引用地址:http://www.ex-cimer.com/article/172272.htm一、單片機(jī)的特點(diǎn):
1 、具有優(yōu)異的性能價(jià)格比;
2 、集成度高、體積小、可靠性高;
3 、控制功能強(qiáng);
4 、低電壓、低功耗 。
二、單片機(jī)的應(yīng)用:
1 、在智能儀器儀表中的應(yīng)用:在各類儀器儀表中引入單片機(jī),使儀器儀表智能化,提高測試的自動化程度和精度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。
2 、在機(jī)電一體化中的應(yīng)用:機(jī)電一體化產(chǎn)品是指集機(jī)械、微電子技術(shù)、計(jì)算機(jī)技術(shù)于一本,具有智能化特征的電子產(chǎn)品。
3 、在實(shí)時(shí)過程控制中的應(yīng)用:用單片機(jī)實(shí)時(shí)進(jìn)行數(shù)據(jù)處理和控制,使系統(tǒng)保持最佳工作狀態(tài),提高系統(tǒng)的工作效率和產(chǎn)品的質(zhì)量。
4 、在人類生活中的應(yīng)用:目前國外各種家用電器已普通采用單片機(jī)代替?zhèn)鹘y(tǒng)的控制電路。
5 、在其它方面的應(yīng)用:單片機(jī)除以上各方面的應(yīng)用,它還廣泛應(yīng)用于辦公自動化領(lǐng)域、商業(yè)營銷領(lǐng)域、汽車及通信、計(jì)算機(jī)外部設(shè)備、模糊控制等各領(lǐng)域中。
三、單片機(jī)的基本組成:
它由 cpu 、存儲器(包括 ram 和 rom )、 i/o 接口、定時(shí) / 計(jì)數(shù)器、中斷控制功能等均集成在一塊芯片上,片內(nèi)各功能通過內(nèi)部總線相互連接起來。
輸入 / 輸出引腳 p0 、 p1 、 p2 、 p3 的功能 :p0.0~p0 。 7 : p0 口是一個 8 位漏極開路型雙向 i/o 端口。在訪問片外存儲器時(shí),它分時(shí)作低 8 位地址和 8 位雙向數(shù)據(jù)總線用。在eprom 編程時(shí),由 p0 輸入指令字節(jié),而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。驗(yàn)證程序時(shí),要求外接上拉電阻。 p0 能以吸收電流的方式驅(qū)動8個lsttl 負(fù)載。
p1. 0 ~p1. 7 ( 1~8 腳): p1 是一上帶內(nèi)部上拉電阻的 8 位雙向 i/o 口。在 eprom 編程和驗(yàn)證程序時(shí),由它輸入低 8 位地址。 p1 能驅(qū)動 4 個 lsttl 負(fù)載。
在 8032/8052 中, p1. 0 還相當(dāng)于專用功能端 t2 ,即定時(shí)器的計(jì)數(shù)觸發(fā)輸入端; p1. 1 還相當(dāng)于專用功能端t2ex ,即定時(shí)器 t2 的外部控制端。p2.0~p2.7 ( 21~28 腳): p2 也是一上帶內(nèi)部上拉電阻的 8 位雙向 i/o 口。在訪問外部存儲器時(shí),由它輸出高 8 位地址。在對 eprom 編程和程序驗(yàn)證時(shí),由它輸入高 8 位地址。 p2 可以驅(qū)動 4 個 lsttl 負(fù)載。p3. 0 ~p3. 7 ( 10~17 腳): p3 也是一上帶內(nèi)部上拉電阻的雙向 i/o 口。在 mcs-51 中,這 8 個引腳還用于專門的第二功能。 p3 能驅(qū)動 4 個 lsttl 負(fù)載。
p3. 0 rxd (串行口輸入)
p3. 1 txd (串行口輸出)
p3. 2 int0 (外部中斷 0 輸入)
p3. 3 int1 (外部中斷 1 輸入)
p3. 4 t0 (定時(shí)器 0 的外部輸入)
p3. 5 t1 (定時(shí)器 1 的外部輸入)
p3. 6 wr (片外數(shù)據(jù)存儲器寫選通)
p3. 7 rd (片外數(shù)據(jù)存儲器讀選通)
四、mcs-51 的尋址方式:
1 、立即尋址 如: mov a , #40h
2 、直接尋址 如: mov a , 3ah
3 、寄存器尋址 如: mov a , rn
4 、寄存器間接尋址 如: mov a , @rn
5 、基址加變址尋址 如: movc a , @a+dptr
6 、相對尋址 如: sjmp 08h
7 、位尋址 mov 20h , c
五、指令:
mov : 片內(nèi) ram 傳送
movx : 片外 ram 傳送
movc : rom 傳送
xch : 交換(和 a 交換)
swap : a 內(nèi)半字節(jié)交換
add :不帶進(jìn)位加
addc :帶進(jìn)位加
subb :帶進(jìn)位減
inc :加 1
dec :減 1
mul :乘法
div :除法
daa :調(diào)整
六、計(jì)數(shù)初值的計(jì)算
定時(shí)或計(jì)數(shù)方式下計(jì)數(shù)初值如何確定,定時(shí)器選擇不同的工作方式,不同的操作模式其計(jì)數(shù)值均不相同。若設(shè)最大計(jì)數(shù)值為 m ,各操作模式下的 m 值為:
模式 0 : m=2 13 =8192
模式 1 : m=2 16 =65536
模式 2 : m=2 8 =256
模式 3 : m=256 ,定時(shí)器 t0 分成 2 個獨(dú)立的 8 位計(jì)數(shù)器,所以 th0 、 tl0 的 m 均為 256 。
因?yàn)?mcs-51 的兩個定時(shí)器均為加 1 計(jì)數(shù)器,當(dāng)初到最大值( 00h 或 0000h )時(shí)產(chǎn)生溢出,將 tf 位置 1 ,可發(fā)出溢出中斷,因此計(jì)數(shù)器初值 x 的計(jì)算式為: x=m- 計(jì)數(shù)值式中的 m 由操作模式確定,不同的操作模式計(jì)數(shù)器的長不相同,故m值也不相同。而式中的計(jì)數(shù)值與定時(shí)器的工作方式有關(guān)。
1 、計(jì)數(shù)工作方式時(shí)
計(jì)數(shù)工作方式時(shí),計(jì)數(shù)脈沖由外部引入,是對外部沖進(jìn)行計(jì)數(shù),因此計(jì)數(shù)值根據(jù)要求確定。其計(jì)數(shù)初值: x=m- 計(jì)數(shù)值
例如:某工序要求對外部脈沖信號計(jì) 100 次, x=m-100
2 、定時(shí)工作方式時(shí)
定時(shí)工作方式時(shí),因?yàn)橛?jì)數(shù)脈沖由內(nèi)部供給,是對機(jī)器周期進(jìn)行計(jì)數(shù),故計(jì)數(shù)脈沖頻率為 f cont =f osc × 1/12 、計(jì)數(shù)周期 t=1/f cont =12/f osc 定時(shí)工作方式的計(jì)數(shù)初值 x 等于:
x=m- 計(jì)數(shù)值 =m-t/t=m- ( f osc × t ) /12
式中: f osc 為振蕩器的振蕩頻率, t 為要求定時(shí)的時(shí)間。
定時(shí)器有兩種工作方式 :即定時(shí)和計(jì)數(shù)工作方式。由 tmod 的 d6 位和 d2 位選擇,其中 d6 位選擇 t1 的工作方式, d2 位選擇 t0 的工作方式。 =0 工作在定時(shí)方式, =1 工作在計(jì)數(shù)方式。并有四種操作模式:
1 、模式 0 : 13 位計(jì)數(shù)器, tli 只用低 5 位。
2 、模式 1 : 16 位計(jì)數(shù)器。
3 、模式 2 : 8 位自動重裝計(jì)數(shù)器, thi 的值在計(jì)數(shù)中不變, tli 溢出時(shí), thi 中的值自動裝入 tli 中。
4 、模式 3 : t0 分成 2 個獨(dú)立的 8 位計(jì)數(shù)器, t1 停止計(jì)數(shù)。
mcs-51 有 5 個中斷源,可分為 2 個中斷優(yōu)先級,即高優(yōu)先級和低優(yōu)先級,中斷自然優(yōu)先級:
外部中斷 0 ;定時(shí)器 0 中斷; 外部中斷 1 ;定時(shí)器 1 中斷 ;
串行口中斷 ;定時(shí)器 2 中斷
( 1 )同級或高優(yōu)先級的中斷正在進(jìn)行中;
( 2 )現(xiàn)在的機(jī)器周期還不是執(zhí)行指令的最后一上機(jī)器周期,即正在執(zhí)行的指令還沒完成前不響應(yīng)任何中斷;
( 3 )正在執(zhí)行的是中斷返回指令 ret1 或是訪問專用寄存器 ie 或 ip 的指令,換而言之,在 reti 或者讀寫 ie 或 ip 之后,不會馬上響應(yīng)中斷請求,至少要在執(zhí)行其它一要指令之扣才會響應(yīng)。
(一)中斷響應(yīng)條件
cpu 響應(yīng)中斷的條件有:
( 1 )有中斷源發(fā)出中斷請求;
( 2 )中斷總允許位 ea=1 ,即 cpu 開中斷;
( 3 )申請中斷的中斷源的中斷允許位為 1 ,即沒有被屏蔽。
七、串行口工作方式及幀格式
mcs-51 單片機(jī)串行口可以通過軟件設(shè)置四種工作方式:
方式 0 :這種工作方式比較特殊,與常見的微型計(jì)算機(jī)的串行口不同,它又叫同步移位寄存器輸出方式。在這種方式下,數(shù)據(jù)從 rxd 端串行輸出或輸入,同步信號從 txd 端輸出,波特率固定不變,為振蕩率的 1/12 。該方式是以 8 位數(shù)據(jù)為一幀,沒有起始位和停止位,先發(fā)送或接收最低位。
方式 2 :采用這種方式可接收或發(fā)送 11 位數(shù)據(jù),以 11 位為一幀,比方式 1 增加了一個數(shù)據(jù)位,其余相同。第 9 個數(shù)據(jù)即 d8 位具有特別的用途,可以通過軟件摟控制它,再加特殊功能寄存器 scon 中的 sm2 位的配合,可使 mcs-51 單片機(jī)串行口適用于多機(jī)通信。方式 2 的波特率固定,只有兩種選擇,為振蕩率的 1/64 或 1/32 ,可由 pcon 的最高位選擇。
方式 3 :方式 3 與方式 2 完全類似,唯一的區(qū)別是方式 3 的小組特率是可變的。而幀格式與方式 2- 樣為 11 位一幀。所以方式 3 也適合于多機(jī)通信。
評論