『壹』 MCS-51單片機的概念我搞不清
一、MCS-51單片機有一個8位的CPU。(根據我在微機原理課中學的,應該可定址:2的8次方=256B。)
二、可是書本上的片內為128B的ROM,8051是4KB的ROM,8751是4KB的ERROM,這個又是什麼意思,很困惑,理不清。一會兒數據存儲器,一會程序存儲器的。擁有8位的CPU作何解釋?
答:
一、你的說法,混淆了一個東西:CPU不是用來定址的,它只負責運算,定址有另外的組件去完成,所以8位的CPU並不妨礙單片機16位的定址寬度。
二、通常理解ROM為程序存儲器,因為它一旦燒錄就不可更改。理解RAM為數據存儲器,因為單片機運行時產生的臨時數據經常會發生變化,存取的頻率很高,故要求存儲器為可讀可寫的。
但是在一些特殊情況下,我們需要程序也是可修改的,那麼要求程序存儲器為可讀可寫的,於是就應運而生EPROM和EEPROM,它們只是可擦得存儲器而已,只不過要特殊的擦除方法。一般8751中的「7」表示內部ROM為EPROM,8951中的「9」表示內部ROM為EEPROM。
『貳』 「GPIO」是什麼,和單片機、ARM上的「引腳」有什麼區別
GPIO這個問題很多人都混淆。
本身的概念
GPIO是General-Purpose Input / Output。
-------------
到了單片機上,單片機有很多管腳(PIN)
-------------
PIN除了一些特殊的,比如電源,比如地線,晶振接線等等,很多都可以任意定義成兩種功能中的一種:1. 模塊的管腳,2. GPIO
--------------
當定義為模塊管腳時,PIN起模塊中定義的功能。比如定義成SPI模塊的管腳,那就按照具體晶元的規定,或者定義成MOSI,或者定義成MISO,或者定義成SCLK,這些不是任意的。SPI是模塊,MISO等是功能管腳。
--------------
當定義成GPIO時,可以定義成高阻,輸入,或者輸出。這時候,就可以用作操作控制位,點LED燈等功能了。
--------------
很多模塊的功能管腳,嚴格意義上來講也是IO,比如CANH,CANL,所以這里為了避免混淆,就將沒有定義成模塊功能管腳的那些單片機管腳定義成General Purpose的IO了,以示區別。
『叄』 在單片機裡面這個符號是什麼意思(~)
~是按位反,將它後面的數一一取反,與它易混淆的是 !。
!是位反,每次操作一位
如!P1_0和 ~P1
如果滿意,請點贊採納