沈阳工业大学本科生毕业设计(论文)
图3-8 稳压电源
3.3.2 晶振电路
选用无源12MHZ晶振,为LPC1768提供震荡信号。 时钟电路配备固定的32.768KHZ无源晶振。
图3-9 晶振电路
25
沈阳工业大学本科生毕业设计(论文)
3.3.3 SHT11传感器电路
图3-10 SHT11传感器电路
3.4本章小结
本章主要介绍了系统单片机和传感器的选型以及硬件电路部分。单片机选择LPC1768,传感器选择了SHT11型温湿度传感器。同时对芯片和传感器的性能指标和读取时序等做了介绍。
26
沈阳工业大学本科生毕业设计(论文)
第4章 系统的软件设计
4.1程序框图
开始 初始化 启动温/湿度测量 判断显示温度/湿度 判断显示通道 读温度/湿度值 显示温度/湿度值 判断是否超出 设定范围 N Y 报警 图4-1 程序框图
27
沈阳工业大学本科生毕业设计(论文)
4.2 延时程序
void delay_us(unsigned int nus) {
unsigned int i; unsigned char j; for(i=0;i for(j=0;j<6;j++){} } } void delay_ms(unsigned int nms) { unsigned int i; for(i=0;i 4.3 SHT11检测传输 4.3.1 SHT11开始信号 用一组“启动传输”时序,来初始化传输。它包括:当SCK时钟处于高电平时DATA跳转为低电平,紧接着SCK变为低电平,随后是SCK处于高电平时DATA跳转为高电平。 void START_SHT11() { SETCLK(); SETDATA(); delay_us(5); CLRDATA(); delay_us(5); CLRCLK(); delay_us(5); 28 沈阳工业大学本科生毕业设计(论文) } SETCLK(); delay_us(5); SETDATA(); 4.3.2 SHT11的重连接 如果SHTxx的通讯中断,可以使用下列信号时序复位串口: 当DATA处于高电平时,触发SCK时钟9次或者更多次数。在传输下一次指令之前,必须发送一个“启动传输”时序。这些时序只能复位串口,状态寄存器内容仍然保留。 void reconnect() } 4.3.3 SHT11的写函数 void write_sht11(unsigned char cmd) /* sht11的写函数 */ { unsigned char i; for(i=0;i<8;i++) { CLRCLK(); if(cmd&0x80) { } 29 unsigned char k; { } START_SHT11(); SETCLK(); delay_us(5); CLRCLK(); SETDATA(); for(k=0;k<9;k++) SETDATA();