亚洲网站在线免费观看,欧美性运动视频免费观看网站,国产精品爽爽久久,熟女少妇丰满一区二区

問答

基于AT89C51單片機和DS18B20溫度傳感器,LCD1602液晶顯示的高精度數字溫度計程序,用C語言編程

提問者:zhangpan6862017-01-10 00:00

以上是仿真圖,求程序!!!!

最佳答案

LCD驅動程序/*************************************************************//* *//*檢查LCD忙狀態 *//*lcd_busy為1時,忙,等待。lcd-busy為0時,閑,可寫指令與數據 *//* *//*************************************************************/static bit lcd_busy(){ bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(LCD_DB_Port&0x80); LCD_EN = 0; return(result); }/*******************************************************************//* *//*寫指令數據到LCD *//*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 *//* *//*******************************************************************/void lcd_wcmd(uchar cmd){ while(lcd_busy()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); #ifdef LCD_8DB LCD_DB_Port = cmd;#endifdelayNOP(); LCD_EN = 1; //上跳沿時輸入數據 delayNOP(); LCD_EN = 0; }/*******************************************************************//* *//*寫顯示數據到LCD *//*RS=H,RW=L,E=高脈沖,D0-D7=數據。 *//* *//*******************************************************************/void lcd_wdat(uchar dat){ while(lcd_busy()); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0;#ifdef LCD_8DB LCD_DB_Port = dat;#endifdelayNOP(); LCD_EN = 1; delayNOP(); //上跳沿時輸入數據 LCD_EN = 0; }/*************************************************************//* *//* LCD初始化設定 *//* *//*************************************************************/void lcd_init(){ delay(15); //等待電源穩定 lcd_wcmd(LCD_MODE); //設置顯示模式 delay(5); lcd_wcmd(LCD_MODE); delay(5); lcd_wcmd(LCD_MODE); delay(5); lcd_wcmd(0x0c); //顯示開,關光標 delay(5); lcd_wcmd(0x06); //移動光標 delay(5); lcd_wcmd(0x01); //清除LCD的顯示內容 delay(5);}

回答者:sfASFsa6562017-01-12 00:00

DS 5相關問題

  • 數碼管 ds18b20溫度顯示

    樓主你在時序上有些錯誤1。在轉換時沒有留夠足夠的轉換時間。根據DS18B20芯片手冊,9位精度轉換時間為93.75ms。12位精度轉換時間為750ms。而DS18B20默認為12位精度。所以我加了750ms延時2。在寫函

    提問者:rockchunyang2016-12-23

  • 在單片機DS18b20溫度傳感實驗中的初始化程序中,成功就返回1,失敗就返回0有什么作用嗎?

    任何外設的初始化或者命令如果能夠得到返回值確定完成或者未完成才能讓單片機選擇是否進行下一步,更能讓編程人員得到錯誤信息正確的調試錯誤

    提問者:wangyunfeng1382016-09-20

  • DS18B20溫度傳感器讀出數據的轉化問題??

    乘以256是為了將讀過來的數據轉換成十進制數,再乘以25,然后在返回值里又左移了2,相當于(b*256+a)*0.0625*100!這段程序應該沒有判斷正負的語句!你多看看DS18B20的手冊就會明白了!那里面說的很明白

    提問者:nisipm2013-07-16

  • DS18B20溫度轉換問題

    把tplsb和tpmsb都是8位的合成一個16位的有符號數tt;temp為浮點數 t=tpmsb<<8; t=t|tplsb; if(t<0) //負溫

    提問者:z78782013-06-13

  • DS18B20溫度轉換

    高五位S為符號位,分辨率為0.0625。正溫度把16進制數轉成10進制即可;負溫度把16進制數取反后加1再轉成10進制數,第一個是00FA是(15*16+10)*0.0625=15.62度,第二個是0032是(3*16+

    提問者:e7w9e6o4a22014-11-16

  • 關于ds18b20溫度傳感器的兩個問題

    1:第一個劃橫線部分為延時函數大約為11.4ms,為什么要這么延時?數據手冊上說了嗎?我特意看了下英文手冊,10位轉換的時間就是187.6ms,12位轉換的時間是750ms,你看的那個延時時間還不一定對。2:第二個劃橫線

    提問者:ChinaGHT2016-08-05

相關閱讀

DS 5頻道

報價:21.99-34.59
級別:中型車
排量:1.6T 1.8T 
變速箱:-

車友關注

最新標簽

按字母分類:
ABCDEFGHIJKLMNOPQRSTWXYZ0-9