嵌入式系统课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.

学生课程实践能力考查

题目:温度按键设定、显示、报警系统设计

课程名称:嵌入式系统开发专业班级:

学生学号:学生姓名:

考查地点:考查时长:4小时

所属院部:指导教师:

2017 —2018学年第2 学期

金陵科技学院教务

成绩

2017-2018学年第2学期《嵌入式系统开发》实践能力考核

任课教师签名:

日期:

温度按键设定、显示、报警系统设计

要求:

1、读取DS18B20温度,在液晶上实时显示,并显示上、下限,初始值上限32,下限26。

2、通过按键可以设置环境温度的上限和下限,

WK_UP键按下调节上限,再按下调节下限,再按下调节上限……

KEY1按下加1;

KEY0按下减1,

根据上限和下限判断当前温度有没有超出范围。

3、当温度超过上限,LED1隔1秒亮一次。超过下限,LED2隔1秒亮一次。(也可自定义报警方式)

4、串口波特率一律用9600bps。

液晶显示的信息:

STM32 test

name: xxxxxxxxx

Maximum is 32C,Minimum is 26 C

The temperature is 29 C,now!

(xxxxx是自己的名字拼音)

目录:

第一章.系统要求

1.1设计要求

1.2设计方案

第二章.硬件设计

2.1开发板原理图

2.2 DS18B20模块

2.3按键模块

2.4 LCD显示模块

2.5 LED 模块

第三章.软件设计

3.1程序流程图

3.2程序部分代码

3.2.1主函数、main.c

3.2.2 LED 函数led.c

3.2.3温度代码s18b20.c

3.2.4键盘代码key.c

第四章.实物效果图

第五章.课程总结

第一章.设计要求及方案

1.1设计要求

1、读取DS18B20温度,在液晶上实时显示,并显示上、下限,初始值上限32,下限26。

2、通过按键可以设置环境温度的上限和下限,

WK_UP键按下调节上限,再按下调节下限,再按下调节上限……

KEY1按下加1;

KEY0按下减1,

根据上限和下限判断当前温度有没有超出范围。

3、当温度超过上限,LED1隔1秒亮一次。超过下限,LED2隔1秒亮一次。(也可自定义报

警方式)

4、串口波特率一律用9600bps。

液晶显示的信息:

STM32 test

name: xxxxxxxxx

Maximum is 32C,Minimum is 26 C

The temperature is 29 C,now!

(xxxxx是自己的名字拼音)

1.2设计方案

本次课程设计的要求是使用STM32F103设计一个温度测控系统,ALIENTEK MiniSTM32 V3 版开发板选择的是STM32F103RCT6 作为MCU,它拥有的资源包括:48KB SRAM、256KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2 个DMA 控制器(共12 个

通道)、3 个SPI、2 个IIC、5 个串口、1 个USB、1 个CAN、3 个12 位ADC、1 个12 位DAC、1 个SDIO 接口及51 个通用IO 口。在本课程中使用了以下部分来完成课程设计的要求:

1.应用DS18B20进行温度的检测。

2.应用按键模块进行外部的上下限数值设定。

3.应用LED的闪烁进行报警。

4.应用LCD显示实时温度、上下限等信息。

第二章.硬件设计

2.2 DS18B20设计

2.3按键模块

ALIENTEK MiniSTM32 开发板总共有3 个按键,其原理图如下:

2.4 LCD显示模块

2.5 LED 模块

其中PWR 是开发板电源指示灯,为蓝色。LED0 和LED1 分别接在PA8 和PD2 上,PA8还可以通过TIM1 的通道1 的PWM 输出来控制DS0 的亮度。为了方便大家判断,我们选择了DS0 为红色,DS1 为绿色的LED 灯。

第三章.软件设计

3.1程序流程图

温度显示及报警模块按键设定模块

3.2程序部分代码

3.2.1主函数、main.c

#include "led.h"

#include "delay.h"

#include "sys.h"

#include "usart.h"

#include "lcd.h"

#include "ds18b20.h"

#include "key.h"

#include

#include

#include

int temp_low = 22;

int temp_high = 32;

int zanshi_low=0;

int zanshi_hign=0;

void TIM3_Int_Init(u16 arr,u16 psc)

{

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能

相关文档
最新文档