毕设系列之 --- 单片机项目推荐与指导

毕业设计系列 专栏收录该内容
124 篇文章 96 订阅


0 前言

对于选择以单片机架构为核心做毕业设计的同学,对于选题模糊的同学可以参考学长提供的题目,对单片机开发需要帮助的同学可以联系学长~

毕设需要帮助的同学:联系学长


1 题目推荐

题目一般格式 基于单片机的(最好写清楚MCU型号) [完成的功能] 设计与实现

  • 基于单片机的智能船模设计
  • 基于单片机的电梯控制模型设计
  • 基于单片机的水位控制系统设计
  • 基于单片机的水位控制系统设计
  • 基于单片机的多路数据采集系统设计
  • 基于单片机的抢答器设计
  • 基于单片机的数字温度计设计
  • 基于单片机的智能小车设计
  • 基于单片机的数字温度计设计
  • 基于单片机的遥控器设计
  • 基于单片机的串行通信发射机设计
  • 基于单片机的简易智能电动车设计
  • 基于单片机的太阳能热水器控制器设计
  • 基于单片机的太阳能热水器控制器设计
  • 单片机温度控制系统的设计
  • 直流电动机的转速检测与脉宽调速
  • 基于单片机的智能机器人的设计
  • 基于单片机的简易无线竞赛系统的设计
  • 基于单片机的车辆闯红灯监控系统设计
  • 基于单片机控制的井下瓦斯监控系统设计
  • 基于单片机的煤气泄漏检测报警装置设计
  • 基于单片机的井式渗碳炉控制系统设计
  • 基于单片机的蔬菜大棚温湿度智能控制系统设计
  • 基于单片机的电子钟设计
  • 基于单片机的电力线载波节电群控设计
  • 基于单片机的液位控制器设计
  • 基于单片机的串行通信发射机设计
  • 基于单片机的智能八路抢答器设计
  • 基于单片机的水位监控器设计
  • 基于单片机的点阵电子显示屏设计
  • 基于单片机的智能温度控制系统设计
  • 基于单片机的智能时钟控制器设计
  • 基于单片机的智能温控系统设计
  • 基于单片机的智能寻迹避障小车设计
  • 基于单片机的家用太阳能热水器控制器设计
  • 基于单片机的新型抢答计分器设计
  • 基于单片机的热敏电阻测温系统设计
  • 基于单片机的林火监测系统-飞艇姿态控制系统设计
  • 基于单片机的人性化时钟控制器设计
  • 基于单片机的智能型电话远程遥控器设计
  • 基于单片机的远程通讯控制器设计
  • 基于单片机的温度控制器设计
  • 基于单片机的智能水位控制器设计
  • 基于单片机的水位控制系统设计
  • 基于单片机的智能电动小车设计
  • 基于单片机的数码电子时钟设计
  • 基于单片机的数控直流电源设计
  • 基于单片机的交通灯控制器设计
  • 基于单片机的数字温度计设计
  • 基于单片机的智能小车设计
  • 基于单片机的温度控制器设计
  • 基于单片机的串行通信发射机设计
  • 基于单片机的温度控制系统设计
  • 基于单片机的交通灯控制系统设计
  • 基于单片机的电子万年历设计
  • 基于单片机的水位控制器设计
  • 基于单片机的水位控制系统设计
  • 基于单片机的数据采集器设计
  • 基于单片机的水位控制系统设计
  • 基于单片机的电梯控制系统设计
  • 基于单片机的智能温控系统设计
  • 基于单片机的温度控制系统设计
  • 基于单片机的数据采集与传输系统设计
  • 基于单片机的交通灯控制系统设计
  • 基于单片机的红外防盗报警器设计
  • 基于单片机的花卉温室控温系统设计
  • 基于单片机的焊机温度控制系统设计
  • 基于单片机的路灯控制器设计
  • 基于单片机技术的水位控制器设计
  • 基于单片机的车床刀架控制系统设计
  • 基于单片机的电机智能综合保护装置设计
  • 基于单片机的水位控制器设计
  • 基于单片机技术的自动停车器的设计
  • 基于单片机的智能型矿用磁力启动器设
  • 基于单片机的摩托车里程表研制
  • 基于 PIC16F84 单片机的 IC 卡智能水表设计
  • 基于单片机的自动车库门的设计
  • 基于单片机的自动滴灌控制系统的设计
  • 基于单片机的预付费电度表设计
  • 基于单片机的智能电子秤设计
  • 基于单片机的太阳能热水器智能控制器设计
  • 基于单片机的油井巡视定位系统设计
  • 基于单片机的照明控制系统
  • 基于单片机的水位测试系统中数据采集电路设计
  • 基于单片机的锅炉液位控制系统设计
  • 基于单片机的洗衣机设计
  • 基于单片机的锅炉汽包水位控制系统设计
  • 基于单片机的多功能秒表设计
  • 基于单片机的 GSM 网数据传输设计与实现
  • 基于单片机上实现的USB移动存储

2 作品演示

学长常用的stm32 Nucleo 开发板:
在这里插入图片描述
在这里插入图片描述

远程环境采集系统:
在这里插入图片描述

在这里插入图片描述

基于stm32 的高精度电子秤:
在这里插入图片描述
在这里插入图片描述

学长开发过的单片机的项目非常多,这里就不一一列举了,特别是智能小车。

3 基础知识:

单片机的知识点非常多,这里不一一列举了,这里讲讲,单片机的通信方式。

现在很多器件已经模块化,很多器件的功能不需要我们去实现它,只需要会接入他与其通信,获取传感器上的数据,或者控制它。

3.1 几种单片机通信方式

3.1.1 SPI

SPI允许单片机和外围设备或者单片机之间高速同步数据传输,SPI可以有主机和从机模式之选,通信的主从机之间通过移位寄存器同时交换数据。目前自己用的以主机模式居多。SPI需要四线:SS,MISO,MOSI,SCK。

通信过程:在设置好SPI的工作模式:包括SCK频率(数据传输速率),工作速度,主从模式,以及数据接收发送对应的时钟极性。在主模式下,将SS拉低表示通信的开始,然后通过向SPI数据寄存器中写入一字节的数据后自动启动时钟SCK开始进行一次通信,通信完成后会产生相应的中断标志,标志一个字节数据的传送完成。通信完成后将SS脚拉高,表示通信过程已经结束。

注意SS引脚的设置:当设置为从机模式时,SS引脚应设置为输入,拉低的时候SPI才能起作用,拉高的话是消极的SPI模式;在主机模式下,SS引脚可以设置,一般应设置为输出,如果设置为输入的话应保持为高,否则将不能进行正常的主机模式操作。

3.1.2 USART

USART的操作比较简单,主要是设置波特率,数据格式,以及中断允许位等,值得至于的是其USART IN SPI MODE,在SPI模式下的USART的操作跟SPI操作差不多,主要是Clock的设置,然后发送数据还是通过USART的中断进行。

3.1.3 I2C

I2C接口是简单强大的通信接口,只需要两根双向总线(时钟和数据线),SCL和SDA,即可实现一个主机和最多128个从机进行通信。模拟I2C接口的过程:启动I2C,一般是在SCL为高时将SDA拉低启动数据发送,SDA只有在SCL为低时才能拉高拉低有效,在SCL为高时拉高拉低SDA只是用于停止启动I2C通信。

3.2 串口通信示例

#include "stm32f10x.h"



void My_USARTI_Init(void)
    {
    GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体
    USART_InitTypeDef USART_InitStrue;//定义USART结构体
    NVIC_InitTypeDef NVIC_InitStruct;//定义NVTO结构体
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1
    
    //GPIOA.9,复用推挽输出
    GPIO_InitStructure.GPIO_Pin =GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
        
    //GPIOA.10上浮输入
    GPIO_InitStructure.GPIO_Pin =GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
        
        
    //串口初始化
    USART_InitStrue.USART_Mode= USART_Mode_Rx | USART_Mode_Tx;
    USART_InitStrue.USART_BaudRate=115200;//波特率
    USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//不使用硬件流
    USART_InitStrue.USART_Parity=USART_Parity_No;//不用奇偶验证
    USART_InitStrue.USART_StopBits=USART_StopBits_1;//停止位
    USART_InitStrue.USART_WordLength=USART_WordLength_8b;//数据位
    USART_Init(USART1,&USART_InitStrue);
    
    
    //使能串口1
    USART_Cmd(USART1,ENABLE);
    
    
    //开启接收中断,接收到数据就会执行中断函数
    USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
    
    
    //中断优先级设置
    NVIC_InitStruct.NVIC_IRQChannel=USART1_IRQn;//stm32f10x.h文件的顶部查找
    NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=1;
    NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
    NVIC_Init(&NVIC_InitStruct);
    
}
    //中断服务函数
void USART1_IRQHandler(void)
{
    u8 res;
 if(USART_GetITStatus(USART1,USART_IT_RXNE))
     {
         //读取串口的数据
        res=USART_ReceiveData(USART1);
        USART_SendData(USART1,res);
 
 }

}

//电脑每给开发板发送一次数据,就会触发中断//接下来执行一次中断服务函数//res=USART_ReceiveData(USART1)就会接收到数据
//USART_SendData(USART1,res)又把接收到的数据发送给电脑,在串口助手就能看到
int main(void)
 {
     //系统中断优先级分组为2
     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
     My_USARTI_Init();
     while(1)
         {
     
     
     }
     
 }

最后

学长亲自接毕业设计,有需要的同同学:
(q扣)
746876041
在这里插入图片描述

  • 4
    点赞
  • 2
    评论
  • 20
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p> <strong><span style="font-size:20px;color:#FF0000;">本课程演示的<span>是一套基于Java的SSH框架实现的网上银行系统,</span>主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。</span></strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;"><strong><span style="font-size:18px;">1. 包含:<span style="color:#FFFF00;background-color:#FF0000;">项目源码、项目文档、数据库脚本、软件工具</span>等所有资料</span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;font-size:18px;"><strong><span>2. 手把手的带你从零开始部署运行本套系统</span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;font-size:18px;"><strong><span>3. 该项目附带的源码资料可作为毕设使用</span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;font-size:18px;"><strong><span>4. 提供技术答疑和远程协助指导</span></strong></span><span style="color:#FF0000;"><strong><span style="color:#424242;"><br /> </span><span style="font-size:20px;color:#494429;"><br /> 技术实现:</span></strong></span> </p> <p> <strong><span style="color:#494429;font-size:18px;">1. 后台框架:SSH(Spring、Struts2、Hibernate)</span></strong> </p> <p> <strong><span style="color:#494429;font-size:18px;">2. UI界面:BootStrap、jQuery、JSP</span></strong> </p> <p> <strong><span style="color:#494429;font-size:18px;">3. 数据库:MySQL</span></strong> </p> <p> <span><strong><br /> </strong></span> </p> <p> <span><strong>项目截图</strong></span><span style="color:#424242;"><strong>:</strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong><span style="font-size:18px;">1)系统登陆界面</span></strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <img src="https://img-bss.csdn.net/202003020052402207.png" alt="" /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#262626;"><strong><strong><span style="color:#FF0000;"><span style="font-size:18px;color:#000000;"></span></span></strong></strong></span><strong><strong><span style="color:#FF0000;"><strong><span style="font-size:18px;color:#000000;"><strong><span>2)客户</span></strong></span></strong></span></strong></strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong><strong><span style="color:#FF0000;"><strong><span style="font-size:18px;color:#000000;"><strong><span><img src="https://img-bss.csdn.net/202003020052494214.png" alt="" /><br /> </span></strong></span><span style="font-size:18px;color:#000000;"><strong><span><strong><span>3)管理员</span></strong></span></strong></span></strong></span></strong></strong> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <img src="https://img-bss.csdn.net/202003020052585577.png" alt="" /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <strong><span style="font-size:18px;color:#E53333;">更多Java毕设项目请关注【毕设系列课程】 </span></strong><strong><span><a href="https://edu.51cto.com/lecturer/12392007.html"></a><a href="https://edu.csdn.net/lecturer/2104"><span style="color:#E53333;">https://edu.csdn.net/lecturer/2104</span></a></span></strong> </p>
©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值