freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于51單片機數字溫度計課程設計(完整版)

2025-10-18 20:06上一頁面

下一頁面
  

【正文】 ,被外部拉低的引腳由于內部電阻的原因,將輸出電流( IIL)。 P1 口: P1 口是一個具有內部上拉電阻的 8 位雙向 I/O 口, p1 輸出緩沖器能驅動 4個 TTL 邏輯電平。 AT89C52 的引腳圖如圖 所示。溫度檢測部分采用 DS18B20 這個芯片大大簡化了溫度檢測模塊的設計, 它無需 2 A/D轉換,可直接將測得的溫度值以二進制形式輸出。把以單片機為核心,開發(fā)出來的各種測量及控制系統(tǒng)作為測量產品的主要部分,使各種測量產品更具智能化、擁有更多功能、便于人們操作和使用,更具時代感,這是測量產品的發(fā)展方向和趨勢所在。 。單片機控制系統(tǒng)無疑在這些忙面起到了舉足輕重的作用。 本次設計目是利用 51 單片機及溫度傳感器設計一個溫度采集系統(tǒng),通過學過的單片機和數字電路及面向對象編程等課程的知識設計。 AT89C52 芯片介紹 本設計以 AT89C52 單片機系統(tǒng)為核心。在這種模式下, P0具有內部上拉電阻。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流( IIL)在訪問外部程序存儲器或用 16 位地址讀取外部數據存儲器(例如執(zhí)行 MOVX DPTR)時, P2 口送出高八位地址。特殊寄存器AUXR(地址 8EH)上的 DISRTO 位可以使此功能無效。 EA/VPP:訪問外部程序存儲器控制信號。 特別注意 :對于 31 腳 (EA/Vpp),當接高電平時,單片機在復位后從內部 ROM的 0000H 開始執(zhí)行;當接低電平時,復位后直接從外部 ROM 的 0000H 開始執(zhí)行。華氏器件 67~+2570F,以 遞增 ( 7)溫度以 9 位數字量讀出 7 ( 8)溫度數字量轉換時 間 200ms(典型值) ( 9)用戶可定義的非易失性溫度報警設置 ( 10)報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件。操作協議為:初始化 DS18B20(發(fā)復位脈沖) → 發(fā) ROM 功能命令 → 發(fā)存儲器操作命令 → 處理數據。 1602LCD 液晶屏顯示電路如圖 所示: 圖 顯示電路 主程序流程圖 主程序流程圖如圖 10 圖 主程序流程圖 溫度檢測數據讀取圖 溫度檢測數據讀取圖如圖 圖 溫度程序讀取圖 11 Keil 軟件 Keil C51 是美國 Keil software 公司出品的 51系列兼容單片機 C語言軟件開發(fā)系統(tǒng),與匯編相比, C語言在功能上、結構性、可讀性、可維護性上有 明顯的優(yōu)勢,因而易學易用。 Proteus 是世界上著名的 EDA 工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協 同仿真,一鍵切換到 PCB 設計,真正實現了從概念到產品的完整設計。我前期花了一些時間專門學習DS18B20 的工作原理的時序圖。//負數標志 uchar code table[]={tempreture:} 。 } /*液晶寫命令 */ void write_lcd_(uchar ) { rs=0。 lcden=0。 write_lcd_(0x06)。 //拉高總線 delay(20)。 // 給脈沖信號 dat=1。 i) { DATA = 0。 uchar b=0。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 flag_Negative_number = 1。//顯示十位 shi_18b20=temp%100/10。 } else { write_lcd_(0x80+0x40)。 write_lcd_date(0x2E)。 write_lcd_date(0x30+ge_18b20)。 ET0=1。 while(1) { if(FLAG_DIS==1) { FLAG_DIS=0。 } } 21 電路總原理圖 。 //讀溫度并顯示 } } } timer0() interrupt 1 // { uchar count。 //開總中斷 write_lcd_(0x80)。 write_lcd_date(0x43)。 write_lcd_date(0xDF)。 write_lcd_date(0x30+bai_18b20)。//顯示十分位 if(flag_Negative_number) //負數 { if(bai_18b20==0) //十位為 0,則不顯示十位 { write_lcd_(0x80+0x40)。 } tt=t*。//低位 b=ReadOneChar()。 float tt=0。0x01。 // 給脈沖信號 if(DATA) dat|=0x80。 //稍做延時后 如果 x=0 則初始化成功 x=1則初始化失敗 delay(30)。 } /*************DS18b20 溫度傳感器函數 *********************/ void Init_DS18B20(void) //傳感器初始化 { uchar x=0。 delay_ms(1)。 P0=。 for(x=z。
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1