91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 77KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-11
  • 語言: 其他
  • 標簽: C51??oled??c51—oled??

資源簡介

在51單片機中OLED 屏幕顯示,支持字庫,支持數字輸出;支持動態數字,動態漢字輸出;支持小數輸出。OLED 在stm32中的功能在c51中完美實現

資源截圖

代碼片段和文件信息

#include?“intrins.h“
#include?“codetab.h“
#include?“LQ12864.h“
#include?
typedef?unsigned?char?BYTE;
typedef?unsigned?int?WORD;
#define?uint?unsigned?int?
#define?uchar?unsigned?char?
sbit?io=P1^0;//dht11data端接單片機的P1^0口//?
typedef?bit?BOOL;//此聲明一個布爾型變量即真或假//?
uchar?data_byte;?
uchar?RHRLTHTL;

//***************延時函數*************************************?

?void?delay_dth1(uchar?ms)?//延時模塊//?
{?
??uchar?i;?
??while(ms--)?????????????????
for(i=0;i<100;i++);?
}?


void?delay1_dth11()//一個for循環大概需要8個多機器周期一個機器周期為1us晶振為12MHz也就是說本函數延時8us多此延時函數必須德稍微精確一點?
{?
??uchar?i;?
??for(i=0;i<1;i++);?
}?

//**************************dht11測試某塊*************************************//?

void?start()//開始信號?

{?

??io=1;?

??delay1_dth11();?

??io=0;?

??delay_dth1(25);//?主機把總線拉低必須大于18ms保證DHT11能檢測到起始信號?

??io=1;????//發送開始信號結束后拉高電平延時20-40us?

??delay1_dth11();//以下三個延時函數差不多為24us符合要求?

??delay1_dth11();?

??delay1_dth11();?

}?

?

uchar?receive_byte()//接收一個字節//?

{?

??uchar?itemp;?

??for(i=0;i<8;i++)//接收8bit的數據?

??{?

? while(!io);//等待50us的低電平開始信號結束?

? delay1_dth11();//開始信號結束之后延時26us-28us以下三個延時函數?

?delay1_dth11();?

? delay1_dth11();?

? temp=0;//時間為26us-28us表示接收的為數據‘0‘?

? if(io==1)?

?temp=1;?//如果26us-28us之后還為高電平則表示接收的數據為‘1‘?

????while(io);//等待數據信號高電平‘0‘為26us-28us‘1‘為70us?

? data_byte<<=1;//接收的數據為高位在前右移?

?data_byte|=temp;?

??}?

??return?data_byte;?

}?

????

void?receive()//接收數據//?

{?
??uchar?T_HT_LR_HR_Lchecknum_checki;?
??start();//開始信號//?
??io=1;???//主機設為輸入判斷從機DHT11響應信號?
??if(!io)//判斷從機是否有低電平響應信號//?
??{??
while(!io);//判斷從機發出?80us?的低電平響應信號是否結束//?
while(io);//判斷從機發出?80us?的高電平是否結束如結束則主機進入數據接收狀態?
R_H=receive_byte();//濕度高位?
R_L=receive_byte();//濕度低位?
T_H=receive_byte();//溫度高位?
T_L=receive_byte();//溫度低位?
check=receive_byte();//校驗位?
io=0;?//當最后一bit數據接完畢后從機拉低電平50us//?
for(i=0;i<7;i++)//差不多50us的延時?
delay1_dth11();?
io=1;//總線由上拉電阻拉高進入空閑狀態?
num_check=R_H+R_L+T_H+T_L;?
if(num_check==check)//判斷讀到的四個數據之和是否與校驗位相同?
{?
?RH=R_H;?
?RL=R_L;?
?TH=T_H;?
?TL=T_L;?
?check=num_check;?
}?
??}?

}?

//*****************************************************************************


void?main(void)
{


OLED_Init();?//OLED初始化

OLED_ShowString(00“Wellc!!“12);
OLED_ShowString(02“2332424!!!“12);

while(1)
{
receive();//接收數據?
OLED_ShowNumber(552RH212);
OLED_ShowNumber(550TH212);



}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-09-30?18:27??C51—OLED顯示\
?????文件????????8917??2019-09-30?16:51??C51—OLED顯示\LQ12864.h
?????文件???????21628??2019-09-30?18:21??C51—OLED顯示\OLED
?????文件???????25426??2019-09-30?18:21??C51—OLED顯示\OLED.M51
?????文件????????2191??2013-08-22?15:55??C51—OLED顯示\OLED.Uv2.bak
?????文件????????1305??2019-09-30?18:21??C51—OLED顯示\OLED.build_log.htm
?????文件???????11450??2019-09-30?18:21??C51—OLED顯示\OLED.hex
?????文件??????????51??2019-09-30?18:21??C51—OLED顯示\OLED.lnp
?????文件????????1684??2014-02-09?10:44??C51—OLED顯示\OLED.opt.bak
?????文件?????????386??2014-04-13?14:28??C51—OLED顯示\OLED.plg
?????文件??????141108??2014-04-13?14:28??C51—OLED顯示\OLED.uvgui.Aaron_Lee
?????文件???????86025??2019-09-30?18:27??C51—OLED顯示\OLED.uvgui.yang_DX
?????文件??????141101??2014-04-13?14:24??C51—OLED顯示\OLED.uvgui_Aaron_Lee.bak
?????文件????????7275??2019-09-30?16:54??C51—OLED顯示\OLED.uvopt
?????文件???????14181??2019-09-30?18:27??C51—OLED顯示\OLED.uvproj
?????文件????????6159??2019-09-30?18:21??C51—OLED顯示\OLED12864.LST
?????文件???????24987??2019-09-30?18:21??C51—OLED顯示\OLED12864.OBJ
?????文件????????2974??2019-09-30?18:05??C51—OLED顯示\OLED12864.c
?????文件????????1662??2014-01-22?20:51??C51—OLED顯示\OLED_Opt.Bak
?????文件????????2191??2013-08-22?15:29??C51—OLED顯示\OLED_Uv2.Bak
?????文件???????76285??2014-02-13?22:11??C51—OLED顯示\OLED_uvopt.bak
?????文件???????14158??2019-09-30?18:20??C51—OLED顯示\codetab.h

評論

共有 條評論