完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、设计目的
利用STM32完成数显温度计的制作,功能包括实时温度显示(摄氏度与华氏度),高温与低温报警,以及温区设置。 二、设计方案 系统采用STM2F103C8T6芯片实现,温度传感器采用DS18B20与LM335,显示采用OLED屏幕,温度报警使用LED灯,利用按键进行温区设置。 1.STM32F103C8T6 STM32F103C8T6是一款基于ARM Cortex-M3内核(ARM公司在ARM11以后改用Cortex命名,并分成A、R和M三类,M系列有M0、M0+、M3、M4、M7)的32位的微控制器,采用LQFP48封装,由意法半导体公司(ST)推出,属于STM32系列(ST公司还有SPC5X系列微控制器)。其程序存储器FLASH容量是64KB (64K x 8bit),RAM容量是20KB(20K x 8bit),2个12bit ADC合计12路通道(外部通道只有PA0到PA7、PB0到PB1,并不是18通道),37个通用I/O口(PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1),4个16bit通用定时器(TIM1(带死区插入,常用于产生PWM控制电机)、TIM2、TIM3、TIM4),2个看门狗定时器(独立看门狗、窗口看门狗)1个24bit向下计数的滴答定时器(很重要,一般delay都使用这个定时器实现),2IIC,2SPI,3USART,1CAN,工作电压2V~3.6V,工作温度为-40°C ~ 85°C,系统时钟最高可到72MHz(一般是由8MHz的外部时钟经锁相环9倍频到72MHz)。 2.DS18B20 ( 1 )采用单总线的接口方式 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。 ( 2 )测量温度范围宽,测量精度高 DS18B20 的测量范围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C范围内,精度为 ± 0.5°C 。 ( 3 )在使用中不需要任何外围元件。 ( 4 )持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温。 ( 5 )供电方式灵活 DS18B20 可以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。 ( 6 )测量参数可配置 DS18B20 的测量分辨率可通过程序设定 9~12 位。 ( 7 ) 负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 3.LM335 LM335是可以轻松校准的精密温度传感器。它们用作2端稳压管,击穿电压与10mV/°K的绝对温度成正比。 该电路的动态阻抗小于1Ω,可在450mA至5mA的电流范围内工作,而不会改变其特性。 4.OLED OLED 屏幕作为一种新型的显示技术,其自身可以发光,亮度,对比度高,功耗低,在当下备受追捧。而在我们正常的显示调整参数过程中,我们越来越多的使用这种屏幕。我们使用的一般是分辨率为 128x64 ,屏幕尺寸为 0.96 寸。由于其较小的尺寸和比较高的分辨率,让它有着很好的显示效果和便携性。 我们本次使用的是四针OLED,有四根引脚分别为VCC,GND,SCL,SDA,使用IIC通信,虽然刷新率不如七针SPI通信,但足够数显温度计设计使用。 三、原理图设计 四、软件设计 软件设计部分,采用STM32CUBEMX与MDK5完成。 1.OLED的IIC通信 IIC概述: IIC:两线式串行总线,它是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。 在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbs以上。 时钟线SCL:在通信过程起到控制作用。 数据线SDA:用来一位一位的传送数据。 IIC分为软件IIC和硬件IIC: 软件IIC:软件IIC通信指的是用单片机的两个I/O端口模拟出来的IIC,用软件控制管脚状态以模拟I2C通信波形,软件模拟寄存器的工作方式。 硬件IIC:一块硬件电路,硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,硬件(固件)I2C是直接调用内部寄存器进行配置。 硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活,本系统采用硬件IIC通信,以达到较高刷新率。 IIC通信协议: IIC通信过程由开始、结束、发送、响应、接收五个部分构成。 (1)(在发送、接收数据的时候)当SCL为高电平时,SDA线不允许变化;当SCL线为低电平时,SDA线可以任意0、1变化。 (2)(在任意时候)只有当SCL为高电平时,IIC电路才对SDA线上的电平(0或者1)进行记录,当SCL线为低电平时,无论SDA是高还是低,IIC电路都不对SDA进行采样。 空闲状态 I2C总线的SDA和SCL两条信号同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 开始信号与停止信号 开始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平。 停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。 应答信号 发送器每发送一个字节,就在时钟脉冲9期间释放数据先,由接收器反馈一个应答信号。应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。 对于反馈有效应答位ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间位稳定的低电平。如果接收器是主控器,则在它收到最后一个字节后,发送一个NACK信号,以通知被控发送器结束数据发送,并释放SDA线,以便主控接收器发送一个停止信号。 发送数据 在I2C总线上传送的每位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合下,SDA逐位地串行传送每一位数据。数据位的传输是边沿触发。 2.LM335的ADC采集 STM32f103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,ADC3一般有8个外部通道,各通道的A/D转换可以单次、连续、扫描或间断执行,ADC转换的结果可以左对齐或右对齐储存在16位数据寄存器中。ADC的输入时钟不得超过14MHz,其时钟频率由PCLK2分频产生。 ADC所能测量的电压范围就是VREF- ≤ VIN ≤ VREF+,把 VSSA 和 VREF-接地,把 VREF+和 VDDA 接 3V3,得到ADC 的输入电压范围为: 0~3.3V。 LM335测温引脚输出电压范围在3V左右,所以不需要外置电路,ADC即可直接采集电压。 3.DS18B20的单总线协议 (1)单总线通信初始化 初始化时序包括:主机发出的复位脉冲和从机发出的应答脉冲。主机通过拉低单总线480-960μs产生复位脉冲;然后由主机释放总线,并进入接收模式。主机释放总线时,会产生一由低电平跳变为高电平的上升沿,单总线器件检测到该上升沿后,延时15~60μs,接着单总线器件通过拉低总线60~240μsμ来产生应答脉冲。主机接收到从机的以应答脉冲后,说明有单总线器件在线,到此初始化完成。然后主机就可以开始对从机进行ROM命令和功能命令操作。 (2)位写入时序 写时隙:当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写1的时间隙和写0时间隙。所有写时间隙必须最少持续60us,包括两个写周期间至少1us的恢复时间。DQ引脚上的电平变低后,DS18B20在一个15us到60us的时间窗口内对DQ引脚采样。如果DQ引脚是高电平,就是写1,如果DQ引脚是低电平,就是写0。主机要生成一个写1时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15us内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保持60us。 (3)位读取时序 当主机把总线从高电平拉低,并保持至少1us后释放总线;并在15us内读取从DS18B20输出的数据。 4.LED控制 LED即发光二极管,一端通过电阻限流接至GND,另一端接到单片机IO口,当IO口电平置高时,LED便点亮。 5.按键中断 STM32使用按键有两种方式: (1)循环扫描模式,占用CPU资源较大,需要不断扫描,看是否有按键被按下。 (2)中断触发方式,使用前后台模式,当按键被按下时(IO口检测到下降沿),CPU停下手头工作,转去执行中断任务。 本系统采用中断触发方式,当检测到下降沿时,在中断内修改设定温区。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:05 , Processed in 1.233113 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号