您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!
單片機(jī)對(duì)于我來(lái)說(shuō),就是一個(gè)超級(jí)大機(jī)器,上面有一排一排數(shù)不盡的開(kāi)關(guān),我需要做的,就是根據(jù)我的設(shè)計(jì),拿著一張超級(jí)大的表(Datasheet),把需要的開(kāi)關(guān)(reg)都開(kāi)關(guān)(config)到對(duì)應(yīng)功能的位置(硬件配置初始化),然后運(yùn)行你設(shè)計(jì)的程序流程(while(1)后面的),這機(jī)器應(yīng)該先做什么在做什么,應(yīng)該一邊做什么但是過(guò)一會(huì)兒查一個(gè)什么,什么發(fā)生了應(yīng)該停下來(lái)做什么,什么來(lái)了應(yīng)該回復(fù)什么,這樣這樣
比如你需要使用一個(gè)io口,需要打開(kāi)時(shí)鐘,配置方向,控制上下拉,甚至拓展附加功能
首先說(shuō)說(shuō)它的時(shí)鐘,51沒(méi)有時(shí)鐘控制這一說(shuō)是因?yàn)?1比32簡(jiǎn)單,32內(nèi)部結(jié)構(gòu)很復(fù)雜,如果那個(gè)高頻的時(shí)鐘信號(hào)比如72M的那個(gè),在所有內(nèi)部線(xiàn)路上跑,那么芯片就會(huì)很費(fèi)電,如果學(xué)過(guò)場(chǎng)效應(yīng)管的原理你就會(huì)知道,數(shù)字電路讓晶體管工作在兩個(gè)狀態(tài)中,飽和和截止,為什么呢,數(shù)字電路在1的時(shí)候有電壓沒(méi)電流,數(shù)字電路在0的時(shí)候有電流沒(méi)電壓,P=UI可知,兩者只有其一(嚴(yán)格來(lái)說(shuō)另一個(gè)很?。?,則功率很小,在中間切換的時(shí)候,處于放大區(qū),比較耗電,所以,時(shí)鐘是對(duì)功耗最好的控制,因此,默認(rèn)狀態(tài)下,大部分電路的時(shí)鐘都是關(guān)閉的,當(dāng)你要啟用哪個(gè)模塊,你就必須把他的時(shí)鐘打開(kāi),消耗能源,啟動(dòng)功能。
第二個(gè)是屬性類(lèi),比如單片機(jī)是i口還是o口,要不要上下拉,因?yàn)?2的設(shè)計(jì)應(yīng)用場(chǎng)景比較復(fù)雜,所以多樣化的可選配置可以讓32應(yīng)付各種各樣的設(shè)計(jì)。常用的有推挽(大拉力輸出),開(kāi)漏(小電流再加上拉電阻驅(qū)動(dòng)大電流),上下拉等。還有速度控制,可選高速中速低速。
第三個(gè)是附加功能類(lèi),比如io口可以用做pwm輸出,Adda輸入輸出,i2c,usart,等,根據(jù)不同的功能會(huì)有對(duì)應(yīng)的功能設(shè)置,這個(gè)具體要看數(shù)據(jù)手冊(cè)對(duì)相應(yīng)寄存器的設(shè)定,初學(xué)建議用c語(yǔ)言配合庫(kù)函數(shù)開(kāi)發(fā)加深理解,一開(kāi)始不要求自己能寫(xiě),你去看別人寫(xiě)的初始化配置函數(shù),能看懂就行。
說(shuō)完了寄存器配置,說(shuō)說(shuō)中斷,32的中斷寫(xiě)法跟51的不一樣,但是思路是一樣的,保護(hù)現(xiàn)場(chǎng),記錄斷點(diǎn),跳轉(zhuǎn)中斷服務(wù),清除標(biāo)識(shí),回到斷電,恢復(fù)現(xiàn)場(chǎng),32的中斷比51多很多,也可以嵌套
說(shuō)到底,32,51,430都只是單片機(jī),只要知道他們的寄存器在那里,如何根據(jù)自己的功能修改寄存器的值,剩下的功能邏輯實(shí)現(xiàn),就跟單片機(jī)無(wú)關(guān)了,對(duì)于你的顯示屏來(lái)說(shuō),它并不知道你的mcu是什么,只是它發(fā)現(xiàn)出來(lái)的信號(hào)都一樣,所以用51可以顯示一朵花,同樣的程序用32顯示也不會(huì)變成一棵樹(shù),本質(zhì)一樣的上一篇:UART簡(jiǎn)介
下一篇:文檔的壓縮與打包
掃碼關(guān)注我們
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08