【毕设转发分享】基于STM32景区人流检测设计-基于STM32的示波器信号发生器设计-基于STM32的多功能智能密码锁控制设计-STM32闭环步进电机控制系统设计-基于STM32的智能蓝牙小车控制设计

1651基于STM32景区人流检测控制系统设计(仿真,程序)

 思路:本系统基于stm32f10x为核心,数码管显示计数值和目标数量,在软件中设置目标人数量可设置的最大值。通过矩阵按键设置目标数量。按键计数设置传送带计数值,按键按下计数值数量加一,计数值与目标数量比较数量相等。计数值数量重置蜂鸣器报警,计数值和目标值不相等继续计数。 

#include "stm32f10x.h"

void GPIO_Config(void);

void delay(uint32_t d){
	uint32_t i=0;
	uint32_t n=0;
  for(i=0;i<d;i++)
     for(n=0;n<800;n++);
}

uint8_t conveyor_scan(){
  if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_9)==0){
	  return 1;
  }
  return 0;
}

void keymat_line_set(uint8_t c){
   uint8_t bb[]={Bit_SET,Bit_SET,Bit_SET,Bit_SET};
   bb[c]=Bit_RESET;
   GPIO_WriteBit(GPIOC,GPIO_Pin_4, bb[0]);
   GPIO_WriteBit(GPIOC,GPIO_Pin_5, bb[1]);

省略。

1652基于STM32的示波器信号发生器设计-pcb-程序-上位机-原理图

USB虚拟示波器

USB示波器采用STMF103C8作为主控,片内ADC采样,USB模拟串口与上位机通信。性能并不强,但是结构简单,易于使用。
在原工程的基础上,添加了运放与二极管保护,一方面增加了输入阻抗,另一方面防止过电压损坏器件。

基本参数

最高采样率:70KSPS
采样深度:6144
测量范围:0-3.3V
输入阻抗:1M ohm
FFT频谱分析

1653基于STM32的多功能智能密码锁控制设计

 本制作的电子密码锁包含有PCB、原理图,PCB印制电路板。此设计用外部存储器,支持修改密码。在实际中我发现12864还是用串口比较好,因为用并口的话使用会影响同GPIO口的其他位口。

一、功能介绍:
1、输入6位密码,即可开锁。
2、输入7次纯数字,系统会自动恢复初始状态。
3、没有输入完6位密码,按下确认键,系统不会应答。
4、密码输入错误三次,锁定键盘并且蜂鸣器提醒10秒。
5、输入错误可以退格、清零。
6、开机后12864模块会有60秒定时显示,没操作键盘60秒后,清除数据并且恢复初始状态。如果在记时期间有按键按下,这停止倒计时,并且在没有操作键盘8秒左右,重新开启倒计时12864休眠功能。
7、在功能模式下可以修改密码,也可以做其他功能选择(其他功能你们根据自身能力添加)。
8、程序有密码数值存储在数组,可用于显示等操作。(修改密码时可以显示)
9、有人体感应模块,感应到有人吗,并且12864处于关屏休眠模式下,即可打开12864屏幕。
10、有外部存储器24C02,支持修改密码,密码断电不丢失。
11、步进电机模块。
12、继电器模块。
13、温度模块,倒计时期间可以测量7805和1117芯片温度或者外部温度,并实时显示。

 

1654基于STM32闭环步进电机控制系统设计(仿真,程序,说明)

 (1) 基本功能:本任务通过输出脉冲控制步进电机的停止、运动、方向。使用 两个按键分别控制步进电机的正转和反转,再次按下这两个按键,步进电机停止, 同时 LCD 显示电机状态信息。

(2) 扩展功能:加入一个转速阈值设置功能,由电位器充当阈值设置器,可设 置目标转速并使电机接近设置的转速。

 

 

1655基于STM32C8T6的智能蓝牙小车控制设计-毕设课设资料

 stm32最小系统(10r)型号具体为STM32F103C8T6

jdy-31蓝牙模块(10r)

L298N继电器模块(10r)直流步进电机版 直插电解

小车底座 50-70r(套装包括 四个直流电机 四个车轮 两块亚克力板车身)

#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_it.h"
#include <stdio.h>


/*

#ifdef->endif的内容部分和PUTCHAR_PROTOTYPE{}的内容属于C语言的语法规则引入,
所以头部必须引入#include<stdio.h>,这样子的话C语言的语法就可以完美引用

*/


#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */


//中断服务函数  
u8 i;
u8 flag;  //定义一个标志位
void USART1_IRQHandler(void)  
  
{  
     if(USART_GetITStatus(USART1, USART_IT_RXNE) == SET)      //检查指定的 USART1 中断发生与否
      { 
			USART_ClearITPendingBit(USART1, USART_IT_RXNE);   //清除 USART1 的中断待处理位
			GPIO_ResetBits(GPIOC,GPIO_Pin_13);                 //设置LED灯作为中断发生与否的指示灯
			i=  USART_ReceiveData(USART1);                    //返回 USART1 最近接收到的数据
		//if语句的内容部分可以保证蓝牙接收到的flag数据是正确的,如果不加的话会导致接收不到正确的数据
省略。。。。


​文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html​  

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值