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

正文內(nèi)容

基于c51單片機(jī)的數(shù)字溫度報(bào)警器的設(shè)計(jì)畢業(yè)設(shè)計(jì)(完整版)

  

【正文】 0x11,0x02,0x14,0xFE,0x17, 0x00,0x90,0xF8,0x51,0x08,0x31,0xF8,0x11,0x00,0x10,0xFE,0x0B,0x20,0x0C,0x40,0x08, /* 文字 : 停 */ /* 宋體 12。 unsigned int a。 //行高八位地址 xdata unsigned char ColLow _at_ 0xb000。 // 寫顯示數(shù)據(jù)地址 (E1) xdata unsigned char CRADD1 _at_ 0x9002。 unsigned char cod2[6]={0,0,0,0,0,0}。 本設(shè)計(jì)的重點(diǎn)、難點(diǎn)是: ( 1) 要掌握溫度傳感器的原理、結(jié)構(gòu)、應(yīng)用等; ( 2) 考慮從非電量信號(hào)到電量信號(hào)的電路實(shí)現(xiàn)原理以及與單片機(jī)的接口; ( 3) 熟悉 MCS51 編程的技術(shù),實(shí)現(xiàn)單片機(jī)對(duì)溫度的調(diào)節(jié)控制; ( 4) 整體電路的仿真調(diào)試??偩€上所傳輸?shù)乃忻詈蛿?shù)據(jù)都是字節(jié)的低位在前。 10 連線 連接孔 1 連接孔 2 5 二極管 L0 6 二極管 L1 5. 報(bào)警電路 本次試驗(yàn)采用的報(bào)警裝置是比較簡(jiǎn)單的一種直接使用 P16端口輸出講題變化的高低電平 ,端口輸出的方波經(jīng)放大濾波后,驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。實(shí)際電路如上圖所示。以便用相應(yīng)的地址來訪問。顯示共有 6 位,用動(dòng)態(tài)方式顯示。 DS18B20 內(nèi)部結(jié)構(gòu)如圖所示: 圖: DS18B20 內(nèi)部結(jié)構(gòu) 由于 DS18B20 單線通信功能是分時(shí)完成的,所以有嚴(yán)格的時(shí)隙概念,讀寫時(shí)序很重要。而且新一代產(chǎn)品更便宜,體積更小, DS18B20 產(chǎn)品的特點(diǎn) : ( 1) 只要求一個(gè)端口即可實(shí)現(xiàn)通信。 C~ +125176。列掃描碼還可以分時(shí)用作 LED 的位選通信號(hào)。 2. 鍵盤電路 本 次使用實(shí)驗(yàn)儀提供的 一個(gè) 6 4 的小鍵盤,向列掃描碼地址 (0X002H)逐列輸出低電平,然后從行碼地址 (0X001H)讀回。如果 RST 持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài) [1]。 二、 設(shè)計(jì)方案 1. 基本要求 實(shí)現(xiàn)實(shí)時(shí)溫度顯示,測(cè)溫范圍 55℃ ~~+125℃ 。 本次課程設(shè)計(jì)是基于 AT89C51 單片機(jī)進(jìn)行溫度傳測(cè)定及報(bào)警等功能的設(shè)計(jì),利用數(shù)字溫度傳感器 DS18B20 的測(cè)溫系統(tǒng),通過 LED 數(shù)碼管和 LCD 液晶顯示屏同時(shí)顯示實(shí)時(shí)溫度和報(bào)警預(yù)設(shè)溫度,報(bào)警指示通過蜂鳴器的聲音和 16X16 點(diǎn)陣屏同時(shí)報(bào)警 , 并能采取降溫措施 (直流電動(dòng)機(jī)啟動(dòng))。其中數(shù)字溫度計(jì)就是一個(gè)典型的例子。 另外 DS18B20 具有 3 引腳的小體積封裝,測(cè)溫范圍為 55℃ ~+125℃攝氏度,測(cè)溫分辨率可達(dá) 攝氏度,其測(cè)量范圍與精度都能符合設(shè)計(jì)要求。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使 RST 持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。做鍵盤和 LED 實(shí)驗(yàn)時(shí),需將 KEY/LED CS 接到相應(yīng)的地址譯碼上?,F(xiàn)在,新一代的 DS18B20 體積更小、更經(jīng)濟(jì)、更靈活?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提 高了系統(tǒng)的抗干擾性。 C 之間。 (2)發(fā)光響應(yīng)時(shí)間極短 ( s),高頻特性好,單色性好,亮度高。 實(shí)驗(yàn)儀中 8 位段碼輸出地址為 0X004H,位碼輸出地址為 0X002H。本實(shí)驗(yàn)儀采用直接控制方式。每個(gè)行與每個(gè)列可以選中一個(gè)發(fā)光管,共有 256 個(gè)發(fā)光管,采用動(dòng)態(tài)驅(qū)動(dòng)方式。 主函數(shù)部分程序框圖如下: 圖 : 主函數(shù)框圖 N Y 開始 達(dá)到上限? DS18B20 讀取溫度 初始化 檢測(cè)按鍵 是否按下 ? 讀取鍵值 LCD 顯示設(shè)定溫度 轉(zhuǎn)換溫度 小風(fēng)扇轉(zhuǎn)動(dòng) 顯示實(shí)時(shí)溫度 N Y 蜂鳴器報(bào)警 點(diǎn)陣屏 顯示 指示燈顯示 122. 溫度檢測(cè)模塊 DSl8B20 必須嚴(yán)格按照單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。 中斷模塊包含三部分內(nèi)容,一是進(jìn)行初始溫度的轉(zhuǎn)化,二是進(jìn)行點(diǎn)陣屏的刷新,實(shí)時(shí)顯示需要顯示的內(nèi)容,三是進(jìn)行報(bào)警判斷,根據(jù)需要使蜂鳴器報(bào)警或停止報(bào)警。 在論文完成之際,我 要 對(duì)各位老師和各位學(xué)長(zhǎng) 表示最真摯的謝意。 // 指令寄存器 unsigned char LCDData。 // 讀狀態(tài)字地址 (E2) xdata unsigned char DRADD2 _at_ 0x9007。 sbit RUN=P1^4。 //********************************數(shù)碼表 **********************************// unsigned char LEDBUF[6]= {0x00,0x00,0x00,0x00,0x00,0x00}。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00}, /* 文字 : 3 */ /* 宋體 12。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,}, /* 文字 : c */ /* 宋體 12。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =16x16 */ 0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00, 0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00, }。 while(i)。j8。 //然后釋放總線,至少 1us 給總線恢復(fù)時(shí)間才能接著寫入第二個(gè)數(shù)值 dat=1。 //然后釋放總線 i++。 } void Ds18b20ChangTemp() { Ds18b20Init()。 //發(fā)送讀取溫度命令 } int Ds18b20ReadTemp() 24{ int temp=0。 temp|=tml。 i = 6。 (k == 0))。 XBYTE[0x8002] = 0。 } // (E1) void WriteDataE1() { while(CRADD1 amp。 CWADD2 = Command。 Command = 0xe2。 WriteCommandE2()。 WriteCommandE1()。 // 列地址設(shè)置為 0 WriteCommandE1()。 // 頁(yè)地址暫存器加一 // 顯示區(qū)清零循環(huán) } // 中文顯示子程序 void WriteCHN16x16() { unsigned char i,j,k。 // 列地址值 while(k Column + 16){ if (k PD1) { // 為左半屏顯示區(qū)域 (E1) Command = k。 // 寫字模數(shù)據(jù) }。 j = 0。 // 設(shè)置列地址 值 LCDData = NUMTAB[Code_][i]。 if( ++k = PD1 * 2) break。 Column = nCol+8*i。 Page_ = 0x02。 Page_ = 0x02。 31 Page_ = 0x02。 XBYTE[0x8004] = 0x00。i++。 case 4 : XBYTE[0x8002] = 0x10。amp。 0xff。 unsigned char y[3] = {0,0,0}。 TL0 = 0x67。 LEDBUF[3] = 0x00。 while (1) { b = Ds18b20ReadTemp()。 LEDBUF[1] = 0x00。i3。 if(i==1) cod2[1]=key。 WarLed=1。 } else { w = 1。 LEDBUF[5] = 0x00。 CurTemp = c*+。 LEDBUF[0] =0x39。 } displayLCD(68,0)。 x[i] = key。 LEDBUF[3] = 0x00。 x[1] = 0。 LEDBUF[5] = 0x00。 TR0 = 1。 unsigned char key。 k++。 }。break。 case 2 : XBYTE[0x8002] = 0x04。 TL0 = 0x67。 Code_ = 0x05。 Code_ = 0x03。 Code_ = 0x01。 WriteNum16x8()。 j++。 // 寫字模數(shù)據(jù) } else{ // 為右半屏顯示區(qū)域 (E2) Command = kPD1。 0x03) | 0xb8。 29 if( ++k = PD1 * 2) break。 // 設(shè)置列地址值 LCDData = CHARCCTERTAB[Code_][i]。 j = 0。 28 j = 0x50。 } // LCD 液晶屏 清屏 void Clear() { unsigned char i,j。 WriteCommandE1()。 27 WriteCommandE2()。 0x80)。 26 DWADD1 = LCDData。 while (TestKey())。 if (k amp。 // 找出鍵所在列 25 do { XBYTE[0x8002] = ~ Pos。 } //***********************DS18B20 讀取溫度程序 *****************************// //****************************鍵盤掃描 程 **********************************// code uchar KeyTable[] = // 鍵碼定義 { 0x16, 0x15, 0x14, 0xff, 0x13, 0x12, 0x11, 0x10, 0x0d, 0x0c, 0x0b, 0x0a, 0x0e, 0x03, 0x06, 0x09, 0x0f, 0x02, 0x05, 0x08, 0x00, 0x01, 0x04, 0x07 }。 Ds18b20ChangTemp()
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1