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

正文內(nèi)容

基于at89s51單片機的電子時鐘(帶溫度顯示)-預覽頁

2025-07-20 13:15 上一頁面

下一頁面
 

【正文】 (3)Pin30:ALE/PROG 地址鎖存允許信號端。 發(fā)光二極管指示電路設(shè)計發(fā)光二極管簡稱為LED。發(fā)光二極管與普通二極管一樣 是由一個PN結(jié)組成,也具有單向?qū)щ娦?。常用的是發(fā)紅光、綠光或黃光的二極管。 第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。采用三線接口與CPU 進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。 DS1302 的控制字節(jié)說明DS1302 的控制字如圖2 所示。 復位通過把 輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。上電運行時,在Vcc≥ 之前, 必須保持低電平。 DS1302 的寄存器DS1302 共有12 個寄存器,其中有7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼形式。DS1302 與RAM 相關(guān)的寄存器分為兩類,一類是單個RAM單元,共31 個,每個單元組態(tài)為一個8 位的字節(jié),其命令控制字為COH~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM 寄存器,此方式下可一次性讀寫所有的RAM 的31 個字節(jié),命令控制字為FEH(寫)、FFH(讀)。開漏單總線接口引腳。DS18B20的性能特點如下:●獨特的單線接口僅需要一個端口引腳進行通信;●多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能;●無須外部器件;●可通過數(shù)據(jù)線供電,~;●零待機功耗;●溫度以9或12位數(shù)字;●用戶可定義報警設(shè)置;●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;●負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作; DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2所示。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖3所示。該字節(jié)各位的定義如圖3所示。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,℃/LSB形式表示。若T>TH或T<TL,則將該器件內(nèi)的報警標志位置位,并對主機發(fā)出的報警搜索命令作出響應(yīng)。DS18B20的測溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)器門仍未關(guān)閉就重復上述過程,直到溫度寄存器值大致被測溫度值。圖4 DS18B20與單片機的接口電路 DS18B20時序DS18B20的復位時序 DS18B20的讀時序?qū)τ贒S18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。主控程序中對整個程序進行控制,進行了初始化程序還有鍵盤功能程序、以及顯示程序和時間控制程序是電子時鐘中比較重要的部分。// 1602 IO口位定義sbit en = P2^7。 ////////////////////////////////////////sbit key1 = P1^0。// //////////////////////////////////////sbit DQ = P2^2。uint hour, minute, second, year, month, day。uchar tab_date[] = {2,0,1,0,11,0,9,11,2,7}。x++) for(y=0。 n=0。 DQ=1。 //延時(480ms) DQ=1。 for (i=8。 DQ=0。 delay18b20(4)。i0。 delay18b20(5)。}/****************************************************************************函數(shù)功能:向DS18B20讀溫度值入口參數(shù):出口參數(shù):temperature****************************************************************************/uint ReadTemperature(void){ Init_DS18B20()。 //轉(zhuǎn)換需要一點時間,延時 Init_DS18B20()。 //讀出溫度的低位LSB tempH=ReadOneChar()。}//========1302寫一個字節(jié)=========void write_byte(uchar dat){ uchar i, dat_w。i++) { io = 0。 dat_w = dat_w 1。}//===============================//========1302讀一個字節(jié)=========uchar read_byte(){ uchar i, k。i++) { k = k 1。 } sclk = 0。 rst = 1。 rst = 0。 rst = 1。 rst = 0。 return (temp)。 //初始化分 59; write_add(0x84,23)。 //初始化年 2010; write_add(0x8e,0x80)。 //從1302讀出時間秒; minute = read_add(0x83)。 //從1302讀出時間月; year = read_add(0x8d)。 en = 0。 en = 1。 rw = 0。 delay(5)。}//***************************//1602顯示一個字符===========void DisplayOne(uchar *p){ write_data(*p)。 tab_time[4] = minute % 10。 tab_date[3] = year % 10。 tab_date[9] = day % 10。 write_(0x01)。 write_(0x80 + 6)。 //顯示日期 } write_(0x80 + 0x40 + 6)。 //顯示時間 }}//===========================//=========時鐘停止==========void stop(){ write_add(0x8e, 00)。 //=================== write_data(tab_num[second/10])。 //讀入秒 write_add(0x8e, 80)。 while(!key1)。 } } if(key3 == 0) //即獨立鍵盤中的k3 { delay(10)。 if(key4 == 0) { key = 4。 uint n = 13。 write_(0x80 + 0x40 + n)。 if(n 13) n = 7。 } switch(n) { case 13 : if(key == 2) { second++。 write_add(0x80,second)。 DisplayOne(tab_num + tab_time[7])。 } if(key == 4) { second。 write_add(0x80,second)。 DisplayOne(tab_num + tab_time[7])。 } case 10 : if(key == 2) { minute++。 write_add(0x82,minute)。 DisplayOne(tab_num + tab_time[4])。 } if(key == 4) { minute。 write_add(0x82,minute)。 DisplayOne(tab_num + tab_time[4])。 } case 7 : if(key == 2) { hour++。 write_add(0x84,hour)。 DisplayOne(tab_num + tab_time[1])。 } if(key == 4) { hour。 write_add(0x84,hour)。 DisplayOne(tab_num + tab_time[1])。 } } if(key == 1) { start()。 } } } if(key == 3) { stop()。 if(key == 3) { m = m + 3。 key = 0。 write_add(0x8e,0x00)。 DisplayOne(tab_num + tab_date[8])。 key = 0。 write_add(0x8e,0x00)。 DisplayOne(tab_num + tab_date[8])。 key = 0。 write_add(0x8e,0x00)。 DisplayOne(tab_num + tab_date[5])。 key = 0。 write_add(0x8e,0x00)。 DisplayOne(tab_num + tab_date[5])。 key = 0。 write_add(0x8e,0x00)。 DisplayOne(tab_num + tab_date[2])。 key = 0。 write_add(0x8e,0x00)。 DisplayOne(tab_num + tab_date[2])。 key = 0。 break。 t3 = ReadTemperature()%10。 DisplayOne(.)。 while(1) { Display_18b20()。 }}7 安裝制作 清理元器件,重點辯別認清電阻器阻值及相應(yīng)代號,對電阻、電容、發(fā)光二極管、三極管、電源變壓器等要用萬用表一一檢測。 焊接完后,請認真對照電路原理圖、安裝圖檢查電路板上有無漏焊、錯焊、短路、斷路等錯誤現(xiàn)象,確認無誤后才能通電。(1) 調(diào)試檢測場所應(yīng)有漏電變化開關(guān)和過載保護裝置,電源開關(guān),電源線及插頭插座必須符合安全用電要求,任何帶電導體不得裸露。由于普通調(diào)壓器輸入與輸出端不隔離,必須正確區(qū)分相線與零線的接法,如圖一中使用二線插頭座,容易接錯線,使用三線插頭座則不會接錯。凡金屬外殼儀器,必須使用三線插頭座,并保證外殼良好接地。 幾個必須記住的安全操作觀念:(1) 不通電不等于不帶電。(3) 電氣設(shè)備和材料安全工作的壽命有限。在大學這四年的學習和生活,我不僅學到了豐富的專業(yè)知識,更學到了各位老師人真工作、愛崗敬業(yè)、為人師表的優(yōu)良品質(zhì)。老師對待學生有如此的態(tài)度,令人敬佩。在唐正明老師的幫助下對系統(tǒng)的方案進行了論證,并對本系統(tǒng)不足進行了修改
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1