温湿度检测仪电子设计竞赛报告内容摘要:

lag = 0。 mark++。 /* //读温湿度 ,可检测函数调用是否失败 , //函数返回 OK(1)表示成功 ,返回 ERROR(0)表示失败 //OK 和 ERROR 是在 中定义的宏 */ ReadTempAndHumi()。 } if(mark % 2 == 0) { //显示温度 SMG_Display(temp_value)。 } else { //显示湿度 SMG_Display(humi_value)。 } } return 0。 } //设定定时器 static void InitTime(void) { TH0 = (unsigned char)((65535U 50000) 8)。 TL0 = (unsigned char)(65535U 50000)。 TMOD = 0X01。 TR0 = 1。 ET0 = 1。 EA = 1。 } //数码管显示函数 static void SMG_Display(unsigned int value) { unsigned char ge, bai, shi。 ge = value % 10。 shi = value % 100 / 10。 bai = value % 1000 / 100。 SET_WELA()。 P0 = 0XFD。 RESET_WELA()。 P0 = 0XFF。 SET_DULA()。 P0 = array[bai]。 RESET_DULA()。 Delay_1ms(2)。 SET_WELA()。 P0 = 0XFB。 RESET_WELA()。 P0 = 0XFF。 SET_DULA()。 P0 = array[shi]。 P0 |= 0x80。 /*显示小数点 */ RESET_DULA()。 Delay_1ms(2)。 SET_WELA()。 P0 = 0XF7。 RESET_WELA()。 P0 = 0XFF。 SET_DULA()。 P0 = array[ge]。 RESET_DULA()。 Delay_1ms(2)。 } //中断函数 void timer(void) interrupt 1 { TH0 = (unsigned char)((65535 50000) 8)。 TL0 = (unsigned char)(65535 50000)。 flag++。 }} include include //请根据自己的 dht11 接的 IO 口来改动位定义 sbit dht11 = P2^5。 //防止在与硬件通信时发生死循环的计数范围 define NUMBER 20 define SIZE 5 static unsigned char status。 //存放五字节数据的数组。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。