1、大连理工大学网络教育学院第 1 页 共 11 页单片机原理及应用辅导资料三主 题:课件第二章单片机的基本结构和原理第 5-9 节学习时间:2015 年 4 月 13 日4 月 19 日内 容:我们这周主要学习课件第二章单片机的基本结构和原理第 5-9 节的相关内容。希望通过下面的内容能使同学们加深对单片机相关知识的理解。一、学习要求掌握 IO 端口、中断、定 时器计数器的各自功能和应用特点二、主要内容1STM32F10X 系列处理器的内部结构图 1 STM32F10X 系列处理器 结构图主要特点:2V-3.6V 供电;兼容 5V 的 IO 引脚;优异的安全时钟模式;低功耗模式;内部 RC 振荡
2、器;内嵌复位电路;工业级的宽温应用范围。大连理工大学网络教育学院第 2 页 共 11 页2通用输入输出口(GPIO )(1)GPIO 的基本结构(2)GPIO 的工作模式 输入模式 输入浮空 输入上拉 输入下拉 模拟输入 输出模式 开漏输出 推挽式输出 推挽式复用功能 开漏复用功能(3)GPIO 的主要寄存器 端口配置寄存器 GPIOx_CRL,GPIOx_CRH MODEx1:000:输入模式(复位后状态)01-10-11:输出模式(10M,2M,50M)大连理工大学网络教育学院第 3 页 共 11 页 CNFx1:0 MODEx=0000:模拟输入;01:浮空输入;10:上拉/下拉输入;1
3、1:保留 MODEx0000:通用推挽输出;01:通用开漏输出;10:复用推挽输出;11:复用开漏输出 端口输入数据寄存器(GPIOx_IDR) 端口输出数据寄存器(GPIOx_ODR) 端口位设置/清除寄存器(GPIOx_BSRR) 端口位清除寄存器(GPIOx_BRR)(4)GPIO 的简单应用硬件电气连接:通过 STM32F10x 的 PA12 脚操作 LED 初始化端口RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); /使能端口 A 的时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12; /选择
4、PA12 脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /选择引脚模式为推挽式输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; /选择引脚的操作速度大连理工大学网络教育学院第 4 页 共 11 页GPIO_Init(GPIOA, /应用 端口操作 点亮 LED:GPIO_ResetBits(GPIOA, GPIO_Pin_12); 熄灭 LED:GPIO_SetBits(GPIOA, GPIO_Pin_12); (5)GPIO 使用注意事项 接口电平识别 VIH/VIL,VOH/VOL T
5、TL 和 CMOS 电平的关系 负载对电平的影响 IO 口的 PMOS 和 NMOS 的 Rds 电阻影响; 寄生二极管和移位 MOS 器件的 Rds; 重负载对 VOH 和 VOL 的影响。 IO 端口的耐受能力 电流和电压 连接方式对速度的影响 上拉电阻及 IO 口对地电容 连接方式对电平逻辑的影响 与 5V 器件接口 单输出型 直接连接(3.3V 兼容型) 开漏输出(5V 引脚兼容型) 通过胶联逻辑电路 单输入型 直接连接(5V 引脚兼容) 有源或无缘型大连理工大学网络教育学院第 5 页 共 11 页 输出输入型 采用电平转换芯片3系统定时器(SysTick) 基本特性 24 位减计数器
6、 当系统处于睡眠状态时,系统定时器仍然在工作 可以用于提供精确的短延时 主要用于操作系统的时钟滴答输出寄存器 控制和状态寄存器 COUNTFLAG:Bit16,用于指示系 统定时器已经计 数曾经减到过 0 CLKSOURCE:Bit2,时钟源选择,0:AHB/8 1:AHB TICKINT:Bit1,系 统定时器异常请求使能 ENABLE:Bit0,计数器使能 Reserved:所有位必 须为 04外部中断和事件控制器 大连理工大学网络教育学院第 6 页 共 11 页(1)外部中断和事件控制器的功能框图(2)主要寄存器介绍 中断屏蔽寄存器 事件屏蔽寄存器 上升沿触发选择寄存器 下降沿触发选择寄
7、存器 软件中断事件寄存器(EXTI_SWIER ) 挂起寄存器(EXIT_PR)5定时器/计数器(TIMERS) (1( TIMERS 的工作原理大连理工大学网络教育学院第 7 页 共 11 页定时器的时 基单元 计数器方向控制由 TIMx_CR1 中的 DIR 位控制-递增计 数, 递减计数,中央 对齐计数 溢出时产生更新事件 每次更新事件时刷新预分频寄存器和自动重载寄存器 更新事件和寄存器刷新受控时钟源及从模式 选择 每个定时器有 8 个触发源(TRGI) 4 个内部触发源(ITR0-ITR3) TI1 的边沿 检测器(TI1F_ED) 滤波后的定时器输入 1 和 2(TI1FP1 和 T
8、I1FP2) 外部触发输入(ETRF)捕获比较通道(2)TIMERS 的主要寄存器控制寄存器(TIMx_CR1)大连理工大学网络教育学院第 8 页 共 11 页 APRE:自动重装载预 装载允许位 0:TIMx_ARR 重载无缓冲;1:TIMx_ARR 被装入缓冲器 DIR: 方向控制位 0:计数器向上计数;1:计数器向下计数 OPM: 单 脉冲方式 0:发生更新事件时计数不停止; 1:在发生更新事件时,计数停止 UDIS: 禁止更新 0:允许更新事件;1:禁止更新事件 CEN:使能计数器 0:禁止计数器;1:使能计数器控制寄存器(TIMx_CR2) MMS2:0:主模式选择 000:复位 0
9、01:使能 010:更新 011:比较脉冲 100-111:比较-OCxREF 被用于作为触发输 出 CCDS:捕获/比较的 DMA 选择 0:当发生 CCx 事件时,送出 CCx 的 DMA 请求 1:当发生更新事件时,送出 CCx 的 DMA 请求状态寄存器( TIMx_SR)大连理工大学网络教育学院第 9 页 共 11 页 CCxOF:捕获/比较 x 重复捕获标志 TIF:触发器中断标志 0:无触发器事件产生;1:触发器中断等待响应 CCxIF:捕获/比较中断标志 CCx 配置 为输出模式;CCx 配置为输入模式 UIF:更新中断标记(硬件置 1,软件清 0)预分频器( TIMx_PSC
10、)自动重载寄存器( TIMx_ARR)DMA/中断使能寄存器(TIMx_DIER ) TDE:允许 触发 DMA 请求 0:禁止触发 DMA 请求;1:允许 CCxDE:允许捕获/比较 x 的 DMA 请求 0:禁止;1 允许 UDE:允许更新的 DMA 请求 TIE:触发中断使能 CCxIE:允许捕获/比较 x 的中断请求 UIE:允许 更新中断大连理工大学网络教育学院第 10 页 共 11 页DMA 控制寄存器(TIMx_DCR) DBL4:0:DMA 连续传送长度 0000:1 字节 最大 10001:18 字节 DBA4:0:DMA 基地址 00000:TIMx_CR1 DBA 地址从
11、此开始事件产生寄存器( TIMx_EGR) TG:产生触发事件(软件置 1,硬件清 0) 0:无动作;1:TIMx_SR 中的 TIF=1 CCxG:产 生捕获/比较 x 事件 0:无动作;1:产生一个捕获/比较事件 UG:产生更新事件(软件置 1,硬件清 0) 0:无动作;1:重新初始化计数,并产生一个更新事件(预分频器也清零)捕获/比较 使能寄存器(TIMx_CCER) CC1E:输入/捕获 1 输出使能 CC1 通道为输出 0:关闭输出;1:OC1 输出到引脚 CC1 通道为输入 0:捕获禁止;1:捕获使能 CC1P:输入/捕获 1 输 出极性 CC1 通道为输出 0:高电平有效;1:低电平有效 CC1 通道为输入 0:不反相,捕 获发生在上升沿;1:反相