单片机课程设计实验报告Word文件下载.docx

上传人:b****3 文档编号:14151878 上传时间:2022-10-19 格式:DOCX 页数:18 大小:425.48KB
下载 相关 举报
单片机课程设计实验报告Word文件下载.docx_第1页
第1页 / 共18页
单片机课程设计实验报告Word文件下载.docx_第2页
第2页 / 共18页
单片机课程设计实验报告Word文件下载.docx_第3页
第3页 / 共18页
单片机课程设计实验报告Word文件下载.docx_第4页
第4页 / 共18页
单片机课程设计实验报告Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

单片机课程设计实验报告Word文件下载.docx

《单片机课程设计实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计实验报告Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

单片机课程设计实验报告Word文件下载.docx

基于2K位串行CMOS的EEPROMAT24C02的数字密码锁的设计;

基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。

关键词:

单片机DS18B20AT24C02DS1302NRF24L01

摘要..............................................................1

目录..............................................................2

第1章基于DS18B20的数字温度计设计...............................3

1.1设计要求...................................................3

1.2系统组成...................................................3

1.3系统设计...................................................3

1.3.1硬件设计..............................................3

1.3.2软件设计..............................................4

1.4设计结果...................................................6

第2章基于AT24C02的电子密码锁设计...............................7

2.1设计要求...................................................7

2.2系统组成...................................................7

2.3系统设计...................................................8

2.3.1硬件设计..............................................8

2.3.2软件设计..............................................9

2.4设计结果...................................................9

第3章基于DS1302的电子日历的设计................................11

3.1系统功能...................................................11

3.2系统组成...................................................11

3.3系统设计...................................................11

3.3.1硬件设计..............................................11

3.3.2软件设计..............................................13

3.4设计结果...................................................14

第4章基于NRF24L01的无线通信系统的设计..........................15

4.1系统功能...................................................15

4.2系统组成...................................................15

4.3系统设计...................................................15

4.3.1硬件设计..............................................15

4.3.2软件设计..............................................16

4.4设计结果...................................................16

总结..............................................................17

第1章基于DS18b20的数字温度计设计

1.1设计要求

(1)采用DS18b20与单片机STC89C52相结合设计数字温度计,实现液晶屏实时显示当前温度;

(2)读取并显示DS18B20的序列码。

1.2系统组成

本方案设计的系统由单片机系统、数字式温度传感器DS18B20和LCD1602显示模块组成。

DS18B20:

DS18B20是单线式数字温度传感器,与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;

有温度测量范围宽,测量精度高的特点;

同时它的供电方式灵活,可以通过内部寄生电路从数据线上获取电源;

测量参数可配置,其测量分辨率可通过程序设定为9~12位。

LCD1602:

1602液晶也叫1602字符型液晶,是一种专门用来显示字母、数字、符号的点阵型液晶模块,它由若干个5x7或者5x11的点阵字符位组成,每个点阵字符位都可以用显示一个字符。

1.3系统设计

1.3.1硬件设计

图1-1数字温度计硬件原理图

在本次系统设计中,STC89C52单片机作为控制器,完成所有功能的控制,包括:

(1)DS18B20数字温度传感器的初始化和读取温度值;

(2)LCD1602显示驱动与控制。

以数字式温度传感器DS18B20作为传感元件。

DS18B20是单总线数字式温度传感器,采用单总线协议,即与单片机接口仅需占用一个I/O端口,无需任何外围器件,直接将温度转化为数字信号,以数字码形式串行输出。

可由一根I/O数据线既供电又传输数据。

DS18B20直接读取被测温度值,送到LCD1602上进行显示,LCD1602可以显示两行字符,每行16个字符,只能显示ASCII码字符。

本实验中需要显示的数据是温度和DS18B20的唯一序列码。

总体架构如图1-1所示。

将18B20的单总线DQ与单片机接口P2.2相连,通过时序控制首先对其进行初始化,然后发送读写和温度转换命令,使DS18B20内部温度传感器开始工作,最后从温度寄存器中读取两字节二进制码,转换为温度值后显示在LCD上。

同理,对于序列码的读取,也要在18B20初始化成功的基础上,发送读ROM命令(该命令只适用于总线上存在单只DS18B20),将读取的字符显示在液晶屏上。

1.3.2软件设计

主程序:

图1-2主程序流程图

Ø

先进行初始化,该初始化包括DS18b20的初始化和液晶屏的初始化。

DS18b20的初始化是为器件应答准备,作为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备;

液晶屏的初始化是为显示温度准备;

调用显示子程序显示当前检测到的温度值;

不断刷新温度数据进行实时显示。

DS18B20的初始化:

图1-3DS18B20初始化时序图

初始化流程:

将总线拉低480us~960us

拉高总线,若DS18B20做出反应会将在15us~60us后将总线拉低

等待DS18B20拉低总线

图1-4DS18B20初始化流程图

DS18B20读字节和写字节子程序:

图1-5写字节子程序流程图图1-6读字节子程序流程图

写字节:

写周期最少为60微秒,最长不超过120微秒。

写周期一开始主机先把总线拉低1微秒表示写周期开始。

随后若主机想写0,则将总线置为低电平,若主机想写1,则将总线置为高电平,持续时间最少60微秒直至写周期结束,然后释放总线为高电平至少1微秒给总线恢复。

而DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。

读字节:

读周期是从主机把单总线拉低1微秒之后开始,先释放单总线为高电平,以让DS18B20把数据传输到单总线上。

作为从机DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。

若要送出1则释放总线为高电平。

主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。

采样期内总线为高电平则确认为1。

完成一个读时序过程,至少需要60微秒才能完成。

读取温度子程序:

图1-7读取温度子程序流程图

读取温度流程:

跳过ROM操作(0CCH)

发送温度转换命令(044H)

跳过ROM操作(0CCH)

发送读取温度命令(033H)

读取温度值(0BEH)

1.4设计结果

能够在液晶屏的第一行显示DS18b20的序列码,在第二行显示温度并且不断刷新实时显示,分辨率设置为12位。

图1-8设计测试结果图

第2章基于AT24C02的数字密码锁设计

2.1设计要求

(1)设置初始密码为“000000”

(2)进入密码锁后,按键S11修改密码,并在液晶显示密码

(3)S12为确定键,修改成功

(4)S13为重新设置键

(5)S14为退出密码锁

(6)在未进入密码锁时,S11,S12,S13,S14无效

2.2系统组成

本设计由STC89C52单片机芯片和具有2K位串行CMOS的EEPROMAT24C02以及LED数码管显示模块组成。

AT24C02:

(1)模块原理图

图2-1AT24C02模块原理图

(2)发送器件地址的格式

图2-2发送器件地址的格式图

高四位1010是24Cxx系列的固定器件地址,接下来是A2、A1、A0是根据器件连接来决定,我们的原理图都接地所以是000。

R/W为是选择读还是写,1的时候是读,0的时候是写。

(3)芯片工作时序

●初始化(scl=H,sda=H)

●写入过程

发送器件地址(0XA0):

SendByte(0xa0);

发送要写入24C02的内存地址:

SendByte(addr);

发送要写入的数据:

SendByte(dat);

●读出过程

发送写入的器件地址(0XA0)

发送要读的24C02的内存地址

发送读出的器件地址(0XA1)

读取数据

(4)AT24C02的数据发送时序

总线起始信号

图2-3总线起始信号时序图

总线应答信号

总线结束信号

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1