at89s51可以多線程工作嗎?
1、51單片機(jī)無(wú)法實(shí)現(xiàn)多線程任務(wù),只能實(shí)現(xiàn)單線程。這是由51單片機(jī)的硬件決定的,否則多線程芯片就沒(méi)有必要設(shè)計(jì)出來(lái)了。 2、51單片機(jī)的硬件資源,如:定時(shí)器、計(jì)數(shù)器、捕獲器、比較器、AD轉(zhuǎn)換、pwm、UART等等大部分的硬件資源,初始化以及啟動(dòng)由用戶控制。開(kāi)始運(yùn)行后,51單片機(jī)的相關(guān)硬件電路能自動(dòng)運(yùn)行,無(wú)需干預(yù)。 3、在這些硬件資源運(yùn)行過(guò)程中,用戶可以進(jìn)行其他操作(一般不更改正在運(yùn)行的硬件資源,否則會(huì)影響初始設(shè)定)。 4、但在這些硬件資源運(yùn)行結(jié)束后,大部分的情況下,對(duì)應(yīng)的特殊寄存器(含中斷)會(huì)被更改,此時(shí),需用戶進(jìn)行查詢特殊寄存器或處理中斷。處理這些時(shí),用戶需要停止正在運(yùn)行的程序,不能同時(shí)進(jìn)行其他工作。 例如: 用戶設(shè)置定時(shí)器為周期1S;開(kāi)啟定時(shí)器中斷。 啟動(dòng)定時(shí)器后,用戶可以執(zhí)行其他無(wú)關(guān)定時(shí)器的運(yùn)算、控制。到達(dá)1S的時(shí)間時(shí),定時(shí)器產(chǎn)生中斷,用戶執(zhí)行的程序?qū)⒈煌V梗4娆F(xiàn)場(chǎng)后,程序運(yùn)行跳轉(zhuǎn)至定時(shí)器中斷,開(kāi)始執(zhí)行定時(shí)器中斷程序。在定時(shí)器中斷程序執(zhí)行結(jié)束后,恢復(fù)現(xiàn)場(chǎng),重新從用戶程序被中斷的位置開(kāi)始運(yùn)行。