一、總線: 我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中 ,連連線并不成為一個問題,因為各器件間一般是串行關(guān)系,各器件之間的連線并不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各 器件之間的工作必須相互協(xié)調(diào)?所以就需要的連線就很多了,如果仍如同模擬電路一樣 ,在各微處理器和各器件間單獨連線線,則線的數(shù)量將多得驚人,所以在微處理機中引 入了總線的概念,各個器件共同享用連線,所有器件的8 根數(shù)據(jù)線全部接到8根公用的線 上,即相當(dāng)于各個器件并聯(lián)起來,但僅這樣還不行,如果有兩?器件同時送出數(shù)據(jù),一 個為0,一個為1,那么,接收方接收到的究竟是什么呢?這種情況是是不允許的,所以 要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發(fā)送數(shù)據(jù)(可以有 多個器件同時接收)。器件的數(shù)據(jù)線也就被稱為數(shù)據(jù)總線,器件所有的控制線被稱 控制 總線。 在單片機內(nèi)部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配 地址,才能 用,分配地址當(dāng)?也是以電信號的形?給出的,由于存儲單元比較多,所以 ,用于地址分的線也較多,這些線被稱為地址總線。 二、數(shù)據(jù)、地址、指令: 之所以將這三者放在一起,是因為這三者的本質(zhì)都是一樣的─數(shù)字,或者說都是?串‘0'和‘1'組成的序列。換言之,地址、指令也都是數(shù)據(jù) 。指令由單片機芯片的設(shè)計者規(guī)定的一種數(shù)字,它與我們常用的指令助記符有著嚴(yán)格的 一一對應(yīng)關(guān),不可以由 單片機的開發(fā)者更改。地址:是尋找單片機內(nèi)部、外部的存儲 單元、輸入輸出口的依據(jù),內(nèi) 單元的地址值已由芯?設(shè)計者規(guī)定好,不可更改,外部的 單元可以由單片機開發(fā)者自行決,但有一些地址單元是一定要有的(詳見程序的執(zhí)行過 程)。數(shù)據(jù):這是由微處理機處理的 象,在各種 不同的應(yīng)用電路中各不相同,一般而言,被處理的數(shù)據(jù)可能有這么幾種情況: 1地址(如mov dptr,#1000h),即地址1000h送入dptr。 2方式字或控制字(如 mov tmod,#3),3即是控制字。 3常數(shù)(如mov th0,#10h)10h即定時常數(shù)。4實際輸出值(如p1口接彩燈,要燈全亮,則執(zhí)行指令:mov p1,#0ffh,要燈全暗, 則執(zhí) 兄 令:mov p1,#00h)這里0ffh和00h都是實際輸出值。又如用于led的字形碼,也是實 際?出的值。 理解了地址、指令的本質(zhì),就不難理解程序運行過程中為什么會跑飛,會把數(shù)據(jù)當(dāng)成指 令來 行了。 三、 p0口、p2口和p3的第二功能用法 初學(xué)時往往對p0口、p2口和p3口的第二功能用法迷惑不解,認為第二功能和原功能之間 要有個切換的過程,或者說要有一條指令,事實?,各端口的第二功能完全是自動?,不需要?指令來轉(zhuǎn)換。如p3.6、p3.7分別是wr、rd信號,當(dāng)微片理機外接ram或有外部i/o口 時,它們揮作第二功能,不能作為通用i/o口使用,只要一微處理機一執(zhí)行到movx指令,就會有相應(yīng)的信號從 p3. 或p3.7送出,不需要事先用指令說明。事實上‘不能作為通用i/o口使用'也并不是‘不能?而是(使用者)‘不會'將其作為通用i/o口使用。你完全可以在指令中按排一條s etb p3.7的指令,并且當(dāng)單片機執(zhí)行到這條指令時,也會使p3.7變?yōu)楦唠娖?,但使用者不?這么做,因為這通常這會導(dǎo)致系統(tǒng)當(dāng)潰(即死機)。
欲知詳情,請登錄維庫電子市場網(wǎng)(