單片機的內部、外部結構
現在我們已經(jīng)有辦法讓計算機去將P10輸出高或低電平了,但是我們怎樣才能計算機執行這條指令呢?總不能也對計算機也說(shuō)一聲了事吧。要解決這個(gè)問(wèn)題,還得有幾步要走。第一,計算機看不懂SETB CLR之類(lèi)的指令,我們得把指令翻譯成計算機能懂的方式,再讓計算機去讀。計算機能懂什么呢?它只懂一樣東西——數字。因此我們得把SETB P1.0變?yōu)?D2H,90H ),把CLR P1.0變?yōu)?(C2H,90H ),至于為什么是這兩個(gè)數字,這也是由51芯片的設計者--INTEL規定的,我們不去研究。第二步,在得到這兩個(gè)數字后,怎樣讓這兩個(gè)數字進(jìn)入單片機的內部呢?這要借助于一個(gè)硬件工具"編程器"。
我們將編程器與電腦連好,運行編程器的軟件,然后在編緝區內寫(xiě)入(D2H,90H)見(jiàn)圖2,寫(xiě)入……好,拿下片子,把片子插入做好的電路板,接通電源……什么?燈不亮?這就對了,因為我們寫(xiě)進(jìn)去的指令就是讓
圖2
P10輸出高電平,燈當然不亮,要是亮就錯了?,F在我們再撥下這塊芯片,重新放回到編程器上,將編緝區的內容改為(C2H,90H),也就是CLR P1.0,寫(xiě)片,拿下片子,把片子插進(jìn)電路板,接電,好,燈亮了。因為我們寫(xiě)入的()就是讓P10輸出低電平的指令。這樣我們看到,硬件電路的連線(xiàn)沒(méi)有做任何改變,只要改變寫(xiě)入單片機中的內容,就可以改變電路的輸出效果。
單片機內部結構分析
我們來(lái)思考一個(gè)問(wèn)題,當我們在編程器中把一條指令寫(xiě)進(jìn)單片要內部,然后取下單片機,單片機就可以執行這條指令,那么這條指令一定保存在單片機的某個(gè)地方,并且這個(gè)地方在單片機掉電后依然可以保持這條指令不會(huì )丟失,這是個(gè)什么地方呢?這個(gè)地方就是單片機內部的只讀存儲器即ROM(READ ONLY MEMORY)。為什么稱(chēng)它為只讀存儲器呢?剛才我們不是明明把兩個(gè)數字寫(xiě)進(jìn)去了嗎?原來(lái)在89C51中的ROM是一種電可擦除的ROM,稱(chēng)為FLASH ROM,剛才我們是用的編程器,在特殊的條件下由外部設備對ROM進(jìn)行寫(xiě)的操作,在單片機正常工作條件下,只能從那面讀,不能把數據寫(xiě)進(jìn)去,所以我們還是把它稱(chēng)為ROM。
評論