广东工业大学STM8S系列单片机原理与应用 复习.docx
第1章基础知识STM8S 系列单片机原理与应用复习1.1 计算机的基本认识(1) 地址总线,寻址范围,STM8 寻址 224=16MB(2) 数据总线,字长,STM8 为 8 位单片机(3) 控制总线(1) 时钟周期(2) 机器周期:完成一个基本动作的时间。(3) 指令周期:一条指令所需的时间。STM8S:一个机器周期仅包含一个时钟周期。1.1.1 计算机系统的工作过程及其内部结构ALU:算术运算和逻辑运算存储器:ROM,RAM1.1.2 指令、指令系统及程序指令:操作码+操作数STM8:属CISC1.2 寻址方式确定指令中操作数所在存储单元地址的方式,就称为寻址方式。1.3 了解单片机特点及其发展趋势第 2 章 STM8S 系列 MCU 芯片内部结构 P 21STM8S103,STM8S105, STM8S207, STM8S208STM8S103(EEPROM 640B),STM8S003(EEPROM 128B),EEPROM 不一样大2.1 STM8S 系列MCU 性能概述16M 地址空间,I/O 引脚输入/输出可编程选择,内置 HSI 各LSI。内核:高级 STM8 内核,具有 3 级流水线的哈佛 结构扩展指令集存储器Stm8s105² 中等密度程序和数据存储器:² 最多 32K 字节 Flash;10K 次擦写后在² 55°C 环境下数据可保存 20 年² 数据存储器:多达 1K 字节真正的数据 EEPROM;可达 30万次擦写² RAM:多达 2K 字节时钟、复位和电源管理² 3.05.5V 工作电压,内核电压 1.8V² 灵活的时钟控制,4 个主时钟源² 低功率晶体振荡器² 外部时钟输入² 用户可调整的内部 16MHz RC² 内部低功耗 128kHz RC² 带有时钟监控的时钟安全保障系统电源管理:² 低功耗模式(等待、活跃停机、停机)² 外设的时钟可单独关闭² 永远打开的低功耗上电和掉电复位中断管理² 带有 32 个中断的嵌套中断控制器²6 个外部中断向量,最多 37 个外部中断定时器PWM)² 2 个 16 位通用定时器,带有 2+3 个 CAPCOM 通道(IC、OC 或² 高级控制定时器:16 位,4 个CAPCOM² 通道,3 个互补输出,死区插入和灵活的自动唤醒定时器² 2 个看门狗定时器:窗口看门狗和独立看 门狗通信接口² 带有同步时钟输出的 UART ,智能卡, 红外 IrDA,LIN 接口² SPI 接口最高到 8Mbit/s² I2C 接口最高到 400Kbit/s2.2 STM8S 系列MCU 内部结构 P222.2.1 STM8 内核CPU P24PC 为 24 位,可寻址 22416Mb累加器(A) , 堆栈指针(SP), 索引寄存器(X 和Y),条件码寄存器(CC):2.2.2 STM8S 封装与引脚排列2.3 掌握通用I/O 口GPIO 初始化P31 可选择的输入模式:悬空输入(缺省状态)和带上拉输入 可选择的输出模式:推挽式输出和开漏输出PB_DDR,PB_CR1,PB_CR22.3.2 I/O 引脚结构2.3.3 I/O 端口数据寄存器与控制寄存器2.3.4 输入模式2.3.5 输出模式每一个端口都有一个输出数据寄存器 (ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。控制寄存器 1(CR1)和控制寄存器 2(CR2)用于对输入/输出进行配置。任何一个 I/O 引脚可以通过 对DDR,ODR,CR1 和CR2 寄存器的相应位进行编程来配置。寄存器中的位 n 对应于口的引脚 n 。2.3.6 多重复用引脚的选择2.3.7 掌握 I/O 引脚初始化 P342.3.8 I/O 引脚负载能力2.4 STM8S 的电源供电及滤波2.5 复位电路2.5.1 复位状态寄存器RST_SR低电平复位=500ns2.5.2 外部复位电路 P392.6 时钟电路2.6.1 内部高速RC 振荡器时钟源HSI2.6.2 内部低速RC 振荡器时钟源LSI2.6.3 外部高速时钟源HSE2.6.4 掌握时钟源切换2.6.5 理解时钟安全系统(CSS)2.6.6 了解时钟输出2.6.7 掌握时钟初始化过程及特例熟悉 STM8S 的最小系统电路及其参数第 3 章 存储器系统及访问 P483.1 了解存储器结构 P48 图 3-1数据组织方式为大端方式,即低字节数放在高地址中,高字节数放在低地址中3.1.1 随机读写RAM 存储区 :640B6KB,支持 8 位和 16 地址3.1.2 Flash ROM 存储区 P50掌握UBC 存储区的大小与OPT1 的数值大小关系的计算表 3-1,表 3-23.1.3 数据EEPROM 存储区: 640B2KB,存放需要经常改写的非易失性数据, 擦写 30 万次以上。3.1.4 了解硬件配置选项区:大小 128B,存放系统硬件配置信息3.1.5 通用I/O 端口及外设寄存器区: 地址位于 005000 上0057FFH 之间。3.1.6 了解唯一ID 号存储区3.2 存储器读写保护与控制寄存器 523.2.1 理解存储器读保护(ROP)选择 P52选项字节 Opt0 为AAH,则EEPROM 和FLASH ROM 处于读保护状态。如果ICP编程下,Opt0 为 00H,则解除读保护。3.2.2 理解存储器写保护 P52通过 IAP 编程除UBC 外的主存储区之前,必需向FLASH_PUKR 写入MASS 密钥(56H,AEH)3.2.3 了解存储器控制寄存器3.3 了解Flash ROM 存储器IAP 编程字节编程,字编程, 块编程第 4 章 STM8 指令系统 P694.1 ST 汇编语言格式及其伪指令4.1.1 ST 汇编常数表示法4.1.2 ST 汇编语言格式4.1.3 ST 汇编支持的关系运算符 714.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 ram0R00 DS.B 1(3).task_1 全局标号 .(4) 外部标号:EXTERN task_1,task_2(5) DC 与DSDC 定义的常数放于ROM 中,DS 定义的变量放于RAM 中。4.2 掌握 STM8S 寻址方式4.2.1 立即寻址(Immediate) LD A,#$124.2.2 寄存器寻址 LD A,XL4.2.3 直接寻址(Direct) DEC R01LD A,$804.2.4 寄存器间接寻址CLR (TABAR,Y )LD A,(X)4.2.5 变址寻址(Indexed) LD A,(TAB1,X)4.2.6 以存储单元作间址的间接寻址方式 LD $60.W,A4.2.7 复合寻址方式 LD ($60.W,X),A4.2.8 相对寻址 JP NEXT14.2.9 隐含寻址 LD A,20H4.2.10 位寻址 BTFT 200H,#2,NEXT4.3 STM8S 指令系统 834.3.1 数据传送(Load and Transfer)指令 P834.3.2 算术运算(Arithmetic operations)指令 P914.3.3 增量/减量(Increment/decrement)指令 P1014.3.4 逻辑运算(Logical operations)指令 P1024.3.5 位操作(Bit Operation)指令 P1054.3.6 移位操作(Shift and Rotates)指令 P1074.3.7 比较(Compare)指令 P1104.3.8 正负或零测试(Tests)指令 P1114.3.9 控制及转移(Jump and Branch)指令 P111第 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 子程序结构 1315.3 程序基本结构5.3.1 顺序结构 P1325.3.2 循环结构 P1355.3.3 分支程序结构 P1355.4 了解并行多任务程序结构及实现5.4.1 串行多任务程序结构与并行多任务程序结构 1405.4.2 并行多任务程序结构 1415.5 会使用程序仿真与调试第 6 章 STM8 中断控制系统6.1 了解CPU 与外设通信方式概述6.1.1 查询方式6.1.2 中断通信方式6.2 STM8S 中断系统6.2.1 中断源及其优先级中断源, 不可屏蔽中断源优先级的设置,四级:11,00,01,10 表 6-2 复位值为 FFH,优先级都为最高P154 图 6-3 中断嵌套示意图6.2.2 中断响应条件与处理过程 P154 开中断RIM,关中断SIM6.2.3 外中断源及其初始化 P1556.2.4 中断服务程序结构 P157第 7 章 STM8S 系列MCU 定时器P159 表 7-1,16 位,8 位,向上,向下计数方式。7.1 了解高级控制定时器TIM1 结构 P1617.2 理解TIM1 时基单元 P1617.2.1 16 位预分频器TIM1_PSCR 1627.2.2 16 位计数器TIM1_CNTR 1627.2.3 16 位自动装载寄存器TIM1_ARR 1637.2.4 计数方式7.2.5 重复计数器TIM1_RCR7.2.6 更新事件(UEV)与更新中断(UIF)控制逻辑7.3 TIM1 时钟及触发控制7.3.1 主时钟触发信号7.3.2 外部时钟模式 17.3.3 外部时钟模式 27.3.4 触发同步 1737.4 了解捕获/比较通道7.4.1 输入模块内部结构7.4.2 输入捕获初始化与操作举例7.4.3 输出比较7.4.4 输出比较初始化举例7.5 定时器中断控制7.6 通用定时器 TIM2/TIM37.6.1 通用定时器TIM2/TIM3 结构7.6.2 通用定时器时基单元7.6.3 通用定时器输入捕获/输出比较7.6.4 掌握通用定时器TIM2/TIM3 初始化7.7 了解窗口看门狗定时器WWDG7.7.1 窗口看门狗定时器结构及其溢出时间7.7.2 窗口看门狗定时器初始化7.7.3 在Halt 状态下 WWDG 定时器的活动7.8 硬件看门狗定时器IWDG7.8.1 硬件看门狗定时器结构 ,LSI7.8.2 掌握硬件看门狗定时器控制与初始化 P191第 8 章 STM8S MCU 串行通信8.1 串行通信的概念8.1.1 串行通信的种类8.1.2 波特率8.1.3 串行通信数据传输方向8.1.4 串行通信接口的种类8.2 UART 串行通信接口8.2.1 UART 串行通信波特率设置f收发波特率MASTERUART _ DIVUART_BRR2 写入四位十六进制数的前后两位数,UART_BRR1 写入四位十六进制数的中间两位数。8.2.2 UART 串行通信信息帧格式8 个数据位或 9 个数据位8.2.3 奇偶校验选择控制寄存器1(UART_CR1)76543210R8T8UARTDMWAKEPCENPSPIEN位 7位 6位 5R8: 接收数据位 8该位用来在 M=1 时存放接收到字的第 9 位T8: 接收数据位 8该位用来在 M=1 时存放待发送字的第 9 位UARTD: UART禁用(用以实现低功耗) 当该位置 1,UART 预分频器和输出在当前字节传输完成后停止工作,用来降低功耗。该位由软 件置 1 或者清 00:UART 使能;1:UART 预分频器和输出禁用。位 4M: 字长 该位定义了数据字的长度,由软件对其置位和清零操作0:一个起始位,8 个数据位,n 个停止位(n 取决于 UART_CR3 中的 STOP1:0位)1:一个起始位,9 个数据位,一个停止位。 注意:在数据传输过程中(发送或者接收时),不能修改这个位。 在 LIN 从模式,M 位和UART_CR3 寄存器的 STOP1:0应当保持为 0位 3WAKE: 唤醒的方法 这位决定了把 USART 唤醒的方法,由软件对该位置位或者清零。0:被空闲总线唤醒;1:被地址标记唤醒。位 2PCEN: 奇偶校验控制使能UART 模式: 用该位来选择是否进行硬件奇偶校验控制(对于发送来说就是校验位的产生;对于接收来说就是 校验位的检测)。当使能了该位,在发送数据的MSB(如果 M=1,MSB 就是第 9 位; 如果 M=0, MSB 就是第 8 位)位后插入校验位;对接收到的数据检查其校验位。软件对它置位或者清0。一旦该位被置位,当前字节传输完成后,校验控制才生效。0:奇偶校验控制被禁用;1:奇偶校验控制被使能。LIN 从模式:在 LIN 从模式下,该位使能 LIN 标识符奇偶校验检测0:标识符奇偶校验控制被禁止;1:标识符奇偶校验控制被使能。位 1PS: 奇偶校验选择 该位用来选择当奇偶校验校验控制使能后,是采用偶校验还是奇校验。软件对它置位或者清零。当前字节传输完成后,该选择生效。0:偶校验;1:奇校验。位 0PIEN: 校验中断使能 软件对该位置位或者清零0:中断被禁止;1:当 USART_SR 中的 PE 为 1 时,产生 USART 中断。控制寄存器2(UART_CR2)76543210TIENTCIENRIENILIENTENRENRWUSBK位 7TIEN: 发送中断使能 软件对该位置位或者清零0:中断被禁止;1:当 USART_SR 中的 TXE 为 1 时,产生 USART 中断。位 6TCIEN: 发送完成中断使能软件对该位置位或者清零0:中断被禁止;1:当 USART_SR 中的 TC 为 1 时,产生 USART 中断。位 5RIEN: 接收中断使能 软件对该位置位或者清零0:中断被禁止;1:当 USART_SR 中的 OR 或者RXNE 为 1 时,产生 USART 中断。位 4ILIEN: IDLE 中断使能 软件对该位置位或者清零0:中断被禁止;1:当 USART_SR 中的 IDLE 为 1 时,产生 USART 中断。位 3TEN: 发送使能(1)(2)该位使能发送器。软件对该位置位或者清零0:发送被禁止;1:发送被使能。位 2REN: 接收使能 软件对该位置位或者清零 0:接收被禁止;1:接收被使能,开始搜寻 RX 引脚上的起始位。位 1RWU: 接收唤醒UART 模式: 该位用来决定是否把 USART 置于静默模式。软件对该位置位或者清零。当一个唤醒序列被识别 出来时,硬件也会将其清零。(3)(4)LIN 模式: 在 LIN 从模式下,设置 RWU 位允许对 LIN 报文头的检测而拒绝接收其他字符。参见章节静默模式 与错误。在 LIN 从模式下,当 RDRF 位置 1 时,软件不能设置或者清零 RWU 位。0:接收器处于正常工作模式;1:接收器处于静默模式。位 0SBK: 发送断开帧 使用该位来发送断开字符。软件可以对该位置位或者清零。应该由软件来置位它,然后在断开帧的停止位时,由硬件将该位复位。0:没有发送断开字符;1:将要发送断开字符。108.2.4 数据发送/接收过程MOV UART_DR, #12HUART 串行通信中最好用中断方式检测帧是否发送结束。8.2.5 多机通信8.2.6 UART 同步模式8.2.7 UART 串行通信的初始化步骤8.3 RS232C 串行接口标准及应用8.3.1 RS232C 的引脚功能8.3.2 RS232C 串行接口标准中主信道重要信号的含义8.3.3 电平转换8.3.4 RS232C 的连接8.3.5 通信协议及约定8.4 了解 RS422/RS485 总线8.4.1 RS422 接口标准8.4.2 RS485 标准8.4.3 RS422/RS485 标准性能指标8.4.4 RS485/RS422 标准接口芯片简介8.4.5 RS485/RS422 通信接口实际电路8.4.6 避免总线冲突方式8.5 串行外设总线接口(SPI)8.5.1 STM8S 系列芯片SPI 接口部件结构8.5.2 STM8S 系列芯片SPI 接口部件功能118.5.3 STM8S 系列芯片SPI 接口部件的初始化第 9 章 ADC 转换器及其使用9.1 ADC 转换器概述9.2 ADC 转换器功能选择9.2.1 理解分辨率与转换精度9.2.2 转换方式选择9.2.3 转换速度设置9.2.4 触发方式 2379.3 掌握 ADC 转换器初始化过程9.4 提高 ADC 转换精度与转换的可靠性第 10 章 数字信号输入/输出接口电路10.1 开关信号的输入/输出方式10.2 I/O 资源及扩展10.2.1 STM8S 系统扩展 I/O 引脚资源策略10.2.2 利用串入并出及并入串出芯片扩展I/O 口10.2.3 利用MCU 扩展I/O10.3 STM8S 与总线接口设备的连接10.4 简单显示驱动电路10.4.1 发光二极管1210.4.2 驱动电路10.4.3 LED 发光二极管显示状态及同步10.5 LED 数码管及其显示驱动电路 P26010.5.1 LED 数码管10.5.2 LED 数码显示器接口电路10.5.3 LED 点阵显示器及其接口电路10.6 LCD 模块显示驱动电路10.6.1 以T6963C 为显示控制芯片的LCD 模块接口及时序10.6.2 T6963C 操作命令10.6.3 屏幕像点与显示RAM 之间的对应关系及模块的初始化10.6.4 应用举例10.7 键盘电路10.7.1 按键结构与按键电压波形10.7.2 键盘电路形式10.7.3 键盘按键编码10.7.4 键盘监控方式10.8 光电耦合器件接口电路10.9 单片机与继电器接口电路10.10 电平转换电路10.10.1 高压器件驱动低压器件接口电路10.10.2 低压器件驱动高压器件接口电路 3201310.10.3 非轨对轨运放构成的比较器驱动数字IC 电路 321第 11 章 STM8S 应用系统设计11.1 了解硬件设计11.1.1 硬件资源分配11.1.2 硬件可靠性设计11.1.3 元器件选择原则11.1.4 印制电路设计原则11.2 软件设计11.2.1 存储器资源分配11.2.2 程序语言及程序结构选择11.3 STM8 芯片提供的可靠性功能11.3.1 提高晶振电路的可靠性11.3.2 使用存储器安全机制保护程序代码不被意外改写11.3.3 硬件看门狗11.4 软件可靠性设计11.4.1 PC“跑飞”及其后果11.4.2 降低PC“跑飞”对系统的影响11.4.3 PC“跑飞”拦截技术11.4.4 检查并消除STM8 指令码中不需要的关键字节11.4.5 提高信号输入/输出的可靠性1411.4.6 选择合适的判别条件提高软件的可靠性11.4.7 增加芯片硬件自检功能15