| ─ 数据存储器:多达 1K 字节真正的数据 EEPROM ;可达 30 万次擦写 RAM :多达 2K 字节 时钟、复位和电源管理 3.0~5.5V 工作电压,内核电压 1.8V, Vcap 灵活的时钟控制, 4 个主时钟源 – 低功率晶体振荡器 – 外部时钟输入 – 用户可调整的内部 16MHz RC – 内部低功耗 128kHz RC 带有时钟监控的时钟安全保障系统 电源管理: – 低功耗模式 ( 等待、活跃停机、停机 ) – 外设的时钟可单独关闭 永远打开的低功耗上电和掉电复位 中断管理 带有 32 个中断的嵌套中断控制器 6 个外部中断向量,最多 37 个外部中断 定时器 2 个 16 位通用定时器,带有 2+3 个 CAPCOM 通道 (IC 、 OC 或 PWM) 高级控制定时器: 16 位, 4 个 CAPCOM 通道, 3 个互补输出,死区插入和灵活的自动唤醒定时器 2 个看门狗定时器:窗口看门狗和独立看 门狗 通信接口 带有同步时钟输出的 UART , 智能卡, 红外 IrDA , LIN 接口 SPI 接口最高到 8Mbit/s I2C 接口最高到 400Kbit/s 2.2 STM8S 系列 MCU 内部结构 P 22 2.2.1 STM8 内核 CPU P 24 PC 为 24 位,可寻址 2 24 = 16Mb 累加器 (A) , 堆栈指针 (SP), 索引寄存器 (X 和 Y), 条件码寄存器 (CC): 2.2.2 STM8S 封装与引脚排列 2.3 掌握通用 I/O 口 GPIO 初始化 P31 ● 可选择的输入模式:悬空输入(缺省状态)和带上拉输入 ● 可选择的输出模式:推挽式输出和开漏输出 PB_DDR,PB_CR1,PB_CR2 2.3.1 I/O 引脚结构 2.3.2 I/O 端口数据寄存器与控制寄存器 2.3.3 输入模式 2.3.4 输出模式 每一个端口都有一个输出数据寄存器 (ODR) ,一个引脚输入寄存器 (IDR) 和一个数据方向寄存器 (DDR) 总是同相关的。 控制寄存器 1(CR1) 和控制寄存器 2(CR2) 用于对输入 / 输出进行配置。 任 何一个 I/O 引脚可以通过 对 DDR,ODR,CR1 和 CR2 寄存器的相应位进行编程 来配置。 下载文档到电脑,查找使用更方便 2下载券 8人已下载 下载 还剩12页未读,继续阅读
寄存器中的位 n 对应于口的引脚 n 。 2.3.5 多重复用引脚的选择 2.3.6 掌握 I/O 引脚初始化 P34 MOV PB_DDR,#OFFH MOV PB_CR1,#OFFH MOV PB_CR2,#00H 2.3.7 I/O 引脚负载能力 2 mA 以下,直接驱动方式 2.4 STM8S 的电源供电及滤波 3-5.5V , 2.5 复位电路 2.5.1 复位状态寄存器 RST_SR 低电平复位〉 =500ns 2.5.2 外部复位电路 P39 2.6 时钟电路 2.6.1 内部高速 RC 振荡器时钟源 HSI 2.6.2 内部低速 RC 振荡器时钟源 LSI 2.6.3 外部高速时钟源 HSE 2.6.4 掌握时钟源切换 2.6.5 理解时钟安全系统 (CSS) 2.6.6 了解时钟输出 2.6.7 掌握时钟初始化过程及特例 熟悉 STM8S 的最小系统电路及其参数 第 3 章 存储器系统及访问 P48 3.1 了解存储器结构 P 48 图 3-1 数据组织方式为大端方式,即低字节数放在高地址中,高字节数放在低地址中 3.1.1 随机读写 RAM 存储区 : 640B~6KB, 支持 8 位和 16 地址 3.1.2 Flash ROM 存储区 P50 掌握 UBC 存储区的大小与 OPT1 的数值大小关系的计算 表 3-1, 表 3-2 3.1.3 数据 EEPROM 存储区: 640B~2KB, 存放需要经常改写的非易失性数据, 擦写 30 万次以上。 3.1.4 了解硬件配置选项区:大小 128B, 存放系统硬件配置信息 3.1.5 通用 I/O 端口及外设寄存器区: 地址位于 005000 上 ~0057FFH 之间。 3.1.6 了解唯一 ID 号存储区 3.2 存储器读写保护与控制寄存器 52 3.2.1 理解存储器读保护 (ROP) 选择 P 52 选项字节 Opt0 为 AAH ,则 EEPROM 和 FLASH ROM 处于读保护状态。如果 ICP 编程下, Opt0 为 00H, 则解除读保护。 3.2.2 理解存储器写保护 P 52 通过 IAP 编程除 UBC 外的主存储区之前,必需向 FLASH_PUKR 写入 MASS 密 钥( 56H,AEH ) 3.2.3 了解存储器控制寄存器 3.3 了解 Flash ROM 存储器 IAP 编程 字节编程,字编程, 块编程 第 4 章 STM8 指令系统 P69 4.1 ST 汇编语言格式及其伪指令 4.1.1 ST 汇编常数表示法 4.1.2 ST 汇编语言格式 4.1.3 ST 汇编支持的关系运算符 71 4.1.4 ST 汇编伪指令 (Pseudoinstruction) 1 )插入外部文件: #include< 文件名 > 2 )常量、变量定义伪指令 #define #define 常量名 值 如 #define VAR1 $30 常量 VAR1 为 30H #define TELE_CR1 PD_DDR,#3 3 )标号属性伪指令 ( 1 )三种属性: .B,.W,.L ( 2 )如定义变量 : Segment ram0 R00 DS.B 1 ( 3 ) .task_1 全局标号 . ( 4 )外部标号: EXTERN task_1,task_2 ( 5 ) DC 与 DS DC 定义的常数放于 ROM 中, DS 定义的变量放于 RAM 中。 Δ 4.2 掌握 STM8S 寻址方式 4.2.1 立即寻址 (Immediate) LD A, #$12 4.2.2 寄存器寻址 LD A,XL 4.2.3 直接寻址 (Direct) DEC R01 LD A, $80 4.2.4 寄存器间接寻址 CLR (TABAR,Y ) LD A, (X) 4.2.5 变址寻址 (Indexed) LD A, (TAB1,X) 4.2.6 以存储单元作间址的间接寻址方式 LD [$60.W], A 4.2.7 复合寻址方式 LD ([$60.W],X) ,A 4.2.8 相对寻址 JP NEXT1 4.2.9 隐含寻址 LD A ,20H 4.2.10 位寻址 BTFT 200H,#2 ,NEXT 4.3 STM8S 指令系统 83 4.3.1 数据传送 (Load and Transfer) 指令 P 83 4.3.2 算术运算 (Arithmetic operations) 指令 P 91 4.3.3 增量 / 减量 (Increment/decrement) 指令 P 101 4.3.4 逻辑运算 (Logical operations) 指令 P 102 4.3.5 位操作 (Bit Operation) 指令 P 105 4.3.6 移位操作 (Shift and Rotates) 指令 P 107 4.3.7 比较 (Compare) 指令 P 110 4.3.8 正负或零测试 (Tests) 指令 P 111 4.3.9 控制及转移 (Jump and Branch) 指令 P 111 第 5 章 汇编语言程序设计 5.1 熟悉 STVD 开发环境与 STM8 汇编语言程序结构 5.1.1 STVD 开发环境中创建工作站文件 5.1.2 STVD 自动创建项目文件内容 5.1.3 完善 STVD 自动创建的项目文件内容 5.1.4 在项目文件中添加其他文件 5.2 STM8 汇编程序结构 5.2.1 子程序与中断服务程序在主模块内 5.2.2 子程序与中断服务程序在各自模块内 5.2.3 子程序结构 131 5.3 程序基本结构 5.3.1 顺序结构 P 132 5.3.2 循环结构 P 135 |