51单片机学习是在3年前学的,有的地方可能忘记,总结不到。为了以后回忆,现大致总结下。
51概述
MCS-51使用哈佛结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM(甚至是x86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。
51单片机的组成:
8位CPU、片内256RAM、4KB flash ROM、4个并行8位I/O口、两个16位的定时计数器、5个中断源两个中断优先级的中断控制系统、一个全双功的UART等
(只能用此单片机干这么多事情)
51单片机有以下几个内存模块:
1、ROM或者Flash,叫程序存储区,你写的程序是存在这里面的,上电后从这里面执行。
程序存储区也分为片内和片外,一般来说,现在的51很多已经做到了64K,所以很少有外扩片外Flash或者片外的Rom了,Flash或者Rom不管是片内还是片外的,只能用来定义常量,是用code来修饰,也就是说,用code来修饰的东西,在程序运行过程中,不能修改;
2、RAM有------内部RAM的低128位(00-7F),对应C语言就是data,比如我定义一个变量,