基于80C51單片機(jī)的電子儲(chǔ)物柜系統(tǒng)
由于P0口內(nèi)部沒有上拉電阻,所以P0在用作輸入、輸出時(shí)要外接上拉電阻,一般取10k左右。
其用Proteus畫得原理圖如下所示,該電路較簡單,在P1.7上接一個(gè)發(fā)光二極管,并接了一個(gè)限流電阻。單片機(jī)31引腳要接高電平,因?yàn)閱纹瑱C(jī)訪問的是下載到單片機(jī)內(nèi)部的程序。
點(diǎn)陣的動(dòng)畫顯示,說到底就是對多張圖片分別進(jìn)行取模,使用程序算法巧妙的切換圖片,多張圖片組合起來就成了一段動(dòng)畫了,我們所看到的動(dòng)畫片、游戲等等,它們的基本原理也都是這樣的。
點(diǎn)陣 LED 顯示屏作為一種現(xiàn)代電子媒體,具有靈活的顯示面積(可任意分割和拼裝)、高亮度、長壽命、數(shù)字化、實(shí)時(shí)性等特點(diǎn),應(yīng)用非常廣泛。
獨(dú)立的 LED 小燈可以實(shí)現(xiàn)流水燈,數(shù)碼管可以顯示多位數(shù)字,那點(diǎn)陣 LED 就得來顯示一點(diǎn)花樣了。
我們在學(xué)習(xí)過程中,很多指標(biāo)都是直接用的概念指標(biāo),比如我們說 +5 V 代表1,GND 代表0等等。但在實(shí)際電路中的電壓值并不是完全精準(zhǔn)的,那這些指標(biāo)允許范圍是什么呢?隨著我們所學(xué)的內(nèi)容不斷增多,大家要慢慢培養(yǎng)一種閱讀數(shù)據(jù)手冊的能力。
干貨分享
你會(huì)運(yùn)用單片機(jī)嗎?我想你一定學(xué)過,但不一定會(huì)運(yùn)用。
聽大佬們講那過去的故事
蜂鳴器從結(jié)構(gòu)區(qū)分分為壓電式蜂鳴器和電磁式蜂鳴器。壓電式為壓電陶瓷片發(fā)音,電流比較小一些,電磁式蜂鳴器為線圈通電震動(dòng)發(fā)音,體積比較小。
上一節(jié)介紹的是 I2C 每一位信號(hào)的時(shí)序流程,而 I2C 通信在字節(jié)級(jí)的傳輸中,也有固定的時(shí)序要求。I2C 通信的起始信號(hào)(Start)后,首先要發(fā)送一個(gè)從機(jī)的地址,這個(gè)地址一共有7位,緊跟著的第8位是數(shù)據(jù)方向位(R/W),“0”表示接下來要發(fā)送數(shù)據(jù)(寫),‘“1”表示接下來是請求數(shù)據(jù)(讀)。
通過上圖可以看出理想波形與實(shí)際波形之間是有區(qū)別的,實(shí)際波形在按下和釋放的瞬間都有抖動(dòng)的現(xiàn)象,抖動(dòng)時(shí)間的長短和按鍵的機(jī)械特性有關(guān),一般為5~10ms。通常我們手動(dòng)按鍵然后釋放,這個(gè)動(dòng)作中穩(wěn)定閉合的時(shí)間超過了20ms。因此單片機(jī)在檢測鍵盤是否按下時(shí)都要加上去抖動(dòng)操作,有專用的去抖動(dòng)電路,也有專門的去抖動(dòng)芯片,但通常我們采用軟件延時(shí)的方法就可以解決抖動(dòng)問題。
MCS- 51系列單片機(jī)的指令系統(tǒng)是一種簡明高效的指令系統(tǒng),其基本指令共有111條,其中單字節(jié)指令49條,雙字節(jié)指令4\'5條,三字節(jié)指令17條。如果按功能可以講這些指令分為五類:數(shù)據(jù)傳送類(29條)、算術(shù)操作類(24條)、邏輯操作類(24條)、控制轉(zhuǎn)移類(17條)以及位變量操作類(17條)。對于反向設(shè)計(jì)而言,我們關(guān)心的不是它的各種具體指令的多少而是指令的尋址方式。所謂的尋址方式就是尋找確定參與操作的數(shù)的真正地址。MCS-51系列單片機(jī)的111條指令一共只采用了5種尋址方式。
RS232 標(biāo)準(zhǔn)是誕生于 RS485 之前的,但是 RS232 有幾處不足的地方: 接口的信號(hào)電平值較高,達(dá)到十幾 V,使用不當(dāng)容易損壞接口芯片,電平標(biāo)準(zhǔn)也與 TTL 電平不兼容。
計(jì)時(shí)器記錄單片機(jī)外部發(fā)生的事情;而定時(shí)器是單片機(jī)自身提供的計(jì)數(shù)器,51單片機(jī)經(jīng)過12分頻后提供給單片機(jī)的只有1MHZ的脈沖,脈沖時(shí)間間隔1微秒。MC51外接12M晶振(11.0592MHZ),12MHZ/12=1MHZ=1000000次/秒=1000000次/1000000微秒=1次/1微秒=1指令/1微秒。晶體每震蕩1次就產(chǎn)生1個(gè)脈沖,花費(fèi)1微秒,執(zhí)行一次指令。
AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52在洗衣機(jī)得到廣泛應(yīng)用
MCS-51的P0口和P2口可以作為并行擴(kuò)展總線,可以擴(kuò)展64K字節(jié)程序存貯器和64K字節(jié)RAM I/O口
復(fù)位就是指通過某種手段使單片機(jī)內(nèi)部某些資源一種固定的初始狀態(tài),以確保單片機(jī)每次復(fù)位后都能在某一固定的環(huán)境中從某一固定的入口地址處開始運(yùn)行
單片機(jī)CPU與外部設(shè)備交換信息通常有如下幾種方式:無條件傳送方式,查詢傳送方式和中斷傳送方式。我們以單片機(jī)與微型打印機(jī)接口為例講述這三種方式。假定用戶要打印三個(gè)數(shù)據(jù),這三個(gè)數(shù)據(jù)保存在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器10H,11H,和12H中,8051用并口P2與微型打印機(jī)的并行數(shù)據(jù)口DB進(jìn)行數(shù)據(jù)交換。