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

正文內(nèi)容

片機的紅外遙控報警器(完整版)

2025-02-13 09:42上一頁面

下一頁面
  

【正文】 控制的,該命令自動將 A0A5 位地址送 入 Z 地址計數(shù)器,起始地址可以是 063 范圍內(nèi)任意一行??梢燥@示 84 行 1616 點陣的漢字 ,還 可完成圖形顯示 , 低電壓低功耗是其又一顯著特點。 9. 與 TTL 兼容 Vcc=5V。 DS1302 的 性能指標 2100 年之前的秒分時日日期星期月年的能力還有閏年調(diào)整的能力 。處理過后把 9 DS18B20 的溫度 Copy 到單片機的 RAM 中,里面已經(jīng)是溫度值的 Hex 碼了,然后轉(zhuǎn)換 Hex 碼到 BCD 碼,分別把小數(shù)位,個位,十位的 BCD 碼存入 RAM 中 。 DSI8B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 TH 做比較,若 TTH或 TTL,則將該器件內(nèi)的告警標志置位,并對主機發(fā)出的告警搜索命令做出響應(yīng) 。 AT89S52 的引腳特點 6 AT89S52 有 40 個引腳, 8k Bytes Flash 片內(nèi)程序存儲器, 256 bytes 的隨機存取數(shù)據(jù)存儲器( RAM), 32 個外部雙向輸入 /輸出( I/O)口, 5 個中斷優(yōu)先級 2層中斷嵌套中斷, 2 個 16 位可編程定時計數(shù)器 ,2 個全雙工串行通信口,看門狗( WDT)電路,片內(nèi)時鐘振蕩器 AT89S52 的主要特性 : l 與 MCS51 單片機產(chǎn)品兼容 l 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲器 l 1000 次擦寫周期 l 全靜態(tài)操作: 0Hz~ 33Hz l 三級加密程序存儲器 l 32 個可編程 I/O 口線 l 三個 16 位定時器 /計數(shù)器 l 八個中斷源 l 全雙工 UART 串行通道 l 低功耗空閑和掉電模式 l 掉電后中斷可喚醒 l 看門狗定時器 l 雙數(shù)據(jù)指針 l 掉電標識符 溫度采集部分 系統(tǒng)溫度檢測是由數(shù)字溫度傳感器 DS18B20 實現(xiàn)的。 DS18B20 為數(shù)字式溫度傳感器,無需其他外加電路,直接輸出數(shù)字量。 AD590K 具有較高精度和重復性,良好的非線性保證177。 基于以上分析擬訂方案二,由 AT89S52 作為控制核心,對溫度和萬年歷的顯示及調(diào)整進行控制。 系統(tǒng)組成 本系統(tǒng)主要由控制器模塊、紅外遙控模塊、溫度報警模塊、電源模塊、時鐘模塊、顯示模塊部分組成 如圖 所示 。但由于本設(shè)計對數(shù)據(jù)處理的速度要求不高, FPGA 的高速處理的優(yōu)勢得不到充分體現(xiàn),并且其成本偏高,引 腳較多,硬件電路布線復雜。 其 內(nèi)置 8192 個 16*16 點漢字,和 128 個 16*8點 ASCII 字符集 ,可以直觀地顯示出較多內(nèi)容, 利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面 , 使得顯示內(nèi)容豐富,易于人機交流 ,并且節(jié)約了 I/O 口 資源 。 方案二:用熱電偶測溫。他在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面帶來了令人滿意的效果。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的 0, 1 字節(jié)。由于本程序采用的是 的精度,小數(shù)部分的值,可以用后四位代表的實際數(shù)值乘以 ,得到真正的數(shù)值,數(shù)值可能帶幾個小數(shù)位,所以采取小數(shù)舍入,保留一位小數(shù)即可。實時時鐘 /日歷電路提供秒、分、時、日、星期、月、年 的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過 AM/PM 指示決定采用 24或 12小時格式。 /寫時鐘或 RAM 數(shù)據(jù)時有兩種傳送方式單字節(jié)傳送和多字節(jié)傳送字符組方式 。 圖 時鐘電路 電源部分 原理圖如 所示, 采用 變壓器參數(shù) 都 為 30W, 177。 DB0=H,開顯示; DB0=L,關(guān)顯示。 狀態(tài)檢測 功能:讀忙信號標志位 (BF)、復位標志位 (RST)以及顯示狀態(tài)位(ON/OFF)。從 DD RAM 讀數(shù)據(jù)前要先執(zhí)行 “設(shè)置頁地址 ” 及 “設(shè)置列地址 ”命令 通過單片機控制,同時顯示出溫度和時間 。 盡管丁 老師平日里工作繁多,但我做畢業(yè)設(shè)計 過程中 給予我悉心的指導。 //設(shè)置時間導航 uchar code menu_clock_index[3][2]={{2,3},{4,3},{6,3}}。 volatile uchar workcode。339。739。B39。F39。 void delay100us(uchar x)。 void gudidisptime(uchar *time)。 23 uchar run_sign,tempdata,timenum,timelcdxy,we。 //選擇定時器 0 工作在模式 1,即 16 位定時器 TH0=(6553649000)/256。 //開總中斷 init_12864()。 //為了使下面出現(xiàn)比較不合,寫入首次的所有圖形 } // write_12864_cmd(0x30)。 EA=0。 //繪圖時鐘顯示在第二行第三行。 workcode=14。 write_12864_cmd(0x90)。 write_12864_cmd(0x98)。 curr_menu_id++。 } } outflag=1。 //第一行為父菜單名稱,反白處理。i31。 //讓 1302 停震 gettime_1302(times)。 break。 break。 break。 break。+(times[timenum]amp。 } } 29 else { if(kong) { switch(times[5]amp。 break。 write_12864_data(xq[we])。 } } if(workcode==11) { workcode=14。 gettime_1302(times)。i++) { olddisptimes[i]=disptimes[i]+65。+(times[timenum]amp。tempdata=alarm_temp[0]。039。 } if(workcode==11) { workcode=14。 { outflag=0。 run_sign++。tempdata=alarm_clock[0]。 gudidispclock(alarm_clock)。)。 tempdata。 for(i=0。039。checkflag) { alarmbeep()。 } /************************************************************ 約 延時函數(shù) () *************************************************************/ void delay100us(uchar x) { unsigned char i。 BEEP=0。 //返回 0 } /*********************************************************/ // 時間比較 /*********************************************************/ uchar time_pare() { uchar temp1,temp2。 } /************************************************************* * 紅外編碼數(shù)據(jù)處理函數(shù)函數(shù) * **************************************************************/ uchar workIRcode(uchar *pp) { uchar result。 //2 case 0x03: result=3。 //6 case 0x07: result=7。 // case 0x12: result=10。 //下 case 0xFF: result=0F。 //別的鍵按下返回 14 } return result。i++) { ldata=RXDDATA[i]amp。 } } void displaytime() { char k。 write_12864_data(disptimes[9]+0x30)。 write_12864_cmd(0x98)。 break。 break。 //溫度顯示的坐標 write_12864_data(39。)。 //寫入小時的十位 write1632GDRAM(3,row,pp[10])。 //寫入分鐘的個位 } if(olddisptimes[1]!=time[1]) //只有時間有更新時才生新寫入,這樣做可避免顯示閃爍。 { uchar k。+(time[6]amp。039。 write_12864_data(39。0xf0)4))。+((time[1]amp。039。 // 液晶坐標定位 switch(time[5]amp。 break。 //星期 write_12864_data(xq[k+1])。+(tempc[1]amp。039。039。+clock[1]%10)。 //寫入鬧鈴小時位 write_12864_cmd(0x8c)。0x0f))。 //寫入上限值 write_12864_cmd(0x8c)。 // 液晶坐標定位 write_12864_data(39。 break。 break。0xf0)4))。 write_12864_data(39。039。+(time[3]amp。0x0f))。 //年 //寫入年 write_12864_cmd(0x93)。 // 液晶坐標定位 write_12864_data(39。 //寫入秒的十位 } if(olddisptimes[0]!=time[0]) //只有時間有更新時才生新寫入,這樣做可避免顯示閃爍。 { write1632GDRAM(2,row,pp[time[4]])。 //顯示溫度值小數(shù)位 write_12864_data(0xa1)。)。 break。 break。 write_12864_data(table1[7])。 write_12864_data(table1[2])。 //基本指令 write_12864_cmd(0x06)。 //取鍵碼的低四位 hdata=RXDDATA[i]4。 if(ircodeflag==1) { ircodeflag=0。 //麗音 case 0x15: result=0E。 //+ case 0x1E: result=1E break。 //7 case 0x08: result=8。 //3 case 0x04: result=4。 switch(pp[2]) { case 0x00: result=0。 temp1+=(alarm_clock[0]/10)*16。 //關(guān)閉蜂鳴器 DelayUS(90)。 i10。 //檢查報警標志 if(alarmflagamp。 //小時 } }//if(workcode==13) 在此完了 }//報警溫度菜單項設(shè)置完成 } } //以上是菜單設(shè)置的代碼。i++) { olddisptimes[i]=disptimes[i]+65。 } alarm_clock[timenum]=tempdata。 39。 if(kong) { write_12864_data(alarm_clock[timenum]/10+0x30)。 break。 write_12864_data(alarm_temp[timenum]/10+0x30)。 //關(guān)閉定時器 0 Clean_12864_GDRAM()。 one_sign=1。 // 32 } else { write_12864_data(39。 break。 // } }//if(workcode==13) 在此完了 }//第一項菜單項在此設(shè)置完了 /*********************************
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1