assass123
发表于 2025-5-5 11:50:01
在线仿真操作细节
assass123
发表于 2025-5-5 11:55:22
产品选型
assass123
发表于 2025-5-5 11:57:03
打卡第四集 单片机内部机构
系统时钟控制
系统时钟控制器为单片机的 CPU 和所有外设系统提供时钟源,系统时钟有 3 个时钟源可供选择:内
部高精度 IRC、内部 32KHz 的 IRC(误差较大)、外部晶振。用户可通过程序分别使能和关闭各个时钟
源,以及内部提供时钟分频以达到降低功耗的目的。单片机进入掉电模式后,时钟控制器将会关闭所有
的时钟源.
存储器
STC8H 系列单片机的程序存储器和数据存储器是各自独立编址的。由于没有提供访问外部程序存储
器的总线,所有单片机的所有程序存储器都是片上 Flash 存储器,不能访问外部程序存储器。
STC8H 系列单片机内部集成了大容量的数据存储器。STC8H 系列单片机内部的数据存储器在物理
和逻辑上都分为两个地址空间:内部 RAM(256 字节)和内部扩展 RAM。其中内部 RAM 的高 128 字节的
数据存储器与特殊功能寄存器(SFRs)地址重叠,实际使用时通过不同的寻址方式加以区分。
程序存储器
程序存储器用于存放用户程序、数据以及表格等信息。
单片机复位后,程序计数器(PC)的内容为 0000H,从 0000H 单元开始执行程序。另外中断服务程序的入口
地址(又称中断向量)也位于程序存储器单元。在程序存储器中,每个中断都有一个固定的入口地址,当中断
发生并得到响应后,单片机就会自动跳转到相应的中断入口地址去执行程序。外部中断 0(INT0)的中断服务
程序的入口地址是 0003H,定时器/计数器 0(TIMER0)中断服务程序的入口地址是 000BH,外部中断 1(INT1)
的中断服务程序的入口地址是 0013H,定时器/计数器 1(TIMER1)的中断服务程序的入口地址是 001BH 等。
更多的中断服务程序的入口地址(中断向量)请参考中断介绍章节。
由于相邻中断入口地址的间隔区间仅仅有 8 个字节,一般情况下无法保存完整的中断服务程序,因此在
中断响应的地址区域存放一条无条件转移指令,指向真正存放中断服务程序的空间去执行。
STC8 系列单片机中都包含有 Flash 数据存储器(EEPROM)。以字节为单位进行读/写数据,以 512 字节为
页单位进行擦除,可在线反复编程擦写 10 万次以上,提高了使用的灵活性和方便性
assass123
发表于 2025-5-5 12:28:00
打卡第五集 存储器空间与存储器,单片机引脚
assass123
发表于 2025-5-7 23:06:47
工具设置IO模式
assass123
发表于 2025-5-7 23:11:17
打卡第六集 IO口的工作模式
STC8H 系列单片机所有的 I/O 口均有 4 种工作模式:准双向口/弱上拉(标准 8051 输出口模式)、推
挽输出/强上拉、高阻输入(电流既不能流入也不能流出)、开漏模式。可使用软件对 I/O 口的工作模式
进行配置。
关于 I/O 的注意事项:
1、 P3.0 和 P3.1 口上电后的状态为弱上拉/准双向口模式
2、 除 P3.0 和 P3.1 外,其余所有 IO 口上电后的状态均为高阻输入状态,用户在使用 IO
口前必须先设置 IO 口模式
3、 芯片上电时,若 P3.0 和 P3.1 同时为低电平,P3.2 口会短时间由高阻输入状态切换
到双向口模式,用以读取 P3.2 口外部状态来判断是否需要进入 USB 下载模式
4、 芯片上电时如果不需要使用 USB 进行 ISP 下载,P3.0/P3.1/P3.2 这 3 个 I/O 口不能
同时为低电平,否则会进入 USB 下载模式而无法运行用户代码
5、 当使用 P5.4 当作复位脚时,这个端口内部的 4K 上拉电阻会一直打开;但 P5.4 做普
通 I/O 口时,基于这个 I/O 口与复位脚共享管脚的特殊考量,端口内部的 4K 上拉电
阻依然会打开大约 6.5 毫秒时间,再自动关闭(当用户的电路设计需要使用 P5.4 口
驱动外部电路时,请务必考虑上电瞬间会有 6.5 毫秒时间的高电平的问题)
assass123
发表于 2025-5-10 19:25:50
打卡第七集汇编语言进阶
指令系统寻址方式
寻址方式是每一种计算机的指令集中不可缺少的部分。寻址方式规定了数据的来源和目的地。对不同的
程序指令,来源和目的地的规定也会不同。在 STC 单片机中的寻址方式可概括为:
1 立即寻址
立即寻址也称立即数,它是在指令操作数中直接给出参加运算的操作数,其指令格式如下:
如:MOV A, #70H
这条指令的功能是将立即数 70H 传送到累加器 A 中。
2 直接寻址
在直接寻址方式中,指令操作数域给出的是参加运算操作数地址。直接寻址方式只能用来表示特殊功能
寄存器、内部数据寄存器和位地址空间。其中特殊功能寄存器和位地址空间只能用直接寻址方式访问。
3 间接寻址
间接寻址采用 R0 或 R1 前添加“@”符号来表示。
4 寄存器寻址
寄存器寻址是对选定的工作寄存器 R7~R0、累加器 A、通用寄存器 B、地址寄存器和进位 C 中的数进行操
作。其中寄存器 R7~R0 由指令码的低 3 位表示,ACC、B、DPTR 及进位位 C 隐含在指令码中。因此,寄存器寻
址也包含一种隐含寻址方式。
寄存器工作区的选择由程序状态字寄存器 PSW 中的 RS1、RS0 来决定。指令操作数指定的寄存器均指当前
工作区中的寄存器。
5 相对寻址
相对寻址是将程序计数器 PC 中的当前值与指令第二字节给出的数相加,其结果作为转移指令的转移地
址。转移地址也称为转移目的地址,PC 中的当前值称为基地址,指令第二字节给出的数称为偏移量。由于目
的地址是相对于 PC 中的基地址而言,所以这种寻址方式称为相对寻址。偏移量为带符号的数,所能表示的范
6 变址寻址
在变址寻址方式中,指令操作数指定一个存放变址基值的变址寄存器。变址寻址时,偏移量与变址基值
相加,其结果作为操作数的地址。变址寄存器有程序计数器 PC 和地址寄存器 DPTR。
7 位寻址
位寻址是指对一些内部数据存储器 RAM 和特殊功能寄存器进行位操作时的寻址。在进行位操作时,借助
于进位位 C 作为位操作累加器,指令操作数直接给出该位的地址,然后根据操作码的性质对该位进行位操作。
位地址与字节直接寻址中的字节地址形式完全一样,主要由操作码加以区分,使用时应注意。
assass123
发表于 2025-5-10 20:10:31
打卡第八集汇编语言 数据传送 逻辑运算 算术运算
assass123
发表于 2025-5-10 20:36:58
数据传送 逻辑运算 算术运算
assass123
发表于 2025-5-10 21:28:04
打卡第九集 汇编指令 位操作和移位操作