STM32示波器设计项目----细节讲解

分享知识使我快乐!


前言

本文主要讲解如何从0开始完成示波器的设计,如需源码,请在评论区留言邮箱,看到后会发送。


一、实验介绍

(1)实验目的

  • 能够在2.8寸TFT彩屏上正确显示波形
  • 支持通过按键实现波形的放大与缩小
  • 支持测量引脚输入电压
  • 支持输出1KHz~10KHz方波信号
  • 支持通过按键调整占空比和频率
  • 支持测量自身频率和占空比

(2)STM32硬件资源 

以下是本次实验主要用到的芯片功能

  • 定时器的输出比较和输入捕获 
  • ADC模数转换
  • DMA数据搬运

(3)硬件环境

  • 正点原子STM32F103ZET6开发板
  • 面包板
  • 2.8寸TFTLCD
  • 杜邦线若干

二、硬件介绍

1.实物图

2.引脚连接

PA0   ADC模数转换采样引脚

PA1   PWM方波输出比较引脚

PA6   定时器输入捕获引脚

PA0  ----  PA1

PA6  ----  PA1

因为PA1只有一个引脚,故使用了面包板进行外接

三、软件介绍 

1.软件框图 

2.PWM输出比较代码 

 以下函数为PWM输出初始化函数

/*
* 函    数:PWM初始化函数
* 参    数:PSC;预分频系数
* 返 回 值:无
* 注意事项:PSC和ARR共同决定频率,此函数仅设置PSC的值,并不直接是频率
*           频率Freq = CK_PSC / (PSC + 1) / (ARR + 1)
*/
void PWM_Init(uint16_t PSC)
{
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
	TIM_InternalClockConfig(TIM2);  //定时器2为时钟源
	
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
	TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
	TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;		    //ARR固定设置为100 - 1,方便更直观地观察占空比
	TIM_TimeBaseInitStructure.TIM_Prescaler = PSC - 1;		//PSC
	TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;  //重复计数模式,只有高级定时器才会用到
	TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
	
	TIM_OCInitTypeDef TIM_OCInitStructure;
	TIM_OCStructInit(&TIM_OCInitStructure);
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //高电平为有效电平,用于对占空比的计算
	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
	TIM_OCInitStruc
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值