STM32F103C8T6 单片机系统电路设计:按键、LCD 和语音模块集成
STM32F103C8T6 单片机系统电路设计:按键、LCD 和语音模块集成
在系统电路中,STM32F103C8T6 单片机核心板模块是系统操作和数据处理的核心。为了方便用户操作系统和查看系统状态,独立按键模块和 LCD1602 液晶显示器模块被引入。同时,为了增加更多的交互方式,ISD1820 录音语音模块也被加入系统中。
独立按键和 LCD1602 液晶显示器可以通过 I/O 端口直接连接到单片机,而 LCD1602 液晶显示器的引脚 PB5~PB15 连接到单片机的其他端口。三个独立按键分别连接到单片机的 PC13、PC14 和 PC15 端口,并另一端连接地,无需连接电阻。ISD1820 录音语音模块的 PLAYE 和 REC 引脚分别与 PA1 和 PA0 引脚相连。整个系统电路的电源由 USB 接口供电。
定时器 3 中断初始化函数
定义一个 STM32 的定时器中断初始化函数 TIM3_Int_Init,用于初始化定时器 3 的中断。
void TIM3_Int_Init(void)
{
// 配置定时器 3
// ...
// 使能定时器 3 中断
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
// 配置 NVIC 中断
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
STM32F103C8T6 中断类型
STM32F103C8T6 单片机共有 19 个中断,分别是:
- 外部中断线 0~15
- DMA1 通道 1 完成中断
- DMA1 通道 2 完成中断
- DMA1 通道 3 完成中断
- DMA1 通道 4 完成中断
- DMA1 通道 5 完成中断
- DMA1 通道 6 完成中断
- DMA1 通道 7 完成中断
- ADC1 和 ADC2 全局中断
- USBFS 全局中断
- CAN1 RX0 中断
- CAN1 RX1 中断
- CAN1 SCE 中断
- TIM1 更新中断
- TIM1 捕获/比较中断
- TIM2 更新中断
- TIM2 捕获/比较中断
- TIM3 更新中断
- TIM3 捕获/比较中断
本文用到的中断函数
本文用到了 TIM3 更新中断函数 TIM3_IRQHandler,其作用是在定时器 3 溢出时触发中断,进行相应的处理。
void TIM3_IRQHandler(void)
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
// 处理定时器 3 溢出事件
// ...
// 清除中断标志位
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
}
}
原文地址: https://www.cveoy.top/t/topic/nPC5 著作权归作者所有。请勿转载和采集!