【廣告】
單片機(jī)
單片機(jī)的應(yīng)用屬于芯片級應(yīng)用,需要用戶(單片機(jī)學(xué)習(xí)者與使用者)了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計(jì)所需要的理論和技術(shù),用這樣特定的芯片設(shè)計(jì)應(yīng)用程序,從而使該芯片具備特定的功能。
不同的單片機(jī)有著不同的硬件特征和軟件特征,即它們的技術(shù)特征均不盡相同,硬件特征取決于單片機(jī)芯片的內(nèi)部結(jié)構(gòu),用戶要使用某種單片機(jī),必須了解該型產(chǎn)品是否滿足需要的功能和應(yīng)用系統(tǒng)所要求的特性指標(biāo)。這里的技術(shù)特征包括功能特性、控制特性和電氣特性等等,這些信息需要從生產(chǎn)廠商的技術(shù)手冊中得到。軟件特征是指指令系統(tǒng)特性和開發(fā)支持環(huán)境,指令特性即我們熟悉的單片機(jī)的尋址方式,數(shù)據(jù)處理和邏輯處理方式,輸入輸出特性及對電源的要求等等。開發(fā)支持的環(huán)境包括指令的兼容及可移植性,支持軟件(包含可支持開發(fā)應(yīng)用程序的軟件資源)及硬件資源。要利用某型號單片機(jī)開發(fā)自己的應(yīng)用系統(tǒng),掌握其結(jié)構(gòu)特征和技術(shù)特征是必須的。
單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),可以以軟件控制來實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化,現(xiàn)在單片機(jī)控制范疇無所不在,例如通信產(chǎn)品、家用電器、智能儀器儀表、過程控制和控制裝置等等,單片機(jī)的應(yīng)用領(lǐng)域越來越廣泛。
誠然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想。是控制技術(shù)的一次革命,是一座重要的里程碑。
單片機(jī)的燒寫原理
有三種方式:
1、把單片機(jī)當(dāng)做一個(gè)ROM芯片,早期的單片機(jī)都是如此。將單片機(jī)放在通用編程上編程時(shí),就像給28C256這樣的ROM中寫程序的過程一樣。只是不同的單片機(jī)使用的端口,編程用的時(shí)序不一樣。
2、像AT89S52或AVR單片機(jī)一樣,在單片機(jī)上有SPI接口,這時(shí)用的下到線將程序燒寫到單片機(jī)中。這時(shí)不同的是,單片機(jī)的CPU除了執(zhí)行單片機(jī)本身的指令之外,還能執(zhí)行對ROM進(jìn)行操作的特殊指令,如ROM擦除、燒寫和校驗(yàn)指令。在編程ROM時(shí),下到線先通過傳輸這些指令給CPU執(zhí)行(擦除ROM、讀入數(shù)據(jù)、燒寫ROM、和校驗(yàn)ROM),這樣完成對單片機(jī)的ROM的燒寫。
3、引導(dǎo)程序,即單片機(jī)中已經(jīng)存在了一個(gè)燒寫程序。啟動單片機(jī)時(shí)首先運(yùn)行這程序,程序判斷端口狀態(tài),如果符合“要燒寫ROM”的狀態(tài)存在,就從某個(gè)端口(串口、SPI等等)讀取數(shù)據(jù),然后寫入到單片機(jī)的ROM中。如果沒有“要燒寫ROM”的狀態(tài),就轉(zhuǎn)到用戶的程序開始執(zhí)行。像AVR單片機(jī)的bootloader方式、STC的串口下的方式,還有其他單片機(jī)的串口編程等等都是這樣。
單片機(jī)的發(fā)展
單片機(jī)出現(xiàn)的歷史并不長,但發(fā)展十分迅猛。它的產(chǎn)生與發(fā)展和微處理器的產(chǎn)生與發(fā)展大體同步,自1971年美國Intel公司首先推出4位微處理器以來,它的發(fā)展到目前為止大致可分為5個(gè)階段。
單片機(jī)發(fā)展的初級階段(1971年至1976年):1971年11月Intel公司首先設(shè)計(jì)出集成度為2000只晶體管/片的4位微處理器Intel 4004, 并配有RAM、 ROM和移位寄存器, 構(gòu)成了首臺MCS—4微處理器, 而后又推出了8位微處理器Intel 8008, 以及其它各公司相繼推出的8位微處理器。
單片機(jī) | 寫1清零,寫0清零,有什么區(qū)別?
1)從電路角度去看,對某位寫1,即輸入一個(gè)高電平,使內(nèi)部的一個(gè)三極管導(dǎo)通接地,電容放電進(jìn)行清0。
2)寫1是在硬件上產(chǎn)生一個(gè)復(fù)位脈沖。能寫0清除就很可能也可以寫1進(jìn)去,而這與功能要求不符。如要控制只能寫0而不能寫1,則硬件比較復(fù)雜。
3)從應(yīng)用便捷性角度來說,讀了寄存器數(shù)據(jù)以后,照著寫回去就可以清0,不用再更改一次數(shù)據(jù)。
還有寄存器一般支持的是byte、half word和word操作,對于寄存器上有幾個(gè)標(biāo)志位的情況下,完成對單一標(biāo)志位的清0,又不影響其他標(biāo)志位,但又必須對其他位進(jìn)行寫,因此也就只能是寫1或者寫0清0才有效,只能一種方式。