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

正文內(nèi)容

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

2025-03-30 09:06 上一頁面

下一頁面
 

【正文】 圖 : LED 顯示電路 ( 2) LCD 液晶顯示電路 本 次實(shí)驗(yàn)使用實(shí)驗(yàn)儀提供 的液晶顯示屏內(nèi)置控制器為 SED1520,點(diǎn)陣為122x32,需要兩片 SED1520 組成,由 E E2 分別選通,以控制顯示屏的左右兩半屏。 直接控制方式就是將液晶顯示模塊的接口作為存儲器或 I/ O 設(shè)備直接掛在計(jì)算機(jī)總線上。計(jì)算機(jī)通過對該并行接口輸出狀態(tài)的編程操作,完成對液晶顯示模塊所需時(shí)序的操作和數(shù)據(jù)的傳輸。每次顯示一行, 10ms 后再顯示下一行。 實(shí)驗(yàn)電路圖如圖所示 : 圖 : 蜂鳴器 電路圖 6. 降溫風(fēng)扇電路 實(shí)驗(yàn)中用到的直流電動機(jī)無法通過單片機(jī) IO 口直接輸出高電平控制 , 需要通過驅(qū)動電路將電壓放大后才能驅(qū)動直流電動機(jī)運(yùn)行 。該協(xié)議定義了幾種時(shí)隙類型:初始化、應(yīng)答、寫 寫 0、讀 讀 0。 鍵盤掃描按鍵為 D 時(shí),進(jìn)入溫度設(shè)定狀態(tài),連續(xù)輸入三個(gè)數(shù)字設(shè)定溫度完成,通過這一程序?qū)崿F(xiàn)報(bào)警溫度的設(shè)定 。 把這三個(gè)程序放模塊在中斷的原因是,不會因?yàn)檎{(diào)整報(bào)警溫度或進(jìn)行點(diǎn) 陣屏顯示值而停止更新溫度值,更能使蜂鳴器報(bào)警時(shí)不停止其他程序的運(yùn)行。本文設(shè)計(jì)了溫度報(bào)警系統(tǒng),介紹了溫度檢測等控制器的硬件電路設(shè)計(jì)到軟件設(shè)計(jì)的一系列步驟。 老師工作認(rèn)真、嚴(yán)謹(jǐn)治學(xué),學(xué)長耐心指導(dǎo),無私奉獻(xiàn),在老師和學(xué)長的帶領(lǐng)下,我們圓滿的完成了這次課程設(shè)計(jì), 17參考文獻(xiàn) : 【 1】 鐘曉偉,宋哲存,基于單片機(jī)的實(shí)驗(yàn)是溫濕度控制系統(tǒng)設(shè)計(jì) [A] 林業(yè)機(jī)械與木工設(shè)備 【 2】 葉景,基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì) 經(jīng)驗(yàn)與交流, 2021 【 3】 李丹妮,單片機(jī)溫度控制系統(tǒng)設(shè)計(jì) [J]九江學(xué)院報(bào) 2021 【 4】 劉篤仁,韓保君,傳感器原理及應(yīng)用技術(shù) 西安電子科技大學(xué)出版社, 2021 【 5】 李建民 .單片機(jī)在溫度控制系統(tǒng)中的應(yīng)用 [N].湖北:江漢大學(xué)學(xué)報(bào), 1996:9. 【 6】 胡漢才 .單片機(jī)原理及接口技術(shù) [M].北京:清華大學(xué)出版社, 1996:5. 【 7】 邵敏權(quán) .單片機(jī)原理實(shí)驗(yàn)及應(yīng)用 [M].吉林:吉林科學(xué)技術(shù)出版社, 1995:3. 【 8】 付家才 .單片機(jī)控制工程實(shí)踐技術(shù) [M].北京:化學(xué)工業(yè)出版社, 2021:12. 【 9】 彭偉 .單片機(jī) C語言程序設(shè)計(jì)實(shí)訓(xùn) 100例 [M].北京 :北京航空航天大學(xué)出版社, 2021:5. 18附錄: include include include code unsigned char cod[6]={1,2,3,4,5,6}。 unsigned char Page_ 。 // 數(shù)據(jù)寄存器 xdata unsigned char CWADD1 _at_ 0x9000。 // 讀顯示數(shù)據(jù)地址 (E1) xdata unsigned char CWADD2 _at_ 0x9004。 // 讀顯示數(shù)據(jù)地址 (E2) xdata unsigned char RowLow _at_ 0xb002。 //列高八位地址 define uchar unsigned char define uint unsigned int unsigned int CurTemp。 sbit WAR = P1^6。 unsigned char w=1。 code unsigned int LEDMAP[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}。 //數(shù)字字庫 code unsigned char NUMTAB[][16]={ /* 文字 : 0 */ /* 宋體 12。 此字體下對應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00}, /* 文字 : 4 */ /* 宋體 12。 此字體下對應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00}, /* 文字 : 8 */ /* 宋體 12。 此字體下對應(yīng)的點(diǎn)陣為:寬 x 高 =8x16 */ {0x60,0x60,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,}}。 此字體下對應(yīng)的點(diǎn)陣為:寬 x 高 =16x16 */ 0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xFF,0xC1,0x41,0x41,0x49,0x51,0xCF,0x00,0x00, 0x01,0x41,0x80,0x7F,0x00,0x00,0x00,0xFF,0x40,0x23,0x14,0x1C,0x33,0x60,0x20,0x00, /* 文字 : 警 */ /* 宋體 12。 //********************************數(shù)碼表 **********************************// //********************************延時(shí)程序 ********************************// void Delay(uchar CNT) 22{ uchar i。 } //********************************延時(shí)程序 ********************************// //***********************DS18B20 讀取溫度程序 *****************************// unsigned char Ds18b20Init() { unsigned int i。 //延時(shí) 642us IN=1。 //初始化失敗 } return 1。j++) { IN=0。 //然后寫入一個(gè)數(shù)據(jù),從最低位開始 i=6。 23 } } unsigned char Ds18b20ReadByte() { unsigned char byte,bi。j) { IN=0。 i++。 i=4。 Delay(1)。 Delay(1)。 unsigned char tmh,tml。 //讀取溫度值共 16 位,先讀低字節(jié) tmh=Ds18b20ReadByte()。 return temp。 // 讀入鍵狀態(tài) (高四位不用 ) } uchar GetKey() // 獲取 鍵值 { uchar Pos。 Pos = 0x20。 0x0f。 // 鍵值 = 列 x 4 + 行 if (k != 0) { i *= 4。 4) i += 2。 do Delay(100)。 } //****************************鍵盤掃描 程 **********************************// //*************************LCD 液晶屏顯示程序 *****************************// // (E1) void WriteCommandE1() { while(CRADD1 amp。 0x80)。 LCDData = DRADD1。 } // (E2) void WriteDataE2() { while(CRADD2 amp。 0x80)。 WriteCommandE1()。 WriteCommandE2()。 Command = 0xa0。 WriteCommandE1()。 WriteCommandE2()。 // 頁地址設(shè)置 WriteCommandE1()。 WriteCommandE2()。 WriteDataE2()。 i = 0。 // 設(shè)置頁地址 WriteCommandE1()。 WriteCommandE1()。 WriteCommandE2()。 i++。 }。 while(j2) { Command = ((Page_ + j) amp。 k = Column。 // 取漢字字模數(shù)據(jù) WriteDataE1()。 // 取漢字字模數(shù)據(jù) WriteDataE2()。 // 列地址是否超出顯示范圍 } 。 for(i=0。 Code_ = cod2[i]。 Column = 0x00。 Column = 0x10。 Column = 0x20。 Column = 0x30。 Column = 0x40。 Column = 0x50。 } //*************************LCD 液晶屏顯示程序 *****************************// //******************************中端函數(shù) *********************************// void InterruptTimer0() interrupt 1 { static unsigned char i=0。 TH0 = 0xFC。i++。break。 case 3 : XBYTE[0x8002] = 0x08。i++。break。b1200) { c=b。 ColLow = ~ CRYSTALTAB[w][k*2 ]。 //點(diǎn)亮此行 RowHigh = bitmask 8。 bitmask = 0x01。 unsigned char i。 EA = 1。 ET0 = 1。 LEDBUF[0] = 0x00。 33LEDBUF[4] = 0x00。 RowLow = 0x00。 if (TestKey()) { if(GetKey() == 0x0f) { x[0] = 0。 y[1] = 0。 LEDBUF[2] = 0x00|0x80。 cod2[2]=10。i++) { while(!y[i]) { if (TestKey()) { key=GetKey()。 0x0f]。 if(i==2) cod2[3]=key。 } } if(CurTempaamp。 CurTemp = c*+。 LEDBUF[3] =LEDMAP[CurTemp/100%10]。 WarLed=0。 LEDBUF[2] = LEDMAP[CurTemp/10%10]|0x80。 } } 35} //********************************主函數(shù) **********************************//
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1