寄存器 ROM RAM 管脚 定时器
寄存器是一种能够接收占存传递各种二进制数据或信息的时序逻辑电路。在自动化控制系统,计算器和计算机中得到了广泛应用。
ROM 的优点是存储的东西断电后不会丢失,缺点是存储的东西上电后不能更改,想要改变 ROM 的内容除
非重新下载程序,而且下载次数有限制,FLASH 的 ROM 最大次数通常是 10 万次,而 OTP 的 ROM 只能下载 1
次,所以平时上电工作时 ROM 存储的东西是不能更改的,某些具有 IAP 功能的高级单片机不在此讨论范围内。
而 RAM 恰好反过来,RAM 的优点是存储的东西上电后可以随时被单片机更改,更改次数没有限制,缺点是存
储的东西断电后会丢失,没有记忆功能。
ROM 和 RAM 各有特点,单片机从中各取所长。ROM 用来存储不可更改的指令代码和常量数据,ROM 的容量
往往相当于代码的容量。RAM 用来存储可以被更改的变量数据,RAM 的容量往往相当于全局变量和局部变量
的容量。不管是用 C 语言还是汇编,所写的程序代码就自然包含了指令代码、常量数据、全局变量、局部变
量,那么谁在幕后帮我们进行分类存储,谁把一个程序代码的一分为二让它们在 ROM 和 RAM 里各就各位?是
编译器软件和下载器(烧录器),编译器除了把 C 语言翻译成机器语言之外,还帮我们分好了类,分配好了存
储的地址和位置,下载器(烧录器)再根据这些信息把程序存储到内存中,这些工作一般不用程序员干预,它
们自动完成。【书上的内容】
管脚是单片机与外部电路进行能量和信息交互的桥梁。有电源,复位,晶振和 IO 口这 4 类管脚。
第一类电源管脚。是给单片机内部电路供电的接口。单片机有两种常用的供电电压,一般是 3.3V 或者
5V,有的单片机两种电压都兼容。
第二类复位管脚。单片机上电后需要外部电路给它一个瞬间高电平或者低电平的复位信号,才能启动工
作。复位电路通常是由电容和电阻组成的充电电路来实现,也有一些系统是用专门的复位芯片来实现。
第三类晶振管脚。任何单片机想要工作必须要有晶振。单片机执行程序指令是按一个节拍一个节拍来执
行的。这个节拍的时间就是由晶振产生,所以把晶振比喻成单片机的心脏是非常恰当的。现在也有很多单片
机直接把晶振集成到内部,这类单片机不用外接晶振也可以。
第四类 IO 口管脚。这是跟我们编写程序关联最密切的管脚。前面提到的电源,复位,晶振这 3 种管脚
是为了让单片机能工作,俗称单片机工作的三要素。而单片机工作的具体内容就是通过 IO 口管脚来体现的。
比如,IO 口能识别按健的输入,也能输出驱动继电器工作的开关信号,也能跟外围器件进行通信。【书上的内容】
单片机最小的时间单位:不应该直接说是什么单位,应该说跟晶振,还有指令周期包含的机器周期有关(如果最简单的一条指令都需要5个机器周期,那光说晶振也不行,搞懂原理好过去死记硬背什么微秒纳秒毫秒的,这些是可以算出来的)。
定时器中断考虑的不是指令周期,而是振荡周期,分频器,还有计数器的位数。
(下边是群里看到的问题 就好奇查了一下)
两片74HC595级联后,如果写入三个数据,会跟队列一样,先进先出,第一个数据会被挤出去,第三个数据到第一个595,第二个数据会从第一个595挪到第二个。
74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7'输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。
搜了一下 大概知道了问题和级联的意思。
(尝试从最基础的结构开始了解)