2024-09-01
售卖作品
00

目录

功能
硬件接线
部分程序
全部程序

功能

读取DS18B20温度 显示到LCD1602显示屏上 温度超过27.0设置度 低电平触发的有缘蜂鸣器报警

硬件接线

//1 LCD1602:

//vss vdd v0 rs rw en D0 D1 D2 D3 D4 D5 D5 D6 A K (模块)

//GND VCC(5V) 滑动变阻器输出电压 P20 P21 P22 P10 P11 P12 P13 P14 P15 P16 P17 VCC(3.3V) GND (单片机板子)

//如果没有滑动变阻器 就把V0接到GND 斜视着看显示

//2 DS18B20:

// VCC DS GND (模块)

// VCC P25 GND (单片机板子)

//3 蜂鸣器:

// VCC D GND (模块)

// VCC P24 GND (单片机板子)

部分程序

cpp
int main(void) { unsigned char dis[10]; WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer //设置单片机工作时钟 设置为8MHZ if (CALBC1_8MHZ == 0xFF) /* If calibration constant erased */ { while (1) ; /* do not load, trap CPU!! */ } DCOCTL = 0; /* Select lowest DCOx and MODx settings */ BCSCTL1 = CALBC1_8MHZ; /* Set range */ DCOCTL = CALDCO_8MHZ; /* Set DCO step + modulation * / */ Port_init(); /* 显示器引脚初始化 */ LCD_init(); /* 显示器初始化 */ P2DIR |= BIT4; //P2.4引脚设置为输出 P2OUT |= BIT4; //P2.4引脚输出高电平 高电平蜂鸣器不响 while (1) { temp_value = get_one_temperature(); //获取温度 dis[0] = temp_value % 1000 / 100 + '0'; dis[1] = temp_value % 100 / 10 + '0'; dis[2] = '.'; dis[3] = temp_value % 10 + '0'; dis[4] = 'C'; dis[5] = 0; LCD_write_str(0, 0, dis); //显示在第0排 第0个位置 if (temp_value > 270) //大于27.0摄氏度 { P2OUT &= ~BIT4; //P2.4引脚输出低电平 低电平蜂鸣器响 } else { P2OUT |= BIT4; //P2.4引脚输出高电平 高电平蜂鸣器不响 } } }

全部程序

cpp
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!