用12单片机做温湿度显示,传感器用的dht22,显示用的是oled,Proteus仿真时为什么温湿度一直显示0?

我刚刚跑了我的程序,发现dht22根本没有响应,不知道是什么原因,麻烦会的大佬帮忙看看,下面贴出相关代码。
图片说明图片说明图片说明

然后在下图这里出现了问题,传感器并不会自行拉低80us,导致无法响应后面的数据传输的信号。
图片说明

在proteus仿真中如下图所示,oled一直显示0,示波器也只有最开始把总线拉低那一段。

图片说明

希望会的人能帮我看看,我已经研究两天了,还是不知道是什么原因。另外,函数里的U8FLAG这个标志量也不是很清楚,为什么他一定要等于2,这个有什么用呢?希望大家帮我解答一下,谢谢

您好,能帮我解答一些,我的oled屏幕不显示的问题吗??快哭了,整了好几天了