单片机课设(记录)1(DS18B20)
题目
E43-T2811: 基于蓝牙通信的智能家居系统设计设计一个智能家居系统,通过手机APP控制LED灯的亮灭(2个)、窗户开关 (1个)、以及检测房间温度(本地显示及上发手机APP)
设计要求
1) 采用51系列单片机、继电器、蜂鸣器、LED、DS18B20等;
2)手机APP可以采用蓝牙模块自带的调试助手:
3) 通过APP控制LED灯的亮灭、窗户开关(继电器模拟即可)
4) 单片机采集房间温度,并发送至APP显示:5)扩展功能。
准备工作:
AT89S51最小系统板,STC89C52RC,LED*2,蜂鸣器,DS18B20,继电器,HC-05主从机一体蓝牙模块,510K电阻
PROTEUS仿真
遇到的一些知识点:(百度查询到的)
Q1
为什么继电器要连接晶体管?
A1
由于继电器通电的电流很大,不能用单片机直接控制,需要晶体管驱动,用晶体管做开关电路,用单片机控制晶体管的基极控制晶体管的导通和截止,从而控制继电器的通电和关闭。
DS18B20相关资料
1.时序
初始化时序

读写时序
DS18B20有两种写时序:写1时序和写0时序。总线控制器通过写1时序来写逻辑1;通过写0时序来写逻辑0。写时序必须最少持续60us,包括两个写周期之间至少1us的恢复时间。当总线控制器把数据线从逻辑高电平拉低到低电 平的时候,写时序开始。总线控制器要写产生一个写时序,必须把数据线拉到低电平然后释放,且需在15us内释放总线。当总线被释放后, 上拉电阻将总线拉高。总线控制器要生成写0时序,必须把数据线拉到低电平且继续保持至少60us。 总线控制器初始化写时序后,DS18B20在一个15us到60us的窗口内对信号线进行采用。如果线上是高电平,就 是写1。反之,如果线上是低电平,就是写0。
总线控制器发起读时序时,DS18B20仅被用来传输数据给控制器。因此,总线控制器在发出读寄存器指令0xbe或读电源模式指令0xb4后必须立刻开始读时序,以便DS18B20提供请求的数据。除此之外,总线控制器在发出发送 温度转换指令平0x44或召回EEPROM指令0xb8之后读时序。 所有读时序必须最少60us,包括两个读周期间至少1us的恢复时间。当总线控制把数据线从高电平拉低到低电平 时,读时序开始,数据线必须至少保持1us,然后总线被释放(见图14)。在总线控制器发出读时序后,可编程分辨率单总线温度传感器过拉高或拉低总线上来传输1或0。当传输0结束后,总线将被释放,通过上拉电阻回到高电平空闲状态。从DS18B20 输出的数据在读时序的下降沿出现后15us内有效。因此,总线控制器在读时序开始15us内释放总线然后采样总线状态,以读取数据线的状态。

2.DS18B20 特征

3.内部指令表




链接: https://pan.baidu.com/s/1pElaSK9qiS8QbwHfFuW6Qw 提取码: MBFB 复制这段内容后打开百度网盘手机App,操作更方便哦
蓝牙HC-04
指令
AT\r\n
AT+VERSION?\r\n
AT+UART=9600,1,0\r\n
AT+UART?\r\n
AT+PSWD?\r\n
AT+PSWD=0000\r\n
AT+NAME=LY-05\r\n
AT+NAME?\r\n
AT+RESET\r\n
浙公网安备 33010602011771号