课程设计
目 录
1 设计任务及要求 .........................................................................................................................1
1.1 引言 ................................................................................................................................1
1.2 功能要求 ........................................................................................................................1
2 设计方案 .................................................................................................................................2
2.1 可选择的芯片方案 ........................................................................................................2
2.2 显示模块选择方案 ........................................................................................................2
2.3 温湿度模块的选择方案 ................................................................................................3
3 整体电路设计 .........................................................................................................................4
3.1 整体电路框图 ................................................................................................................4
3.2 整体电路接线图 ............................................................................................................5
4 单元电路设计 .........................................................................................................................6
4.1 单片机的介绍 ................................................................................................................6
4.2 OLED 显示模块介绍.....................................................................................................9
4.3 DHT11 温湿度传感器介绍 ...........................................................................................9
4.4 DS18B20 温度传感器介绍 .........................................................................................11
5 软件编程设计..........................................................................................................................12
5.1 主程序流程图 ..............................................................................................................12
5.2 OLED 显示程序设计...................................................................................................13
5.3 时钟程序设计 ..............................................................................................................14
5.4 温度传感器模块的程序设计 ......................................................................................16
5.5 温湿度传感器模块的程序设计 ..................................................................................17
6 系统联调设计..........................................................................................................................18
7 心得体会 ................................................................................................................................19
8 参考文献 ................................................................................................................................20
1
1 设计任务及要求
1.1 引言
本文提出了一种基于 STM32 的智能万年历设计方案,本文案以 STM32F103C8T6 最小
系统作为主控核心,与 OLED 显示、DS18B20 温度传感器、DST11 温湿度传感器等模块组
成硬件系统。其中以 STM32 内部的 RTC(实时时钟)实现日历和时间的功能,通过修改计
数器的值可以重新设置系统的当前时间和日期。综上所述,此电子时钟具有读取方便、
显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋
势,具有广阔的市场前景。
1.2 功能要求
(1)系统组成:
系统选用 STM32F103C8T6 单片机为微处理器,使用各模块实现万年历的功
能。
(2)实现功能:
1)在 OLED 显示屏上显示实时的日期和时间。
2)具有闰年的自动调整功能。
3)能够显示实时温度。
4)能够显示实时湿度。
(3)模块组成:
STM32 单片机最小系统、OLED 显示模块、温度传感器模块、湿度传感器模
块;
2
2 设计方案
2.1 可选择的芯片方案
整个系统用 STM32F103 单片机作为中央控制器,由单片机采集内部 RTC 值,时钟信
号通过单片机 I / O 口传给 OLED,单片机模块控制驱动模块驱动显示模块,通过显示模
块来实现信号的输出、OLED 的显示及相关的控制功能。
方案 1:采用 89C51 芯片采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有
4KB ROM 存储空间,能于 3V 的超低压工作,而且与 MCS-51 系列单片机完全兼容,但是运
用于电路设计中时由于不具备 ISP 在线编程技术,当在对电路进行调试时,由于程序的
错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的
损坏。
方案 2:采用 STM32 单片机。STM32F103C8T6 是一款基于 ARM Cortex-M 内核 STM32
系列的 32 位的微控制器,程序存储器容量是 64KB,需要电压 2V ~ 3.6V,工作温度为-
40°C ~ 85°C。主要性能有:与 MCS-51 单片机产品兼容、37 个可编程 I/0 口线、贴片
8M 晶振(通过芯片内部 PLL 最高可达 72M)、支持 JTAG/SWD、20K RAM,64K ROM,16 位
的定时、计数器、中断源、全双工 UART 串行通道等。价格相对较便宜,从单片机芯片主
要性能角度和价格优势出发,本设计的智能万年历单片机芯片选择设计采用方案采用
STM32F103C8T6。
2.2 显示模块选择方案
方案 1:采用 OLED 显示模块
OLED 显示模块的显示功能强大,可显示大量文字图形显示多样,清晰可见,显示质
量高没有电磁辐射,可视面积大,数字接口,匀称小巧,功耗小。应用范围较广,常被
用于智能手表,智能手环等设备的显示。相对于 LCD 来说,OLED 是自发光的,不需要背
光。
方案 2:采用点阵式数码管显示
动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循
环点亮一次,利用人的视觉暂留功能可以看到整个显示,但需保证扫描速度足够快,人
3
的视觉暂留功能才可察觉不到字符闪烁,显示器的亮度与导通电流、点亮时间及间隔时
间的比例有关。调整参数可以实现较高稳定度的显示,动态显示节省了 I/O 口,降低了
能耗。
从节省单片机芯片 I/O 口和降低能耗角度出发,本设计采用 OLED 显示。
2.3 温湿度模块的选择方案
湿度测量模块选择:DHT11 传感器包括 1 个电阻式感湿元件和 1 个 NTC 测温元件,并
与 1 个高性能 8 位单片机相连接。单线制串行接口,使系统连接可以更简洁。功耗极
低,信号传输距离可达 20 m 以上。作为一种新型的单总线数字温湿度传感器,DHT11 具
有体积小、功耗低、响应速度快、抗干扰能力强、控制简单、性价比高等优点,能够广
泛应用于各个领域。
温度测量模块的选择:DS18B20 的测温范围-55℃~ 125℃,分辨率最大可达
0.0625 ℃。DS18B20 可以直接读出被测温度值。而且采用 3 线制与单片机相连,减少了
外部硬件电路,具有低成本和易使用的特点。 DS18B20 是 Dallas 半导体公司的数字化
温度传感器,它是一种支持 “一线总线”接口的温度传感器。支持联网寻址,简单的网
络化的温度感知,零功耗等待等特点。相比于 DHT11 温湿度模块的温度测量,DS18B20 温
度模块测量的温度更加精准,误差小。
因此,本设计采用 DHT11 温湿度模块和 DS18B20 温度模块分别作为湿度测量和温度
测量使用。