亚洲国产精品一区二区动图,亚洲aⅴ无码国精品中文字慕,亚洲精品久久久久久中文字幕,春药玩弄少妇高潮吼叫,60岁欧美乱子伦xxxx,国产午夜精品理论片久久影院,亚洲精品伦理熟女国产一区二区,日本无卡码高清免费v

您好!歡迎光臨烜芯微科技品牌官網(wǎng)!

深圳市烜芯微科技有限公司

ShenZhen XuanXinWei Technoligy Co.,Ltd
二極管、三極管、MOS管、橋堆

全國(guó)服務(wù)熱線:18923864027

單片機(jī)的寄存器類型與操作教程介紹
  • 發(fā)布時(shí)間:2022-02-19 18:21:54
  • 來源:
  • 閱讀次數(shù):
單片機(jī)的寄存器類型與操作教程介紹
大家都認(rèn)為計(jì)算機(jī)可以做任何事,對(duì)我們的生活有巨大的作用,尤其是在學(xué)習(xí)單片機(jī)的過程中。學(xué)習(xí)計(jì)算機(jī)可以教會(huì)我們分析和解決問題,而學(xué)習(xí)單片機(jī)可以幫助我們更好地理解計(jì)算機(jī)如何根據(jù)我們的想法解決問題。本文帶你了解寄存器,它將伴隨學(xué)習(xí)單片機(jī)的全過程。寄存器是連接硬件和軟件的重要紐帶。計(jì)算機(jī)的任何功能都離不開寄存器。中央處理器也有寄存器。總線通信、通過注冊(cè)、內(nèi)存分頁等一切都基于寄存器。電子洞和多彩的計(jì)算機(jī)世界之間有更多的寄存器,如鏈接。它們看起來很復(fù)雜,但它們很清楚。即便所有的計(jì)算機(jī)一夜之間突然消失,人類也可以從電子管和打孔紙帶開始,一層一層地構(gòu)建計(jì)算機(jī)世界。我們所知道的只是這個(gè)龐大系統(tǒng)中的滄海一粟。
1.什么是寄存器
寄存器是CPU內(nèi)部的一種存儲(chǔ)器,分為通用寄存器和特殊功能寄存器(8086也細(xì)分為特殊功能寄存器)。通用寄存器,顧名思義是通用的。它們可以存儲(chǔ)操作數(shù)、運(yùn)算結(jié)果、內(nèi)存地址等數(shù)據(jù),在用C語言編程時(shí),編譯器一般負(fù)責(zé)安排通用寄存器的使用,無需直接聯(lián)系它們。特殊功能寄存器具有特定功能,其中一些作用于CPU,比如PC存放下一條指令的地址,SP記錄棧頂在內(nèi)存中的位置,其中一些與IO模塊相連,單片機(jī)程序通過這些寄存器控制各種外設(shè)。
單片機(jī)
圖1 寄存器
我們通常使用的單片機(jī)是atmega324pa,它的封裝種類很多,管腳數(shù)量不同,但通用輸入輸出(GPIO)管腳有32個(gè)。由于AVR架構(gòu)是8位字長(zhǎng),因此CPU一次處理1位數(shù)據(jù)和8位數(shù)據(jù)所需的時(shí)間相同。32個(gè)引腳被組織成4個(gè)端口,即PA、Pb、PC和PD。在微型和微型微控制器的AVR架構(gòu)中,每個(gè)端口都有三個(gè)寄存器來控制數(shù)字信號(hào)IO,分別是portx、ddrx和PINX。這里的X是a、B、C或D。由于四個(gè)端口在數(shù)字IO方面是相同的,我們將它們組合起來。因此,對(duì)于每個(gè)引腳Pxn,有3個(gè)位,portxn、ddxn(不帶R)和pinxn,來控制其數(shù)字io。
ddxn控制引腳方向:ddxn為1時(shí),輸出Pxn;當(dāng)ddxn為0時(shí),輸入Pxn。
當(dāng)輸入Pxn時(shí),如果portxn為1,則該引腳通過上拉電阻連接到VCC;否則,引腳懸空。
輸出Pxn時(shí),若portxn為1,引腳輸出高電平;否則,引腳輸出低電平。
pinxn的值是Pxn引腳的電平。如果將1寫入pinxn,則portxn的值會(huì)翻轉(zhuǎn)。
寄存器還有很多細(xì)節(jié),比如MCUCR寄存器中PUD位的作用、復(fù)位后寄存器的值、輸入/輸出切換的方法、讀取引腳電平的延遲、未連接引腳的處理方法等。
2.什么是單片機(jī)寄存器
寄存器是內(nèi)存階層中的最頂端,也是系統(tǒng)獲得操作資料的最快速途徑。寄存器通常都是以他們可以保存的位元數(shù)量來估量,舉例來說,一個(gè)“8位元寄存器”或“32位元寄存器”。寄存器現(xiàn)在都以寄存器檔案的方式來實(shí)作,但是他們也可能使用單獨(dú)的正反器、高速的核心內(nèi)存、薄膜內(nèi)存以及在數(shù)種機(jī)器上的其他方式來實(shí)作出來。寄存器通常都用來意指由一個(gè)指令之輸出或輸入可以直接索引到的暫存器群組。更適當(dāng)?shù)氖欠Q他們?yōu)?ldquo;架構(gòu)寄存器”。例如,x86指令集定義八個(gè)32位元寄存器的集合,但一個(gè)實(shí)作x86指令集的CPU可以包含比八個(gè)更多的寄存器。寄存器是CPU內(nèi)部的元件,寄存器擁有非常高的讀寫速度,所以在寄存器之間的數(shù)據(jù)傳送非常快。
單片機(jī)
圖2 單片機(jī)寄存器
3.單片機(jī)寄存器的類型
3.1累加器A
累加器A是微處理器中使用最頻繁的寄存器。在算術(shù)和邏輯運(yùn)算時(shí)它有雙功能:運(yùn)算前,用于保存一個(gè)操作數(shù);運(yùn)算后,用于保存所得的和、差或邏輯運(yùn)算結(jié)果。
3.2數(shù)據(jù)寄存器DR
數(shù)據(jù)寄存器通過數(shù)據(jù)總線向存儲(chǔ)器和輸入/輸出設(shè)備送(寫)或取(讀)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲(chǔ)器中存儲(chǔ)的一個(gè)數(shù)據(jù)字節(jié)等等。
3.3指令寄存器IR和指令譯碼器ID
指令包括操作碼和操作數(shù)。指令寄存器是用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存中取到數(shù)據(jù)寄存器中,然后再傳送到指令寄存器。當(dāng)系統(tǒng)執(zhí)行給定的指令時(shí),必須對(duì)操作碼進(jìn)行譯碼,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項(xiàng)工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。
3.4程序計(jì)數(shù)器PC
PC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計(jì)數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。
3.5地址寄存器AR
用來保存當(dāng)前CPU所訪問的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存的讀/寫操作完成為止址寄存器(Address Register,AR)用來保存當(dāng)前CPU所訪問的內(nèi)存單元的地址。由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存的讀/寫操作完成為止。數(shù)據(jù)寄存器DR用來暫存微處理器與存儲(chǔ)器或輸人/輸出接口電路之間待傳送的數(shù)據(jù)。地址寄存器AR和數(shù)據(jù)寄存器DR在微處理器的內(nèi)部總線和外部總線之間,還起著隔離和緩沖的作用。
4.單片機(jī)寄存器的使用教程
要使用寄存器,需要寫#include,然后就可以使用PORTA、DDRB、PINC等寄存器。它們是宏定義。不必探索它們是如何擴(kuò)展的。只需要知道這些宏是可以讀、賦值和位操作的,就像uint8_t類型變量一樣。但是像PORTA0SumDDB7宏定義這樣的東西并不代表寄存器上的位。它們實(shí)際上是字面常量,比如PORTAx寄存器表示寄存器PORTA的第x位(0為最低位,7為最高位),其值為X。因此,直接復(fù)制這些宏是不正確的(不僅意思不對(duì),編譯也不會(huì)通過)。
在開發(fā)板的庫函數(shù)中提供包含多個(gè)位操作的宏函數(shù)。可以拿出存儲(chǔ)器的手冊(cè)來,看看后面是怎么實(shí)現(xiàn)的。
讓我們舉個(gè)例子,點(diǎn)亮一個(gè)LED,首先打開紅色LED。原理圖第2頁左上角紅色LED通過電阻與網(wǎng)絡(luò)LED0相連,第1頁LED0與單片機(jī)PC4引腳相連,所以我們需要讓PC4腳輸出高電平。回到三個(gè)寄存器的功能。輸出高電平要求ddxn和portxn同時(shí)為1。我們把X和N分別用C和4取進(jìn)去,也就是我們希望ddc4和portc4為1。
如果寄存器的一個(gè)位置為1,則set_bit實(shí)現(xiàn)。它需要兩個(gè)參數(shù),要操作的整數(shù)變量和表示第一個(gè)數(shù)字的整數(shù)。將ddc4設(shè)置為1應(yīng)該寫入set_bit(DDRC,4);4可以用DDC4替換,就是這樣定義的。同理,portc4可以設(shè)置為1。點(diǎn)亮紅色LED的整個(gè)過程如下:
單片機(jī)
接下來是存儲(chǔ)器的數(shù)字輸入。使用第一個(gè)按鍵相關(guān)的例子,保持LED狀態(tài)與按鍵一致,即按下點(diǎn)亮。
要讀取寄存器中的一位,可以使用read_bit。如果引腳上的電平為高電平,則read_bit的運(yùn)算結(jié)果不為0(但不一定是布爾值1)。注意按鍵時(shí)引腳電平是低的,所以讀取引腳電平的結(jié)果是你是否按下該鍵。
原理圖中,key的一端接btn0網(wǎng)絡(luò),再接單片機(jī)的PA4引腳。所以按鍵是否按下應(yīng)該寫成:!read_bit(PINA,4)。
引腳應(yīng)在讀取前配置為輸入。雖然是reset后默認(rèn)輸入的,在這個(gè)例子中沒有必要給dda4寫0,但是寫清楚是一個(gè)好習(xí)慣,讓看這段代碼的人(可能是別人也可能是自己)明白PA4是輸入。對(duì)于porta4,由于該引腳外接了上拉電阻,因此無需使能內(nèi)部上拉電阻。
單片機(jī)
結(jié)合按鍵動(dòng)作的知識(shí),應(yīng)該知道如何直接通過寄存器操作來判斷按鍵動(dòng)作。值得注意的是,這些程序都不需要在項(xiàng)目屬性中將libee1庫添加到鏈接器。雖然代碼使用,但它們都是宏定義,獨(dú)立于鏈接器。
5.關(guān)于單片機(jī)寄存器的常見問題
5.1什么是單片機(jī)寄存器?
簡(jiǎn)單地說,寄存器是一種內(nèi)存。通常寄存器位于 CPU 或 MCU(微控制器)內(nèi),非常靠近算術(shù)單元或直接連接到各種 I/O 端口。由于這個(gè)位置或特殊設(shè)計(jì),與其他類型的存儲(chǔ)器相比,寄存器在讀/寫速度方面要快得多。
5.2單片機(jī)寄存器有什么作用?
寄存器的單片機(jī)(計(jì)算機(jī))的存儲(chǔ)單元,是存取數(shù)據(jù)較為方便、快速地方寄存器常用于存放使用比較頻繁的數(shù)據(jù),再參與運(yùn)算,都很容易。
5.3哪些計(jì)算機(jī)使用單芯片處理器?
單芯片云計(jì)算機(jī)(SCC) 是英特爾實(shí)驗(yàn)室開發(fā)的一種實(shí)驗(yàn)性微處理器,SCC 微處理器包括集成在單個(gè)硅芯片上的 48 個(gè)內(nèi)核,SCC 具有雙核 SCC 磁貼、內(nèi)存控制器和 24 路由器網(wǎng)狀網(wǎng)絡(luò)。
5.4什么是單芯片CPU?
大部分微機(jī)的ALU和控制單元都是在一塊硅片上組合制造的。大多數(shù)現(xiàn)代 CPU 都是微處理器,這意味著它們包含在單個(gè)集成電路 (IC) 芯片中。
以上就是單片機(jī)的寄存器類型及操作教程的介紹了,單片機(jī)一種集成電路芯片,廣泛用于各大行業(yè)中。單片機(jī)寄存器其實(shí)就相當(dāng)于一個(gè)變量,只不過這個(gè)變量在固定的地址,有一個(gè)特殊的名稱(當(dāng)然也不強(qiáng)制)。初學(xué)者對(duì)寄存器的操作比較困難的原因不是匯編語言或C語言使用的不熟,而是對(duì)寄存器的陌生。單片機(jī)中存儲(chǔ)器的資源是非常寶貴和有限的,任何產(chǎn)品都有使用說明書,要想最好的使用一款產(chǎn)品也是去閱讀說明書。單片機(jī)或者芯片的說明書就是數(shù)據(jù)手冊(cè)。數(shù)據(jù)手冊(cè)中往往都是對(duì)寄存器如何操作的描述,只不過要耐下心來一點(diǎn)一點(diǎn)的去理解去消化手冊(cè)所介紹的功能,這樣才能用好。
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號(hào)碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報(bào)價(jià)以及產(chǎn)品介紹
 
電話:18923864027(同微信)
QQ:709211280

相關(guān)閱讀
主站蜘蛛池模板: 亚洲国产日韩欧美综合a 玩中年熟妇让你爽视频 999久久国产精品免费人妻 国产亚洲日韩在线播放更多 国内精品国产三级国产av 精品欧美成人高清在线观看 欧美重口另类在线播放二区 日韩欧国产精品一区综合无码 无码av中文字幕一区二区三区 白嫩无码人妻丰满熟妇啪啪区百度 亚洲日韩va在线视频 草裙社区精品视频播放 成年男人午夜片 国产精品人妻久久毛片高清无卡 亚洲精品国产av现线 天无日天天射天天视 国产精品点击进入在线影院高清 久久国产亚洲精品赲碰热 舌头伸进去添的我好爽高潮欧美 久久99久久99久久综合 美女内射毛片在线看免费人动物 97无码免费人妻超级碰碰碰碰 国产精品乱子伦xxxx裸 久久亚洲欧美日本精品 中国性欧美videofree精品 国产无套粉嫩白浆在线 国产 精品 自在 线免费 亚洲乱码日产精品bd在线下载 丰满人妻无码∧v区视频 欧美成人精品一区二区三区色欲 亚洲国产成人久久综合碰| 国产粉嫩小泬在线观看泬| 亚洲精品日韩中文字幕久久久 | 国内自拍视频一区二区三区| 97欧美精品系列一区二区| 樱花草在线社区www中国中文| 亚洲精品无码mv在线观看| 国产免费久久精品99re丫丫| 国产成人精品午夜视频| 国产免费拔擦拔擦8x高清在线| 亚洲色精品vr一区二区|