‘壹’ 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
如果满意,请点赞采纳