单片机学年设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机学年设计论文
摘要
本课程设计要求以STM32F103RBT6单片机为处理器,其隶属于ARM公司的Cotex-M3内核,主要功能模块有STM32F103RBT6电源晶振复位最小系统,USB电源及下载电路PL2303设计,单总线温度传感器接口(DB18B02),键盘及数码管显示BC7277芯片等功能模块,完成原理图的设计,印刷电路板的绘制,电路板的焊接、调试、程序设计,以及各个功能模块的程序编写,综合测试。
关键词:STM32F103RBT6单片机、8段数码管显示、温度传感器DS18B20、流水灯、BC7277、AD转换
目录
一、设计任务及要求 (1)
二、实现原理简介 (2)
2.1 STM32F103RBT6电源晶振复位最小
系统 (2)
2.2单总线温度传感器接口(DS18B02) (2)
2.3键盘及数码管显示BC7277芯片 (3)
2.5 流水灯 (4)
三、芯片功能简介 (5)
3.1 STM32F103RBT6芯片简介 (5)
3.2 DS18B20功能简介 (6)
3.3 BC7277芯片介绍 (6)
四、硬件系统电路设计 (7)
五、软件编程调试及性能分析 (12)
5.1整个软件的主流程图 (12)
5.2 DS18B20程序流程图 (13)
六、总结 (13)
一、设计任务及要求
1.完成《STM32单片机应用板》的设计,内容包括:STM32F103RBT6电源晶振复位最小系统,USB电源及下载电路PL2303设计,单总线温度传感器接口(DB18B02),键盘及数码管显示BC7277芯片,接口(24C02)等等。
2.完成电路原理图设计及印刷电路板图设计。
3.焊接电路板,手动焊接电路板(器件都是贴片式的,焊接过程一定要细致小心)。
4.编程与调试电路板。
完成如下相关程序的设计和调试:(a、b必选,c,d,e,f,g人选其一)
a) 流水灯程序;
b) 按键及显示数码的程序;
c) 温度传感器18B20的程序设计;
d) 电子时钟的程序设计;
e) A/D转换程序设计;
f) 24C02读写程序的设计;
g) 2303串行通信的程序设计。
5.完成年度设计论文的撰写,字数3000-5000,论文格式及要求按教务网线上关于论文写作的要求执行。
二、实现原理简介
按照本次设计的要求,该系统主要分为五个部分:STM32F103RBT6电源晶振复位最小系统,USB电源及下载电路PL2303设计,单总线温度传感器接口(DS18B02),键盘及数码管显示BC7277芯片。
系统各部分介绍如下:
2.1 STM32F103RBT6电源晶振复位最小系统
STM32F103RBT6是32位的ARM微控制器,该系列芯片是意法半导体公司出品,其内核Cortex‐M3是一个32位处理器内核。
内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。
CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。
使数据访问不再占用指令总线,从而提升了性能。
为实现这个特性。
CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且它们可以并行工作。
但是另一方面,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)。
有四个驱动单元:Cortex-M3内核DCode总线(D-bus),和系统总线(S-bus) ;通用DMA1和通用DMA2。
四个被动单元:内部SRAM 、内部闪存存储器、FSMC 、AHB到APB的桥(AHB2APBx),它连接所有的APB 设备。
五个驱动单元:Cortex™-M3内核DCode总线(D-bus),和系统总线(S-bus) 、通用DMA1和通用DMA2 、以太网DMA;三个被动单元:内部SRAM 、内部闪存存储器、AHB到APB的桥(AHB2APBx),它连接所有的APB设备。
2.2单总线温度传感器接口(DS18B02)
DS18B20内部结构如图所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
2.3键盘及数码管显示BC7277芯片
(1)BC7277 具有 9 位数码管显示管理功能,无需外围器件,即可以构成 9 位(72 段)LED 显示和键盘驱动。
因为支持段寻址,可以独立地控制每一个显示段,也非常适用于独立的LED。
BC7277 支持闪烁显示功
能,且闪烁速度可调,每一位均可独立控制闪烁属性,而前 8位更可以独立控制每一段的闪烁,在使用独立的 LED 指示灯时,非常有用。
(2)BC7277 内部提供译码功能,用户可以直接向译码寄存器写入数值,而得到相应数字显示。
译码显示时,该位的小数点显示不受影响,用户只需更新显示数据,而无需考虑小数点的问题,尤其对于将小数点用作单独指示灯的用户,使用非常简便。
同时,也支持直接写入显示寄存器,可以完成一些特殊字符的显示。
(3)键盘可最多支持 16 键,芯片内含去抖动电路,可以支持任意的组合键,长按键,可以支持各种常开或常闭开关。
(4)BC7277 采用串行接口,可以直接与标准 SPI 接口连接,通讯速率可达 64Kbps,用户可以充分利用微处理器上硬件 SPI 接口资源,当使用中断方式时,可使显示部分的通讯几乎不占用主程序时间。
BC7277 的SPI 接口可以接为 2 线、3 线或 4 线方式。
可以通过 CS 片选信号,在一个 SPI 总线上使用多个器件,而在 MCU I/O 口资源紧张时,片选 CS 线可以直接接地,其内部独特的SPI 口计时复位逻辑可以使得即便没有片选信号的接口清零功能,也可以保障通讯不会出错。
2.4 流水灯
系统的的原理框图如下图所示
三、芯片功能简介
3.1 STM32F103RBT6芯片简介
STM32 的优异性体现在如下几个方面:
1. 超低的价格。
以8 位机的价格得到32 位机,是STM32 最大的优势。
2.超多的外设。
STM32 拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA 等众多外设及功能具有极高的集成度。
3.丰富的型号。
STM32 仅M3 内核就拥有F100、F101、F102、F103、F105、F107、F207、F217 等8 个系列上百种型号,具有QFN、LQFP、BGA 等封装可供选择。
同时STM32还推出了STM32L 和STM32W 等超低功耗和无线应用型的M3 芯片。
4.优异的实时性能。
84 个中断,16 级可编程优先级,并且所有的引脚都可以作为中断输入。
5.杰出的功耗控制。
STM32 各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。
6.极低的开发成本。
STM32 的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD 和JTAG 两种调试口。
SWD 调试可以为你的设计带来跟多的方便,只需要 2 个IO 口,即可实现仿真调试。
图一系统结构
3.2 DS18B20功能简介
(1)适应电压范围更宽,电压范围:3.0 V~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(4)测温范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
(5)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、
0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(7)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(8)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
3.3 BC7277芯片介绍
特点:
可驱动 9 位共阴式数码管或 72 只 LED
● 无需外围器件
● 9 个显示位均可单独闪烁显示
● 单独 LED 闪烁
● 闪烁速度可调
● 段寻址可以单独控制任意显示段
● 译码显示时小数点显示不受显示更新影响
● 可直接访问显示寄存器(显示特殊字符)
● 16 键键盘支持任意组合键和长按键
● 标准 SPI 串口,可用 2 线、3 线或 4 线方式
● SSOP24 小体积封装
● 与其它 BC727X 系列芯片软件兼容,软件无需修改,即可用于其它BC727X 芯片
各引脚说明:
四、硬件系统电路设计
整个电路由STM32F103RBT6单片机为主控制器,与其相连的功能模块有STM32F103RBT6电源晶振复位最小系统,USB电源及下载电路PL2303设计,单总线温度传感器接口(DB18B02),键盘及数码管显示BC7277芯片模块,我在本次课程设计中,我只使用的是STM32F103RBT6电源晶振复位
最小系统,USB电源及下载电路PL2303设计,单总线温度传感器接口(DB18B02),键盘及数码管显示BC7277芯片模块,流水灯。
整个电路由STC15F2K60S2单片机为主控器控制,与其相连的分别是单片机开发板中不可缺少的电路。
分别是RS232电路、流水灯电路、USB 接口电路、温度传感器电路、时钟电路、EEPROM电路、键盘数码显示电路。
本次课程设计中,我只使用到了流水灯电路、温度传感器电路、键盘数码显示电路。
DS18B20温度传感器感知周围的温度并将感知的温度传给单片机,在通过相应的接口将温度传给数码管显示。
这样就实现了温度的采集与显示;通过控制单片机IO口的高低电平来控制LED灯的亮灭,从而实现了流水灯。
整个电路的电路图如下图所示:
图二.最小系统
图三.DS18B20电路
图四.程序下载JTAG、PL2302电路
图五.USB转串口电路
图六.键盘及数码管电路
图七.ADC及LED电路
图八.PCB印刷电路板
五、软件编程调试及性能分析
5.1整个软件的主流程图
编写单片机程序,除了要熟悉硬件电路,我们还要有阅读芯片使用手册的习惯,比如说定时器中断的使用,如果一个程序中需要用到中断,而且要用多个中断才能实现,那么就要考虑中断优先级的问题,优先级高的中断先执行,优先级低的中断后执行。
由于之前没有用过中断,所以必须查看芯片手册才能设置中断的优先级。
5.2 DS18B20程序流程图
六、总结
课程设计是我们对知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。
“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。
本课程设计让我学会了以STM32F103RBT6单片机,主要功能模块有STM32F103RBT6电源晶振复位最小系统,USB电源及下载电路PL2303设计,单总线温度传感器接口(DB18B02),键盘及数码管显示BC7277芯片等功能模块,完成原理图的设计,印刷电路板的绘制,电路板的焊接、调试、程序设计,以及各个功能模块的程序编写,综合测试。
感谢老师的指导和同学们的帮助,这次课程设计使我受益匪浅。
对以后工作也有很大的帮助。
参考文献:
[1]李全利.单片机原理及接口技术.北京:高等教育出版社,2009.
[2]薛楠. Protel DXP 2004 原理图与PCB设计实用教程. 北京:机械工业出版社,2012.
[3]李学礼.基于Proteus的8051单片机实例教程. 北京:电子工业出版社,2008.
[4]郭天祥. 51单片机C语言教程. 北京:电子工业出版社,2009.
[5]谢文和. 传感技术及其应用.北京:高等教育出版社. 2004.。