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

正文內(nèi)容

基于51單片機的電子萬年歷的設(shè)計與實現(xiàn)畢業(yè)論文-預(yù)覽頁

2025-07-13 13:09 上一頁面

下一頁面
 

【正文】 圖23 DS1302封裝和引腳DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。上電運行時,在Vcc2,RST必須保持低電平。具體的引腳說明如表22??刂谱值淖饔檬窃O(shè)定DS1302的工作方式,傳送字節(jié)數(shù)等。表23 DS1302的控制字節(jié)1RAM CKA4A3A2A1 A0RD WR第7位第6位第5位第4位第3位第2位第1位第0位3.第5位:(A4~A0)用A4~A0表示,定義片內(nèi)寄存器和RAM的地址。當(dāng)A4~A0=8,為慢速充電參數(shù)選擇寄存器。控制字總是從最低位開始輸出。每次僅寫入一個字節(jié)數(shù)據(jù)稱為單字節(jié)操作,每次對時鐘/日歷的8字節(jié)或31字節(jié)RAM進行全體寫入或讀出的操作稱為多字節(jié)操作方式。所有寫入或讀出操作都是向芯片發(fā)送一個命令字節(jié)。DS1302有關(guān)日歷、時間的寄存器共有10個,時鐘/日歷包含在其中的7個寫/讀寄存器內(nèi),這個寄存器分別是秒、分、小時、日、月、星期和年。表24 片內(nèi)各寄存器各位的功能定義表讀寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范圍81H80HCH10秒秒00~5983H82H10分分00~5985H84H12/24010時時1~12AM/PM0~2387H86H0010日日1~3189H88H0010月月1~128BH8AH00000周日1~78DH8CH10年年00~998FFH8EHWP0000000__秒寄存器(81H、80H)的位7定義為時鐘暫停標(biāo)志(CH)。當(dāng)WP位為1時,寫保護位防止對任一寄存器的寫操作。如圖,上電后。但在我看來了溫度提醒著我們穿衣保暖,關(guān)系著我們的身體健康。讀寫和完成溫度變換所需要的電源可由數(shù)據(jù)線本身提供,而無需外部電源。 每一個 DSl820 包括一個唯一的 64 位長的序號 該序號值存放在DSl820 內(nèi)部的 ROM(只讀存貯器)中 開始8 位是產(chǎn)品類型編碼(DSl820 編碼均為 10H) 接著的 48位是每個器件唯一的序號 最后 8 位是前面 56 位的CRC(循環(huán)冗余校驗)碼 DSl820 中還有用于貯存測得的溫度值的兩個 8 位存貯器 RAM 編號為 0 號和 1號 1 號存貯器存放溫度值的符號 如果溫度為負(fù)則 1 號存貯器 8 位全為 1 否則全為 0 。因此,必須采用軟件的方法來模擬單線的協(xié)議時序。主機釋放總線時,會產(chǎn)生一個上升沿。詳細(xì)說明如下表26。Skip rom(跳過rom)CCH此命令用于單掛接總線系統(tǒng)時,可以無需提供64位ROM序列號皆可運行內(nèi)存操作命令。在成功執(zhí)行了ROM操作命令之后,才可以使用內(nèi)存操作命令。其中,除了應(yīng)答脈沖之外,均由主機產(chǎn)生。所有寫時隙必須在60μs以上(即由高拉低后持續(xù)60μs以上),各個寫時隙之間必須保證最短1us的恢復(fù)時間。再來了解一下讀時隙。在讀時隙結(jié)束時,DQ引腳通過外部上拉電阻拉回高電平。主機可以隨時發(fā)起復(fù)位脈沖以停止此操作。如果在此命令后主機產(chǎn)生讀時隙,那么只要器件在進行溫度轉(zhuǎn)換就會輸出0,轉(zhuǎn)換完成后在輸出1。在寫時序中,主機將在拉低總線15μs內(nèi)釋放總線,并向DS18B20寫“1”。四、 溫度采集電路與單片機的連接本設(shè)計中使用DS18B20溫度傳感器進行環(huán)境溫度采集和轉(zhuǎn)化,其與單片機的連接圖如圖27所示[4]。第四節(jié) 顯示電路的設(shè)計顯示電路的主要部分就是顯示器件,所以顯示電路的設(shè)計第一步就是顯示器件的選擇,對我們一般的設(shè)計,首選當(dāng)然是數(shù)碼管,它具有顯示亮度高,編程易的特點,但是它的單獨顯示使得每一位都要有自己的為選端,也就是說每一位就要占用一個I/O口,本設(shè)計要求至少17位的數(shù)字顯示,再加上8段的8位,就要占用25個I/O口,這顯然是讓一個單片機是無法承受的。(HITACHI)及其他公司全兼容電路,如SED1278(SEIKOEPSON),KS0066(SAMSUNG),NJU6408(NERJAPANRADIO)。,輕巧,裝配容易。二、 顯示電路與單片機的連接就時鐘而言,通常采用LCD或LED顯示,對LED來說AT89C52本身設(shè)有專門的液晶驅(qū)動電路,LED結(jié)構(gòu)簡單,體積小,功耗低,響應(yīng)速度快,壽命長,可靠性也高,等優(yōu)點,而且亮度也高,價格也便宜,但是本時鐘設(shè)計要一個很直觀的顯示效果,LED就會除了8段的顯示,位選也要占用大量的資源,不易控制。按照鍵盤與CPU的連接方式可分為獨立式鍵盤和矩陣式鍵盤。 圖210 鍵盤的電路圖我們用的KEYKEY,一端同時和在相連,在初始化的時候先給單片機的這幾個腳賦為高電平,當(dāng)按鍵按下的時候,變?yōu)榈碗娖?。調(diào)整鍵(KK4): 在按下模式鍵后,相應(yīng)的數(shù)字會閃爍,這時我們按下K3(加鍵)或4(減鍵),對應(yīng)的數(shù)字就會相應(yīng)的加一或減一。RST端的外部復(fù)位電路有兩種操作方式,上電自動復(fù)位和按鍵手動復(fù)位。第三章 基于單片機的電子時鐘軟件設(shè)計C51單片機可以應(yīng)用匯編語言和C語言進行編程。單片機依次開始調(diào)用DS1302子程序,DS18B20子程序,鍵盤子程序返回開頭循環(huán)運行[3]。DS1302每次上電后會自動處于暫停狀態(tài),必須把秒寄存器的位7置位0,時鐘才開始計時。開始初始化寫入時鐘初值開始計時讀出數(shù)據(jù)返回圖32 對DS1302操作流程圖第三節(jié) 環(huán)境溫度采集子程序設(shè)計DS18B20是1wire單線器件,它在一根數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,這就需要一定的協(xié)議來對讀寫數(shù)據(jù)提出嚴(yán)格的時序要求,AT89C51單片機并不支持單線傳輸。實現(xiàn)環(huán)境溫度采集轉(zhuǎn)換并讀取數(shù)據(jù)的程序流程圖如圖33[8]。定時掃描方式與隨機掃描方式基本相同,只是利用CPU內(nèi)的定時中斷,每隔一定時間掃描有無按鍵按下,鍵盤反應(yīng)速度快,在處理按鍵功能過程中,可以通過鍵盤命令進行干預(yù),如取消、暫停等操作。硬件調(diào)試比較費時,需要細(xì)心和耐心,也需要熟練掌握電路原理。在軟件調(diào)試過程中要仔細(xì)耐心,即使是多寫或少寫一兩個字符,都有可能使編譯無法進行。例如:本設(shè)計是在單片機系統(tǒng)基礎(chǔ)上建立起來的,所以必須先確定單片機基礎(chǔ)電路是否能正常工作。軟件調(diào)試一般需要諸如Keil,Proteus等仿真編輯器。AT89C51的31號引腳是外部程序存儲器選擇的信號端。本設(shè)計定義為:,I/。同時也要盡量使晶振遠(yuǎn)離DS1302的X1,X2引腳位置焊接。為了能正常顯示溫度,需要將讀取到底TH和TL組合成一個字節(jié),在轉(zhuǎn)換成十進制數(shù)。第六節(jié) 軟件的調(diào)試[10]其實硬件的調(diào)試也伴隨著軟件的調(diào)試,在硬件調(diào)試時,我們首先要做的是在Proteus仿真軟件上畫出原理圖,顯然原理圖的正確與否關(guān)系著我們以后軟件的調(diào)試,所以在原理圖還沒有真正的搞定之前,軟件的調(diào)試是盲目的、徒勞的。經(jīng)過Proteus的仿真,達(dá)到了最初的目的,程序可以運行,并顯示了時間、溫度。需要注意的是要認(rèn)真,仔細(xì)的調(diào)試。參考文獻(xiàn)[1] 萬光毅,(一)[M], 北京: 北京航空航天大學(xué)出版社,2006[2] 夏繼強,(二)[M],北京: 北京航空航天大學(xué)出版社,2007[3] 徐愛鈞,[M],北京:2000:21~100[4] [M],哈爾濱: 哈爾濱工業(yè)大學(xué)出版社,1997[5] —基于PROTEUS仿真和C語言編程[M],鄭州: 中國電力出版社,2009[6] [M],西安: 西安電子科技大學(xué)出版社 2007[7] [M], 西安: 西安電子科技大學(xué)出版社 2003[8] [M],北京: 國外電子元器件 2002[9] 趙海蘭,朱劍,趙祥偉. DS1302實時顯示時間的原理與應(yīng)用[],《電子技術(shù)》 2004年31卷第01期 致 謝本論文最終得以順利完成,非常感謝我的指導(dǎo)老師。感謝XXXXxxxx的所有領(lǐng)導(dǎo)和老師。感謝我的家人、同學(xué)、朋友對我的大力支持,他們的無私奉獻(xiàn)、關(guān)愛和支持使我能夠繼續(xù)去追求自己的人生理想和目標(biāo)。uchar t,num=0。uint shi1,fen1,miao1,nian1,yue1,ri1,we1。sbit SCL=P1^2。sbit key2=P3^1。x0。}includeincludeincludeincludevoid main(){init_1602()。 display()。P0=date。}void write_(uchar date){EN=0。delay(5)。write_(0x06)。yue=read_byte(0x89)。 miao=read_byte(0x81)。write_date(table[2])。write_date(table[11])。write_date(table[ri/16])。M39。O39。N39。T39。U39。E39。W39。E39。D39。T39。H39。U39。F39。R39。T39。S39。A39。T39。S39。U39。N39。write_date(table[shi/16])。write_date(table[fen%16])。write_(0x80+0x40+10)。write_date(table[get_temp()%10])。)。ri1=(ri/16)*10+ri%16。we1=(we/16)*10+we%16。 if(num==1) write_(0x80+3)。 if(num==3) write_(0x80+9)。 if(num==5) write_(0x80+0x40+1)。 if(num==7) write_(0x80+0x40+7)。 write_(0x0f)。 write_byte(0x8c,((nian1/10)*16+nian1%10))。 if(nian1==1) nian1=99。 case 2: write_(0x80+6)。 if(yue1==13) yue1=1。 if(key3==0) { yue1。 break。 if(key2==0) { ri1++。 if(key3==0) { if(yue1==1 || yue1==3 || yue1==5 || yue1==7 || yue1==8 || yue1==10 || yue1==12) { if(ri1==0) { ri1=31。 } while(!key3) display()。//星期 if(key2==0) { delay(5)。 } } while(!key2) display()。 write_byte(0x8a,((we1/10)*16+we1%10))。 write_(0x0f)。 write_byte(0x84,((shi1/10)*16+shi1%10))。 if(shi1==1) shi1=23。 case 6: write_(0x80+0x40+4)。 if(fen1==60) fen1=0。 if(key3==0) { fen1。 break。 if(key2==0) { miao1=0。 if(key3==0) { miao1=0。 } write_byte(0x8e,0x80)。RST的高電平啟動一次數(shù)據(jù)的傳輸 1302注意2 SCL=0。i++) { if(amp。 SCL=0。 for(i=0。 else IO=0。 SCL=1。 RST=0。 for(i=0。 else IO=0。 SCL=1。 date=dat
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1