❶ 單片機三個外設三個功能
單片機三個外設三個功能如衫敏下。
1、單片機外設包括:串口控制模塊,SPI模塊,I2C模塊,AD模塊,PWM模塊,CAN模塊,EEPROM,比較器模塊。
2、外設功能:是指為了使單片機便於使用的各種功能。
3、將模握改擬輸入信號轉換為或皮枝數字值的「AD轉換器」以及反過來將數字值轉換為模擬輸出信號的「DA轉換器」則是單片機對各種信號進行處理時不可或缺的外設功能。
❷ MCS-51系類單片機內嵌了哪些片內外設部件與事件觸發相關的外設部件是什麼
普通的51單片機內嵌了:
1、串列通信模塊
2、定時器模塊
3、外部中斷模塊
4、程序存儲器ROM
❸ 單片機引腳作為外設用是什麼意思
單片機的管腳,既可以作為通用的輸入輸出管腳(GPIO)使用,也可以作為某個特定外設的特定功能管腳(例如UART的TXD)使用。
所以,當把某個管腳指定為外設用之後,程序就要避免再把這個管腳當做GPIO操作。
❹ ARM、DSP、單片機外設指的是什麼通俗點,我是外行
ARM就像你手裡的四核智能手機,功能全面,速度快。
DSP類似你上網的路由器,開發出來做專一功能用,而且速度快。雖然ARM也可以開發起路由功能,但沒有DSP開發出來更專業的樣子。
單片機外設是你早期的電腦外面的音箱,網卡,音效卡等等為電腦服務的東東。這些外設就是起到類似的作用。
我的比喻能明白嗎?
❺ RAM的行列地址怎麼用做單片機外設時RAM的地址是自己設置的還是固定的
之前從較為抽象的角度介紹了 ROM,RAM和FLASH的區別,下面主要是具體到他們在單片機中的作用。
一、ROM,RAM和FLASH在單片中的作用
ROM——存儲固化程序的(存放指令代碼和一些固定數值,程序運行後不可改動)
c文件及h文件中所有代碼、全局變數、局部變數、』const』限定符定義的常量數據、startup.asm文件中的代碼(類似ARM中的bootloader或者X86中的BIOS,一些低端的單片機是沒有這個的)通通都存儲在ROM中。
RAM——程序運行中數據的隨機存取(掉電後數據消失)
整個程序中,所用到的需要被改寫的量,都存儲在RAM中,「被改變的量」包括全局變數、局部變數、堆棧段。
FLASH——存儲用戶程序和需要永久保存的數據。
例如:現在家用的電子式電度表,它的內核是一款單片機,該單片機的程序就是存放在ROM里的。電度表在工作過程中,是要運算數據的,要採集電壓和電流,並根據電壓和電流計算出電度來。電壓和電流時一個適時的數據,用戶不關心,它只是用來計算電度用,計算完後該次採集的數據就用完了,然後再採集下一次,因此這些值就沒必要永久存儲,就把它放在RAM里邊。然而計算完的電度,是需要永久保存的,單片機會定時或者在停電的瞬間將電度數存入到FLASH里。
二、ROM,RAM和FLASH在單片中的運作原理
1、程序經過編譯、匯編、鏈接後,生成hex文件;
2、用專用的燒錄軟體,通過燒錄器將hex文件燒錄到ROM中
註:這個時候的ROM中,包含所有的程序內容:一行一行的程序代碼、函數中用到的局部變數、頭文件中所聲明的全局變數,const聲明的只讀常量等,都被生成了二進制數據。
疑問:既然所有的數據在ROM中,那RAM中的數據從哪裡來?什麼時候CPU將數據載入到RAM中?會不會是在燒錄的時候,已經將需要放在RAM中數據燒錄到了RAM中?
答:
(1)ROM是只讀存儲器,CPU只能從裡面讀數據,而不能往裡面寫數據,掉電後數據依然保存在存儲器中;RAM是隨機存儲器,CPU既可以從裡面讀出數據,又可以往裡面寫入數據,掉電後數據不保存,這是條永恆的真理,始終記掛在心。
(2)RAM中的數據不是在燒錄的時候寫入的,因為燒錄完畢後,拔掉電源,當再給MCU上電後,CPU能正常執行動作,RAM中照樣有數據,這就說明:RAM中的數據不是在燒錄的時候寫入的,同時也說明,在CPU運行時,RAM中已經寫入了數據。
3、ROM中包含所有的程序內容,在MCU上電時,CPU開始從第1行代碼處執行指令。這里所做的工作是為整個程序的順利運行做好准備,或者說是對RAM的初始化(註:ROM是只讀不寫的),工作任務有幾項:
(1)為全局變數分配地址空間---如果全局變數已賦初值,則將初始值從ROM中拷貝到RAM中,如果沒有賦初值,則這個全局變數所對應的地址下的初值為0或者是不確定的。當然,如果已經指定了變數的地址空間,則直接定位到對應的地址就行,那麼這里分配地址及定位地址的任務由「連接器」完成。
(2)設置堆棧段的長度及地址---用C語言開發的單片機程序裡面,普遍都沒有涉及到堆棧段長度的設置,但這不意味著不用設置。堆棧段主要是用來在中斷處理時起「保存現場」及「現場還原」的作用,其重要性不言而喻。而這么重要的內容,也包含在了編譯器預設的內容裡面,確實省事,可並不一定省心。
(3)分配數據段data,常量段const,代碼段code的起始地址——代碼段與常量段的地址可以不管,它們都是固定在ROM裡面的,無論它們怎麼排列,都不會對程序產生影響。但是數據段的地址就必須得關心。數據段的數據時要從ROM拷貝到RAM中去的,而在RAM中,既有數據段data,也有堆棧段stack,還有通用的工作寄存器組。通常,工作寄存器組的地址是固定的,這就要求在絕對定址數據段時,不能使數據段覆蓋所有的工作寄存器組的地址。必須引起嚴重關注。
註:這里所說的「第一行代碼處」,並不一定是你自己寫的程序代碼,絕大部分都是編譯器代勞的,或者是編譯器自帶的demo程序文件。因為,你自己寫的程序(C語言程序)裡面,並不包含這些內容。高級一點的單片機,這些內容,都是在startup的文件裡面。
4、普通的flashMCU是在上電時或復位時,PC指針裡面的存放的是「0000」,表示CPU從ROM的0000地址開始執行指令,在該地址處放一條跳轉指令,使程序跳轉到_main函數中,然後根據不同的指令,一條一條的執行,當中斷發生時(中斷數量也很有限,2~5個中斷),按照系統分配的中斷向量表地址,在中斷向量裡面,放置一條跳轉到中斷服務程序的指令,如此如此,整個程序就跑起來了。決定CPU這樣做,是這種ROM結構所造成的。
註:特別的,如下
1--I/O口寄存器:也是可以被改變的量,它被安排在一個特別的RAM地址,為系統所訪問,而不能將其他變數定義在這些位置。
2--中斷向量表:中斷向量表是被固定在MCU內部的ROM地址中,不同的地址對應不同的中斷。每次中斷產生時,直接調用對應的中斷服務子程序,將程序的入口地址放在中斷向量表中。
ROM的大小疑問:對於flash類型的MCU,ROM空間的大小通常都是整位元組的,即為ak*8bits。這很好理解,一眼就知道,ROM的空間為aK。但是,對於某些OTP類型的單片機,比如holtek或者sonix公司的單片機,經常看到數據手冊上寫的是「OTP progarming ROM 2k*15bit...」,可能會產生疑惑,這個「15bit」認為是1個位元組有餘,2個位元組又不足,那這個ROM空間究竟是2k,多於2k,還是4k但是少了一點點呢?
答:這里要明確兩個概念:一個是指令的位寬,另一個是指令的長度。指令的位寬是指一條指令所佔的數據位的寬度;有些是8位位寬,有些是15位位寬。指令長度是指每條指令所佔的存儲空間,有1個位元組,有2個位元組的,也有3個位元組甚至4個位元組的指令。實事上也確實如此,當在反匯編或者匯編時,可以看到,復合指令的確是有簡單的指令組合起來的。
三、flash
關於flash,在單片機中需要外接,且需要cup具有SPI介面
例如:25PE80V6、25080BVSIG等
❻ 單片機新建的grace打不開main.cfg
未安裝正確的設備支持包。請檢查您是否正確安裝了單片機設備支持包。如果沒有,請按照官方文檔的指示安裝。
grace版本不兼容。請檢查您使用的grace版本是否與您的單片機設備支持包版本兼容。如果不兼容,請嘗試安裝兼容的版本。
項目文件已經損壞。請嘗試重新創建一個新的項目文件,並將您的沖察兄代碼復制散襲到新的項目文件中。
操作系統許可權不足。請檢查您是否有足夠的許可權打開main.cfg。如果沒有,請以管理員身份運行grace。
解決辦法:
確認是否安裝了正確的設備支持包,如果沒有請按照官方文檔的指示安裝。
確認grace版本是否兼容,如果不兼容請嘗試安裝兼容的版本。
嘗試重新創建一個新的項目沒兆文件,並將您的代碼復制到新的項目文件中。
以管理員身份運行grace。
❼ 單片機reg52.h頭文件有什麼作用
該文件的作用是使用符號P1(以及更多的符號),它通知C編譯器P1是在程序中編寫的,是指80C51單片機專用的P1埠而不是其他變數,只有聲明寄存器的地址及其相關的位,我們才能給它賦值,keil軟體才能被編譯。
單片機由運算單元、控制器、存儲器、輸入輸出設備組成。單片機自動給它的任務的過程,也就是單片機執行程序的過程,即行執行指令的過程,所謂指令要求單片機執行各種操作命令的形式寫下來。
這是設計人員賦予它的指令系統決定的,一條指令對應著一種基本操作;單片機可以執行所有的指令,是單片機的指令系統,不同種類的單片機,其指令系統也不同。
(7)單片機外設文件擴展閱讀:
單片機的組成:
它通過內部匯流排連接計算機的主要部分,包括地址匯流排、數據匯流排和控制匯流排。其中,地址匯流排的作用是在數據交換過程中提供地址,CPU通過它們將地址輸出到內存或I/O介面。數據匯流排的角色是在CPU和內存或I/O介面之間。
或在存儲器與外設之間交換數據;控制匯流排包括由CPU發送的控制信號線和發送到CPU的響應信號線。
由於單片機的結構和它的半導體技術,它有很多顯著的特點,所以在各個領域都得到了飛速的發展。
❽ 單片機中HSO和HIS外設是什麼
HSO是高速輸出肆升埠
HIS是高速輸入埠
他們與普通IO埠的主要區別就是由CAM寄存器管理而不是由CPU直接管理,這樣做可以節省CPU時間和晌雹廳加快響應速度。
具體信息請查看8098單片機數宴隱據手冊。
❾ 單片機里內部外設和外設分別是什麼
單片機內部的外設一般包括:串口控制模塊,SPI模塊,I2C模塊,A/D模塊,PWM模塊,CAN模塊,EEPROM,比較器模塊,等等,它們都集成在單片機內部,有相對應的內部控制寄存器,可通過單片機指令直接控制。
外設指的是單片機外部的外圍功能模塊,比如鍵盤控制晶元,液晶,A/D轉換晶元,等等。外設可通過單片機的I/O,SPI,I2C等匯流排控制。
❿ stm32系列單片機有哪些外設介面模塊
SPI、SDIO、FMSC、UART、I2C有的還有攝像頭介面,數字音頻介面。
主流產品(STM32F0、STM32F1、STM32F3)、超低功耗產品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能產品(STM32F2、STM32F4、STM32F7、STM32H7)。
產品介紹
在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經推出STM32基本型系列、增強型系列、USB基本型系列、互補型系列;新系列產品沿用增強型系列的72MHz處理頻李啟率。內存包括64KB到256KB快閃記憶體和20KB到64KB嵌入式SRAM。
新系列採用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結合STM32平台的設計理念,開發人員通過選擇產品可重新優化功能、存儲器、性能和引腳數量,以最小的帶逗硬體變化來滿足蠢擾賣個性化的應用需求。