一、前言
手边常用到 的这款 OLED 常常用于嵌入式设备的调试屏幕,下面移植到 AI8051U单片机下,同时对DS18B20 温度传感器进行操作。将移植后的软件用于将来的实验中。
设计测试电路。设计一个OLED接口。通过P3.3 连接 DS18B20。下面设计单面PCB,适合一分钟制板。一分钟之后得到测试电路板。电路板制作的非常完美。下面焊接测试。
焊接电路,使用探针夹子连接STC的下载器,现在工作电压为5V,对于所使用的OLED是否能够工作,也希望能够通过测试验证一下。
修改OLED源文件中的端口信息,使得它与现在电路板上的端口保持一致。然后在主程序中调用这些函数。下载之后单片机工作在 45MHz左右,可以看到在5V电源下,OLED能够正常工作。
在电路板上,使用 P3.3 端口读取 温度传感器 DS18B20,原本应该在外部设置一个上拉电阻,这里使用了AI8051U的准双向端口内部的上拉电阻,外部不再设置上拉电阻了。
移植了网络上别人编写的 DS18B20的程序。修改了其中的端口号,根据单片机的运行速度,修改了这个 NOP 函数,使得延迟子函数能够有正确的时长。这部分需要提前进行测试。读取DS18B20的温度值,在 OLED 上进行显示。可以看到,实际上的数值比起室温还是大了 3 摄氏度左右。
本文测试了AI8051U单片机驱动OLED的模块,可以在5V电压下进行工作。移植了DS18B20温度传感器,外部不再使用上拉电阻的情况下,利用AI8051 的 IO内部上拉电阻完成对 DS18B20的操作。相应的子程序都放置在CSDN的博文中了。
(1) C语言程序
(2) 头文件
(1) C语言程序
(2)头文件
参考资料
[1]
【常用传感器】DS18B20温度传感器原理详解及例程代码: https://blog.csdn.net/as480133937/article/details/112604303