基于ARM7的温度控制器的设计.doc
- 文档编号:2590246
- 上传时间:2022-11-02
- 格式:DOC
- 页数:29
- 大小:2.85MB
基于ARM7的温度控制器的设计.doc
《基于ARM7的温度控制器的设计.doc》由会员分享,可在线阅读,更多相关《基于ARM7的温度控制器的设计.doc(29页珍藏版)》请在冰豆网上搜索。
基于ARM7的温度控制器的设计
学院:
电气学院
班级:
11自一_
姓名:
杜康____
学号:
11020505
指导老师:
王崴
目录
一、简介 4
1.单片机的发展历程 4
2.stm32系列单片机 4
3.DS18B20温度传感器 5
二、总体方案设计 7
1.主要功能 7
2.设计要求 7
三、最小系统的设计 7
1.唤醒电路 8
2.晶振延时电路及复位电路 8
四、系统硬件分析与设计 9
1.系统框图 9
2.各模块电路图 10
3.元器件 11
(1)Stm32F103RBT632位单片机 11
(2)TFTLCD液晶 12
(3)其他元器件 13
五、系统软件程序设计 13
1.按键控制子流程图 14
2.TFTLCD显示子流程图 15
3.主流程图 16
六、仿真与调试 17
1.软件调试 17
2.下载代码,软硬件联调 18
七、个人总结 20
八、参考文献 21
九、附录 22
1.系统电路原理图 22
2.程序清单 23
一、简介
1.单片机的发展历程
典型的微型计算机包括运算器、控制器、存储器、I/O接口四个基本组成部分。
如果在一块芯片上,集成了一台微型计算机的四个基本组成部分,这种芯片就被称为单片微型计算机(SingleChipMicrocomputer),简称单片机。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补。
纵观单片机的发展过程,可以看出单片机的发展普遍呈现微型单片化、低功耗CMOS化、主流与多品种共存的趋势。
九十年代以后,单片机在结构上采用双CPU或内部流水线,CPU位数有8位、16位、32位,时钟频率高达20MHZ,片内带有PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调器等。
芯片向高度集成化、低功耗方向的发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。
2.stm32系列单片机
传统的单片机(如51)使用的是复杂指令集(CISC),且不具备指令流水线;ARM使用的是精简指令集(RISC),而且使用了三级流水线。
这使得ARM的制造成本和运行效率相对51有着明显的优势。
传统的单片机一般都是8位机。
随着信息量的增加,我们会越来越多的需要处理超过8位以上的数据。
以32bit数据的加减法为例,51需要多次处理,而在ARM中只需要1个指令即可。
基于ARM内核的芯片种类越来越多,器外围接口(UART/SPI/IIC/USB/CAN/BUS/LCDC),内部一般都加入了DMA,进一步提升了性能。
给用户提供了很大的选择空间。
典型的如stm32系列单片机。
stm32系列32ARM单片机重塑了微控制器市场,克服了应用32位系统的所有障碍,是第一个由半导体厂商提供的基于ARMCOTEXM3的为控制器系列。
Stm32系列单片机为微控制器的用户带来了全新的自由度。
它拥有先进的性能,出色的功耗效率,一流的外设,最大化的集成度,最佳的代码紧凑性,大范围的存储容量选择,最佳的工具与软件平台。
3.DS18B20温度传感器
DS18B20是由DALLAS半导体公司推出的一种的“一线总线”接口的温度传感器。
与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。
一线总线结构具有简洁且经济的特点,可使用户轻松地组建传感器网络,从而为测量系统的构建引入全新概念,测量温度范围为-55~+125℃,精度为±0.5℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~l2位的数字值读数方式。
它工作在3—5.5V的电压范围,采用多种封装形式,从而使系统设计灵活、方便,设定分辨率及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
其内部结构见下图:
高温触发器TH
存储器与控制逻辑
64位ROM和单线接口
高速缓存
温度传感器
低温触发器TL
配置寄存器
八位CRC发生器
I/O
VDD
图1.1DS18B20内部结构图
ROM中的64位序列号是出厂前被光记好的,它可以看作是该DS18B20的地址序列码,每DS18B20的64位序列号均不相同。
64位ROM的排列是:
前8位是产品家族码,接着48位是DS18B20的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM作用是使每一个DS18B20都各不相同,这样就可实现一根总线上挂接多个。
所有的单总线器件要求采用严格的信号时序,以保证数据的完整性。
DS18B20共有6种信号类型:
复位脉冲、应答脉冲、写0、写1、读0和读1。
所有这些信号,除了应答脉冲以外,都由主机发出同步信号。
并且发送所有的命令和数据都是字节的低位在前。
DS18B20的典型温度读取过程为:
复位,发SKIPROM命令(0XCC),发开始转换命令(0X44),延时,复位,发送SKIP,ROM命令(0XCC),发读存储器命令(0XBE),连续读出两个字节数据(即温度)->结束。
二、总体方案设计
1.主要功能
功能实现开机后能够检测到当前环境温度并实时送到LCD液晶屏上显示出来,按升温按键,电机正转;按降温按键,电机反转。
LED指示灯不断闪烁,表明单片机正在执行当前程序。
2.设计要求
开机的时候先检测是否有DS18B20存在,如果没有,则提示错误。
当检测到DS18B20之后才开始读取当前环境温度并显示在LCD上,如果发现了DS18B20,则程序每隔200ms左右读取一次数据,并把温度显示在LCD上。
按下相应按键,可以控制电机正转或反转。
三、最小系统的设计
1.唤醒电路
图1.2唤醒电路的设计
按下WK_UP按键,即可实现唤醒控制器开始工作。
2.晶振延时电路及复位电路
图1.3晶振延时电路
图1.4复位电路
Y1、Y2、C3、C4、C5、C6、R4等共同构成了外部振荡电路,Y1选择32.768KHz,Y2选择8MHz,C3、C4、C5、C6均取22pF。
复位信号从单片机的NRST引脚输入,按下复位键,即可使单片机复位。
复位操作有上电复位和手动复位两种,本次采用手动复位电路。
四、系统硬件分析与设计
1.系统框图
DS18B20
数字温度传感器
STM32F103RBT6
32位单片机
按键控制
TFTLCD
液晶显示屏
LED指示灯
复位电路
图1.5系统总体框图
2.各模块电路图
1)温度检测模块
图1.6基于DS18B20的温度检测模块电路
2)按键控制模块
图1.7按键控制模块电路
3)液晶显示模块
图1.8TFTLCD液晶显示模块电路
4)LED指示灯
图1.9LED指示灯模块电路
5)电机控制电路
图2.0电机控制H桥电路
3.元器件
1)Stm32F103RBT632位单片机
本次使用的单片机采用LQFP-64封装,其芯片内部集成了USB外设,大大减轻了USB电路设计的负担,只需设计USB接口电路,就可以实现基于STM32电路板的USB通信设计,是一款集32位MCU、USB、CAN、7个16位定时器、两个ADC和9个通信接口的芯片。
它具有低功耗、直接存储器存取、多达80I/O快速端口等很多性能方面的优势。
图2.1STM32F103RBT632位ARM引脚排列图
2)TFTLCD液晶
本次使用的是TFTLCD,其引脚排列为:
1号引脚为片选信号输入,2、3、4号分别为RS、WR和RD,5号引脚为复位端,时钟信号为34号引脚,6~21为DB1~DB17等。
采用DB_LCD封装。
图2.2LCD引脚排列图
3)其他元器件
五、系统软件程序设计
1.按键控制子流程图
开始
初始化
按键扫描过程开始
有键按下?
按键处理,电机启动
调整温度
是
否
LCD显示温度值T
2.TFTLCD显示子流程图
开始
是否有程序执行
否
是
LCD显示T
是否有键按下
是
否
LCD显示调整后的温度T
结束
3.主程序流程图
开始
初始化
扫描复位电路
复位键是否按下
是
单片机复位
否
检测DS18B20是否
存在?
提示错误
否
是
读取当前环境温度
按键是否有按下
否
是
调整温度值T
每隔200ms,显示一次温度值
LED闪烁
六、仿真与调试
1.软件调试
打开keilforARM,进入软件操作界面。
新建newproject,选择单片机型号为stm32F103RBT6,生成target1àsourcegroup1,新建file,写入C语言代码,添加到sourcegroup1,选择好各种配置文件,勾选“createhexfile“,选择projectàrebuildalltargets进行编译程序,若有错误则纠错到”0error(s),0warning(s)“为止。
图2.3本次程序编译结果
2.下载代码,软硬件联调
安装USB串口驱动CH340,安装完成后再安装STMISP下载器MCUISP。
安装成功后,打开MCUISP软件,点击搜索串口,即可找到已经安装好的USB-SERIALCH340串口。
点击读器件信息,若前面操作均无错误,那么会看到软件提示“命令执行完毕,一切正常”,如下图所示情况。
图2.3器件信息读取正常
然后将在MDK里已经生成的HEX文件装载到MCUISP中,如下图所示。
图2.4载入HEX文件
点击“开始编程”,并把“编程后执行”勾选中。
编程完毕如下图所示。
图2.5编程完成
程序运行结果如下图所示:
七、个人总结
通过本次温控器的设计,我体会到“书到用时方恨少”的道理,从书本上学到的知识对于我们实践来说,是远远不够的。
查阅资料和阅读相关文献是非常重要的。
我们必须学会怎样查找资源,利用资源,整合资源,从资源中获得我们需要的东
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM7 温度 控制器 设计