嵌入式课程设计综合课程设计.docx
- 文档编号:14964325
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:23
- 大小:1.84MB
嵌入式课程设计综合课程设计.docx
《嵌入式课程设计综合课程设计.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计综合课程设计.docx(23页珍藏版)》请在冰点文库上搜索。
嵌入式课程设计综合课程设计
第一章:
嵌入式STM32和工程建立
1、嵌入式简介
嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁剪,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
CPU :
I52.4GHz,RAM :
DDR34G,ROM :
磁盘500G,I/O设备--鼠标/键盘,STM32--工业控制和终端节点,MCU--72MHz,RAM--SRAM64K,ROM--flash512K,I/O设备--提供的接口,4412,路由器中端PAD等CPU--1.5GHz--4核CPU(A9),RAM--DDR3,RAM--flash4G,I/O设备--提供的接口
2、介绍STM32(开发板)
STM32F103ZET6的CPU:
内核(ARM)M3ST(STM32F1O3ZET6) 开发板介绍:
CPU:
STM32F103ZET6
(1)144管脚
(2)工作电压:
3.3V
(3)包含了大量的接口:
IO串口SPIIICIISCANUSBSDIOFSMC等。
(4)包含了大量的控制单元:
定时器看门狗通信接口控制器等。
(5)工作频率:
72MHz输入晶振:
8MHz(主芯片提供时钟频率)
32.768KHz(给RTC提供时钟频率)
外扩内存:
SRAM(1M字节)
电源:
5V--FM117稳压芯片--3.3V
DB9接口:
串口,游戏手柄。
USB中B型接口:
USB、串口。
2.4G无线通信:
NRF24L01
FLASH存储芯片:
8M
E2PROM:
256字节
语音芯片:
VS1053
4个接线端子:
CAN4852个继电器
第二章:
GPIO口的操作
1、IO口的作用:
IO口:
输入/输出口--TTL电平:
0~1.5V/2.5~5V 1
作用:
直接驱动外部设备,模拟相关通信。
2、GPIO口:
GPIO:
通用输入/输出。
IO口:
直接使用,可以双向输入/输出。
GPIO:
先配置IO口模式(输入/输出)
3、STM32中GPIO的原理
3.1STM32中GPIO口的数量:
分为7个端口:
ABCDEFG,一个端口有16个管脚:
0~15,PA0代表A端口中的第0管脚。
3.2GPIO口的内部结构框图:
开发数据手册第8章
输入:
4种模式---
模拟输入:
输入的量是模拟信号--ADC转换
浮空输入:
不加上拉和下拉,数字输入量。
上拉输入:
具有上拉驱动能力。
下拉输入:
具有下拉驱动能力。
推挽:
既能输入高电平,又能输入低电平
输入输出模式详解:
一般我们平时用的最多的也就是推挽输出、开漏输出、上拉输入,介绍如下:
可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。
高低电平由IC的电源低定。
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
推拉式输出级既提高电路的负载能力,又提高开关速度。
开漏输出:
输出端相当于三极管的集电极。
要得到高电平状态需要上拉电阻才行。
适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)
开漏形式的电路有以下几个特点:
1、利用外部电路的驱动能力,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经Rpull-up,MOSFET到GND。
IC内部仅需很小的栅极驱动电流。
2、一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。
比如加上上拉电阻就可以提供TTL/CMOS电平输出等。
(上拉电阻的阻值决定了逻辑电平转换的沿的速度。
阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。
)
3、OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。
因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。
所以如果对延时有要求,则建议用下降沿输出。
4、可以将多个开漏输出的Pin,连接到一条线上。
通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。
这也是I2C,SMBus等总线判断总线占用状态的原理。
3.3怎么控制一个GPIO口的管脚?
操作相关寄存器就能控制GPIO口,一般包含3类型寄存器:
配置寄存器:
初始化该控制器的模式。
数据寄存器:
该控制器的输入数据和输出数据。
状态寄存器:
该控制器所处的状态。
配置寄存器:
初始化端口中管脚的模式:
端口配置低寄存器(GPIOx_CRL)(x=A..EFG端口)
0~7管脚
端口配置高寄存器(GPIOx_CRH)(x=A..EFG端口)
8~15管脚
例如:
配置为输入--读取管脚状态:
端口输入数据寄存器(GPIOx_IDR)(x=A..EFG)
读取PA0的管脚状态。
GPIO_ReadInputDataBit();
例如:
配置为输出 --改变管脚状态:
端口输出数据寄存器(GPIOx_ODR)(x=A..E)
改变PA0的状态:
ODR0 0输出低电平1输出高电平
GPIO_ResetBits(); 清零
GPIO_SetBits(); 置1
4.GPIO输出实验
Main.c
#include"stm32f10x.h"
#include"led.h"
voidDelay(u32d_time);
intmain(void)
{
LED_Init();
while
(1)
{
GPIO_SetBits(GPIOF,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
Delay(3000000);
GPIO_ResetBits(GPIOF,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
Delay(3000000);
}
}
voidDelay(u32d_time)
{
for(;d_time>0;d_time--);
}
第三章:
按键和蜂鸣器
1、回顾:
IO口的作用:
输入/输出口--10
STM32中7个GPIO端口口ABCDEFG
每个端口拥有15个管脚
1、操作STM32中GPIO口的方法:
操作其寄存器。
端口配置低寄存器:
配置某个端口的0~7管脚。
端口配置高寄存器:
配置某个端口的8~15管脚。
GPIO_Init();
数据寄存器:
输出数据寄存器:
修改某个管脚的电平(1/0)
GPIO_ResetBits();
GPIO_SetBits();
输入数据寄存器:
读取某个管脚的电平(1/0)
GPIO_ReadInputDataBit();
2、按键和蜂鸣器:
第四章:
LCD屏
1、常用的显示设备:
LED灯:
1、指示灯:
红色绿色2、LED灯箱:
红色
数码管:
1、电子称:
红色的2、空调 :
绿色的
LED点阵显示屏:
1、单色屏--显示汉字字符和简单图形。
2、彩色屏--显示彩色图片和视频。
LCD屏:
1、字符型显示屏--1602
用于显示字符(简单显示)2、点阵型显示屏--12864
用于显示单色图片汉字图画等3、彩色的点阵型显示屏--TFTLCD
2、像素点的概念
像素点:
LCD屏上显示的最小单位。
分辨率:
LCD屏--能够显示多少像素点 --1024*768
16位彩色:
0000000000000000--RGB--5:
6:
5
RED---1111100000000000--0xF800
GREEN-0000011111100000--0x07E0
BLUE -0000000000011111--0x001F
BLACK-0000000000000000--0x0
WHITH-1111111111111111--0xFFFF
假彩--2^16种--65536
24位彩色:
--真彩--2^24种
32位彩色:
--高清(HD)--2^32种
3、LCD屏的内部结构
分辨率:
240*320,组成:
LCD屏底板+LCD屏
LCD屏底板:
把LCD屏的接口用排针印出来和触摸屏控制电路的设计,LCD屏 显示(ILI9341控制器控制)
3.1LCD屏与MCU连接框图:
3.28080接口--MCU接口(因特尔公司)
管脚:
RS:
数据/命令选择端
CS:
片选端
WR:
写使能端
RD:
读使能端
DB0~DB15:
数据总线
工作时序图:
3.3ILI9341的工作时序:
怎么去点亮一个像素点:
例如:
让LCD屏上x轴100,y轴100的地方位白色。
1、MCU发送列地址命令0x2A
2、MCU发送列地址100
3、MCU发送行地址命令0x2B
4、MCU发送行地址100
5、MCU发送显示显存命令0x2C
6、MCU发送16位颜色值 0xFFFF
4、STM32与TFTLCD屏的连接
STM32F103ZET6不包含8080接口。
STM32运用FSMC接口和LCD屏的8080接口相连。
FSMC接口:
扩展RAM和ROM--时序和8080接口时序很像。
第五章:
LCD屏显示字符汉字和图片
1、显示单个字符和字符串:
1.1字模取模软件的使用
字模的大小:
选择字体的大小。
取模方式 :
C51
横向取模 :
横着取8个点,组成一个8位数据。
1.2字模取出的模--用C语言解析
1.3在LCD屏上显示
2、显示汉字
2.1字模取模软件软件的使用
2.2在LCD屏上显示
3、显示图片
3.1图片取模软件的使用
3.2在LCD屏上显示
第六章:
触摸屏
1、触摸屏的分类:
电阻屏:
工业(户外),测量电压值(滑动变阻器),不怕水汽和灰尘 怕刮痕单点触控
电容屏:
消费类电子(户内),测量电压值,多点触控
2、电阻屏的工作原理
电阻屏:
触摸屏检测部分和触摸屏控制部分
电阻屏:
4线电阻屏---X+X-Y+Y-
两层:
X层和Y层(均匀的导电介质组成)
2.14线电阻屏工作原理
1、当触摸屏按下,X+接VCC,X-接GND,Y+接高阻,Y-接ADC
2、当触摸屏按下,ADC测量出的值就为X轴坐标值
3、Y+接VCC,Y-接GND,X+接高阻,X-接ADC
4、当触摸屏按下,ADC测量出的值就为Y轴坐标值
3、电阻屏的操作过程
1、操作电阻屏是通过操作触摸屏控制器完成
4、STM32对电阻屏的操作
4.1结构框图
4.2SPI:
串行同步全双工通信接口
MOSI-主机发送,从机接收,MISO-主机接收,从机发送
协议:
在CLK下,一个沿发送数据,一个沿接收数据,8位数据传输。
4.3XPT2046:
触摸屏控制器(ADC转换器)
作用领域:
移动终端,测量电源电压,测量芯片的温度,测量触摸的压力,测量电阻屏的坐标值
12位ADC转换芯片--0~4095
触摸屏的坐标值:
X轴:
0~4095,Y轴:
0~4095
STM32通过SPI接口,向XPT2046发送指令,进而控制4线电阻屏。
A2A1A0模式(测量模式),测量X轴:
101,测量Y轴:
001
测量X轴命令:
11010000 0xD0
测量Y轴命令:
10010000 0x90
4.4触摸屏校准:
触摸屏坐标值:
X轴:
0~4095,Y轴:
0~4095
LCD屏的分辨率:
240*320
3点校准法:
在LCD上取得3个点(LCD屏坐标值),通过触摸该三个点,获得3个点的触摸屏坐标值,求得相关系数。
LCD_X=TP_X*A+TP_Y*B+C;
LCD_Y=TP_X*D+TP_Y*E+F;
LCD_X1=TP_X1*A+TP_Y1*B+C;
LCD_Y1=TP_X1*D+TP_Y1*E+F;
LCD_X2=TP_X2*A+TP_Y2*B+C;
LCD_Y2=TP_X2*D+TP_Y2*E+F;
LCD_X3=TP_X3*A+TP_Y3*B+C;
LCD_Y3=TP_X3*D+TP_Y3*E+F;
得:
K = (X1 - X3)*(Y2 - Y3) - (X2 - X3)*(Y1 - Y3);
A = ((XL1 - XL3)*(Y2 - Y3) - (XL2 - XL3)*(Y1 - Y3));
B = (( X1 - X3 )*( XL2 - XL3) - (XL1 - XL3)*( X2 - X3));
C = (Y1*( X3*XL2 - X2*XL3) + Y2*(X1*XL3 - X3*XL1) + Y3*(X2*XL1 - X1*XL2));
D = ((YL1 - YL3)*(Y2 - Y3) - (YL2 - YL3)*(Y1 - Y3));
E = ((X1 - X3)*(YL2 - YL3) - (YL1 - YL3)*(X2 - X3));
F = (Y1*(X3*YL2 - X2*YL3) + Y2*(X1*YL3 - X3*YL1) + Y3*(X2*YL1 - X1*YL2));
按下触摸屏继而得到LCD屏坐标值:
LCD_X=TP_X*A+TP_Y*B+C;
LCD_Y=TP_X*D+TP_Y*E+F;
5、STM32软件编程(对触摸屏操作)
触摸屏按键控制蜂鸣器步骤:
1、制作触摸屏按键
2、等待按下
3、把触摸屏坐标值转化为LCD屏坐标值
4、判断坐标是否在按键区域内,不同的按键执行不同的功能
第七章DHT11的使用
1、DHT11的作用
温湿度传感器:
检测温度与湿度。
传感器包括一个电阻式感湿元件和一个NTC测温元件。
1.1应用范围:
暖通空调、除湿器、测试及检测设备、消费品、汽车、自动控制、数据记录器、气象站、家电、湿度调节器、医疗、其他相关湿度检测控制。
1.2相关参数:
分辨率:
0.1%RH16Bit
精度:
25℃±2%RH,-40~80℃±5%RH,响应时间:
1/e(63%)25℃6s 1m/s空气6s
分辨率:
0.1%RH16Bit
量程范围:
25℃±0.2℃,-40~80℃±1℃响应时间:
1/e(63%)10S
电气特性:
输入电压:
3.5V~5V,输入电流:
0.3mA
2、MCU与DHT11的连接
1、DHT11管脚
VCC--电源,GND--地,DATA-数据的输入/输出
2、MCU与DHT11的连接框图
3、通信--单总线数据传输
数字量--01
0--50us低电平+26~28us的高电平
1--50us低电平+70us高电平
开始信号:
大于18ms的低电平
应答信号:
先80us低电平+80us高电平
4、MCU与DHT11之间的通信:
1、给DHT11上电,然后等待1S。
2、MCU给DHT11发送开始信号
3、MCU等待DHT11返回应答信号
4、MCU接收DHT11发送过来的40位8*5的数据。
40位数据代表的意义:
8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。
校验位:
代表该帧数据是否正确。
校验位= 8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据。
第八章串口通信和GSM使用
1、通信的分类:
并行通信:
一次发送多位数据。
MCU与内存和ROM之间的通信。
--速度块,占用空间大(硬件工程师)
串行通信:
一次发送一位数据。
2、串行通信的分类
串口IICSPICANUSB网络
单工:
只能发送或则只能接受例如收音机
半双工:
在同一时刻,只能发送或则接收例如对讲机
全双工:
在同一时刻,既能接收又能发送例如电话
3、串口的工作结构和原理
串口:
串行通信的接口
3.1串口管脚TXD--数据发送,RXD--数据接收,GND--共地
3.2串口--232协议
开始位+数据位+奇偶校验位+停止位
位数 1 5~8 1 1~2 bit
电平 0 1/0 1/0 1 电平数字量
开始位:
0
数据位:
ASCII码8位
奇偶校验位:
奇校验:
数据位+奇偶校验位中1的个数必须为奇数
偶校验:
数据位+奇偶校验位中1的个数必须为偶数
采用奇校验:
A就会在奇偶校验位为1
停止位:
1位数1~2 1.5位(1.5个工作时钟)
常用的帧格式:
1个开始位+8个数据位+1个停止位=10位。
1s发送100帧上述数据--1S中1000位。
波特率:
串口在1s中发送的位数。
常见的波特率:
48009600115200
4、STM32中串口1的使用(回显和printf)
5、GSM模块的讲解和使用
5.1设备连接以及软件安装:
指令集:
AT指令集
GSM--二代通信打电话和发短信,GPRS-二代上网,GSM--SIM900A
GSM模块的通信方式:
串口通信。
1、检测是否连接成功,AT
2、查找运营商:
AT+COPS?
3、查询信号强度,AT+CSQ
4、打电话接电话挂电话,ATDXXXXXX;ATH;ATA
5、发短信,AT+CSCS="GSM"-- 设置GSM字符集,AT+CMGF=1
6、收短信,AT+CMGR=短信号
第九天基于GSM的温湿度报警系统的项目分析
1、项目--介绍
嵌入式项目:
项目经理硬件工程师软件工程师测试工程师市场
2、项目流程
基于GSM的温湿度报警系统
要求:
1、实时采集家庭中的温湿度,2、当温湿度发生异常,远程通知业主,3、通知家庭中的人员
2.1项目需求分析:
项目经理
温湿度用DHT11。
人为手动设置阈值。
用输入:
触摸屏LCD屏
GSM短信通知用作人为自动设置业主号码(一个)。
--GSM模块
通知家庭中的人员用报警器。
2.2项目安排
项目经理:
硬件部软件部
硬件部选元器件画原理图画PCB图制版(大小)焊接硬件调试
软件部--调试每个模块编写项目流程综合调试
2.3 项目执行-- 6~8周
硬件部和软件部同时进行。
硬件部:
元器件选型CPU--STM32F103ZET6
LCD--LCD(彩色)--16位--8080接口
GSM--SIM900A--串口(TTL/232)
报警器-继电器驱动/三极管(蜂鸣器)
画原理图:
画PCB--2层板(多层板+高速板)
制版(大小)--黑色红色蓝色绿色
焊接--镊子电烙铁焊锡丝热风枪胶枪
硬件调试--用万用表是否短路。
协助软件做硬件调试。
软件部:
1、在开发板上调试各个模块编写相关驱动程序,2、在试验板上编写功能函数,3、测试程序
2.4项目结束
1、交付样机--售后,2、交付样机--买断,3、工程师编写说明文档,4、编写说明书
3、操作流程
总结:
经过这次作业让我们对嵌入式linux应用程序开发的理解更加的清楚了,嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。
因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性。
参考文献:
[1]窦振中等.嵌入式系统设计的新发展及其挑战[J].单片机与嵌入式系统应用,2004(12):
5-9.
[2]许海燕,付炎著.嵌入式系统技术与应用.机械工业出版社.2002
[3]孙俊香,于连庆.如何构造嵌入式实时应用系统.2009
[4熊光泽等.嵌入式应用软件设计方法学研究综述.2007
附图:
图
(1)
图
(2)
图(3)
图(4)
图(5)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 课程设计 综合