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

正文內(nèi)容

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

 

【正文】 k=0。 unsigned char y[3] = {0,0,0}。 Clear()。 TL0 = 0x67。 XBYTE[0x8002] = 0x01。 LEDBUF[3] = 0x00。 //行驅(qū)動(dòng)低有效 ColHigh= 0xff。 while (1) { b = Ds18b20ReadTemp()。 y[0] = 0。 LEDBUF[1] = 0x00。 LEDBUF[5] = 0x00。i3。 34 if(key10){ LEDBUF[3i] = LEDMAP[x[i]amp。 if(i==1) cod2[1]=key。 } } } a = x[0]*100+x[1]*10+x[2]。 WarLed=1。 LEDBUF[2] =LEDMAP[CurTemp/10%10]|0x80。 } else { w = 1。 LEDBUF[1] = LEDMAP[CurTemp%10]。 LEDBUF[5] = 0x00。 LEDBUF[3] = LEDMAP[CurTemp/100%10]。 CurTemp = c*+。 LEDBUF[4] =LEDMAP[CurTemp/1000%10]。 LEDBUF[0] =0x39。amp。 } displayLCD(68,0)。 LEDBUF[2] = LEDBUF[2]|0x80。 x[i] = key。 cod2[4]=11。 LEDBUF[3] = 0x00。 y[2] = 0。 x[1] = 0。 //列驅(qū)動(dòng)高有效 RowHigh= 0x00。 LEDBUF[5] = 0x00。 LEDBUF[1] = 0x00。 TR0 = 1。 TMOD = 0x01。 unsigned char key。 } if(w==0) { WAR = ~WAR。 k++。 //寫出一行數(shù)據(jù) 32ColHigh = ~ CRYSTALTAB[w][k*2+1]。 }。 } j++ 。break。i++。 case 2 : XBYTE[0x8002] = 0x04。break。 TL0 = 0x67。 static unsigned char j=0。 Code_ = 0x05。 Code_ = 0x04。 Code_ = 0x03。 Code_ = 0x02。 Code_ = 0x01。 Code_ = 0x00。 WriteNum16x8()。i5。 j++。 // 寫字模數(shù)據(jù) }。 // 寫字模數(shù)據(jù) } else{ // 為右半屏顯示區(qū)域 (E2) Command = kPD1。 // 列地址值 while(k Column + 8){ if (k PD1) { // 為左半屏顯示區(qū)域 (E1) Command = k。 0x03) | 0xb8。 } // 數(shù)字顯示子程序 void WriteNum16x8() { unsigned char i,j,k。 29 if( ++k = PD1 * 2) break。 // 設(shè)置列地址值 LCDData = CHARCCTERTAB[Code_][i]。 // 設(shè)置列地址值 LCDData = CHARCCTERTAB[Code_][i]。 WriteCommandE2()。 j = 0。 } while(j !=0)。 28 j = 0x50。 WriteCommandE2()。 } // LCD 液晶屏 清屏 void Clear() { unsigned char i,j。 WriteCommandE2()。 WriteCommandE1()。 Command = 0xa9。 27 WriteCommandE2()。 LCDData = DRADD2。 0x80)。 } // (E2) void WriteCommandE2() { while(CRADD2 amp。 26 DWADD1 = LCDData。 0x80)。 while (TestKey())。 else if (k amp。 if (k amp。 } while ((i != 0) amp。 // 找出鍵所在列 25 do { XBYTE[0x8002] = ~ Pos。 uchar i。 } //***********************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 }。 //再讀高字節(jié) temp=tmh。 Ds18b20ChangTemp()。 Ds18b20WriteByte(0xcc)。 Ds18b20WriteByte(0xcc)。 //讀取完之后等待 48us 再接著讀取下一個(gè)數(shù) while(i)。 //延時(shí) 6us 等待數(shù)據(jù)穩(wěn)定 bi=IN。 //先將總線拉低 1us i++。 unsigned int i,j。 while(i)。 //每寫入一位數(shù)據(jù)之前先把總線拉低 1us i++。 //初始化成功 } void Ds18b20WriteByte(unsigned char dat) { unsigned int i,j。 //然后拉高總線,如果 DS18B20 做出反應(yīng)會(huì)將在 15us~60us 后總線拉低 i=0。 IN=0。 while (CNT !=0) for (i=100。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =16x16 */ 0x20,0x1A,0xFA,0xAF,0xAA,0xEF,0x0A,0xFA,0x10,0x8F,0x54,0x24,0x5C,0x84,0x04,0x00, 0x02,0x02,0x02,0xEA,0xAA,0xAA,0xAB,0xAA,0xAB,0xAA,0xAA,0xEA,0x02,0x02,0x03,0x00, /* 文字 : 溫 */ /* 宋體 12。 21 // 中文字模庫(kù) 16x16 點(diǎn)陣 code unsigned char CHARCCTERTAB[][32] ={ /* 文字 : 設(shè) */ /* 宋體 12。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00}, /* 文字 : 9 */ /* 宋體 12。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00}, /* 文字 : 5 */ /* 宋體 12。 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00}, /* 文字 : 1 */ /* 宋體 12。 code uchar CRYSTALTAB[][32] = { /* 文字 : 行 */ /* 宋體 12。 unsigned char v=1。 19 unsigned int b。 sbit IN=P1^0。 //行低八位地址 xdata unsigned char RowHigh _at_ 0xb003。 // 寫指令代碼地址 (E2) xdata unsigned char DWADD2 _at_ 0x9005。 // 寫指令代碼地址 (E1) xdata unsigned char DWADD1 _at_ 0x9001。 // 頁(yè)地址寄存器 D1,DO:頁(yè)地址 unsigned char Code_ 。 unsigned char cod1[6]。本設(shè)計(jì)采用 89C51 單片機(jī)作為控制芯片,輔助鍵盤和顯示,實(shí)現(xiàn)了溫度檢測(cè)和報(bào)警的功能。 中斷模塊流程圖: 五、 課程設(shè)計(jì)體會(huì) 本設(shè)計(jì)是以溫度采集及控制過(guò)程設(shè)計(jì)為總目標(biāo),以 89C51 單片機(jī)最小應(yīng)用系統(tǒng)為總控制中心,輔助設(shè)計(jì)有溫度采樣電路、 LED 數(shù)碼管動(dòng)態(tài)串行顯示、 LCD 液晶屏顯示、 16X16 點(diǎn)陣屏顯示 , 二極管發(fā)光顯示 , 蜂鳴器報(bào)警 等。 鍵盤掃描程序框圖如下 : 圖 : 鍵盤掃描程序框圖 144. LCD 液晶顯示模塊 LCD 液晶顯示屏初始化時(shí)就開始在第一頁(yè)顯示初始設(shè)定的文字 (“設(shè)定報(bào)警溫度”),當(dāng)檢測(cè)到程序進(jìn)入溫度設(shè)定程序時(shí),每當(dāng)輸入一個(gè)數(shù)據(jù),液晶顯示屏同步顯示到相應(yīng)的位置,輸入三個(gè)數(shù)字后液晶屏顯示設(shè)定溫度如“ ℃”,達(dá)到設(shè)計(jì)的目的。除了應(yīng)答時(shí)隙所有這些時(shí)隙都是有主機(jī)發(fā)出。 直流電動(dòng)機(jī)與驅(qū)動(dòng)電路如下圖 : 連線 連接孔 1 連接孔 2 8 驅(qū)動(dòng)輸入 9 驅(qū)動(dòng)輸出 直流電機(jī)電壓輸入 圖 : 直流電動(dòng)機(jī)及驅(qū)動(dòng)電路 連線 連接孔 1 連接孔 2 7 喇叭輸入 11四、 軟件設(shè)計(jì)分析 1. 主函數(shù) 模塊 主程序模塊主要負(fù)責(zé)將各個(gè)子程序調(diào)用并連接在一起 , 用過(guò)中斷函數(shù)不斷刷新讀取溫度并將數(shù)據(jù)送達(dá)顯示模塊進(jìn)行顯示 ,驅(qū)動(dòng)數(shù)碼管把實(shí)時(shí)溫度值送
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1