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

正文內(nèi)容

基于51單片機的電子萬年歷的設計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-16 13:09 本頁面
 

【文章內(nèi)容簡介】 存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT80C51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,這兩次有效的PSEN信號不出現(xiàn)。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序儲存器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(Vcc端),CPU則執(zhí)行內(nèi)部程序儲存器中的指令。FLASH儲存器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12v編程電壓。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。第二節(jié) 時鐘電路的設計實現(xiàn)電子時鐘的功能方案有很多種,常用的有用芯片555實現(xiàn),直接編程實現(xiàn),也就是通過編程由單片機內(nèi)部產(chǎn)生時鐘的數(shù)據(jù)。本設計要求時鐘電路能夠顯示日歷和時間,對一般的芯片的實現(xiàn)方法,這難免會給編程帶來極大的麻煩,而DS1302就可以自己依靠單獨的晶振電路,產(chǎn)生這些數(shù)據(jù),并存儲到內(nèi)部的存儲器中,而我們要做的工作就是,不斷的讀出這些數(shù)據(jù),并轉(zhuǎn)換成顯示器可識別的有效的數(shù)據(jù),送到顯示器上顯示。這樣一款強大的時鐘芯片,不但占用的硬件資源少,而且其精確性、實時性也是相當?shù)目捎^。所以本設計選用DS1302來實現(xiàn)時鐘電路。一、 DS1302簡要說明DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,~。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。二、DS1302引腳說明DS1302封裝和引腳參照圖23。圖23 DS1302封裝和引腳DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。X1和X2是振蕩源。RST是復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細說明。SCLK為時鐘輸入端。具體的引腳說明如表22。表22 DS1302引腳功能說明引腳號名稱功能1VCC1備份電源輸入2X13X24GND地5RST控制移位寄存器/復位6I/O數(shù)據(jù)輸入/輸出7SCLK串行時鐘8VCC2主電源輸入三、 DS1302控制字和讀寫時序說明 在編程過程中要注意DS1302的讀寫時序,DS1302是SPI總線驅(qū)動方式,它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數(shù)據(jù)。要想與DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如表23??刂谱值淖饔檬窃O定DS1302的工作方式,傳送字節(jié)數(shù)等。每次數(shù)據(jù)的傳輸都是由控制字開始[9]。1. 第7 位:控制字的最高有效位,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。2. 第6位:如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù)。表23 DS1302的控制字節(jié)1RAM CKA4A3A2A1 A0RD WR第7位第6位第5位第4位第3位第2位第1位第0位3.第5位:(A4~A0)用A4~A0表示,定義片內(nèi)寄存器和RAM的地址。定義如下:當?shù)?位為0時,定義時鐘和其他寄存器的地址。A4~A0=0~6,順序為秒、分、時、日、月、星期、年的寄存器。當A4~A0=7,為芯片寫保護寄存器地址。當A4~A0=8,為慢速充電參數(shù)選擇寄存器。當A4~A0=31,為時鐘字節(jié)方式選擇寄存器。 當?shù)?位為1時,定義RAM的地址,A4~A0=0~30,對應各子地址的RAM,地址31對應的是RAM多字節(jié)方式選擇寄存器。4. 第0位(最低有效位):如果為0,表示進行寫操作,為1表示進行讀操作。控制字總是從最低位開始輸出。在控制字輸入后的下一個SCLK時鐘的上升沿時,(0位)開始。同樣,在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。DS1302的數(shù)據(jù)讀寫方式有兩種,一種是單字節(jié)操作方式,一種是多字節(jié)操作方式。每次僅寫入一個字節(jié)數(shù)據(jù)稱為單字節(jié)操作,每次對時鐘/日歷的8字節(jié)或31字節(jié)RAM進行全體寫入或讀出的操作稱為多字節(jié)操作方式。當以多字節(jié)方式寫時鐘寄存器時,必須按數(shù)據(jù)傳送的順序依次寫入8個寄存器。但是,當以多字節(jié)方式寫RAM時,不必寫所有31字節(jié),不管是否寫了全部31字節(jié),所寫的第一個字節(jié)都將傳送到RAM。為了啟動數(shù)據(jù)的傳輸,CE引腳信號應由低變高,當把CE驅(qū)動到邏輯1的狀態(tài)時,SCLK必須為邏輯0,數(shù)據(jù)在SCLK的上升沿串行輸入,無論是讀同期還是寫周期,也無論傳送方式是單字節(jié)還是多字節(jié),都要通過控制字指定40字節(jié)的哪個將被訪問,在開始8個時鐘同期把命令字(具有地址和控制信息的8位數(shù)據(jù))裝入移位寄存器之后,另外的時鐘在讀操作時輸出 數(shù)據(jù),在寫操作時輸入數(shù)據(jù),所有的數(shù)據(jù)在時鐘的下降沿變化。所有寫入或讀出操作都是向芯片發(fā)送一個命令字節(jié)。對于單字節(jié)操作,包括命令字節(jié)在內(nèi),每次為2個字節(jié),需要16個時鐘,對于時鐘/日歷多字節(jié)模式操作,每次為7個字節(jié),需要72個時鐘,而對于RAM多字節(jié)模式操作,每次則為32字節(jié),需要多達256個時鐘,這里僅給出單字節(jié)讀寫時序,如圖24,多字節(jié)操作方式與其類似,只是且而跟的字不止一個。圖24 DS1302 單字節(jié)讀寫時序四、 DS1302片內(nèi)寄存器說明通過控制字對DS1302片內(nèi)的寄存器進行尋址之后,即可就所選中寄存器的各位進行操作。片內(nèi)各寄存器用各位的功能定義如表24。DS1302有關(guān)日歷、時間的寄存器共有10個,時鐘/日歷包含在其中的7個寫/讀寄存器內(nèi),這個寄存器分別是秒、分、小時、日、月、星期和年。 小時寄存器(85H、84H)的位7用于定義DS1302是運行于12小時模式還是24小時模式。當為12小時制式時,位5為“0”表示AM,為“1”表示PM。在24小時制式下,位5是第二個10小時位(20~23時)。表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定義為時鐘暫停標志(CH)。當該位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位置為0時,時鐘開始運行。一般在設置時鐘時,可以停止工作,設定完之后,再啟動其工作。控制寄存器(8FH、8EH)的位7是寫保護位(WP),其它7位均置為0,在任何片內(nèi)時鐘/日歷寄存器和RAM,在寫操作之前,WP位必須為0位,否則將不可寫入。當WP位為1時,寫保護位防止對任一寄存器的寫操作。因此,通過置寫保護位,可以提高數(shù)據(jù)的安全性。五、 時鐘電路與單片機的連接根據(jù)DS1302引腳功能說明和程序要求將其按圖25接入電路。圖25單片機與時鐘芯片DS1302連接圖該硬件電路設計簡單,抗干擾能力強。如圖,上電后。DS1302采用雙電源供電,平時由+5V電源供電,當+5V電源之后,由圖中+3V備用電源供電。特別需要注意X1和X2兩端連接的晶振。第三節(jié) 環(huán)境溫度采集電路的設計、隨著技術(shù)的發(fā)展,電子時鐘不在單一的只用來顯示時間,人們在其上面增加了相應的附屬功能,比如:多功能鬧鐘、溫度、濕度等等。但在我看來了溫度提醒著我們穿衣保暖,關(guān)系著我們的身體健康。所以我認為溫度是最為實用的外加功能。一、 溫度傳感器選擇在日常生活中和工農(nóng)業(yè)生產(chǎn)中常要用到溫度檢測及控制,傳統(tǒng)的測溫元件有熱電偶和熱電阻,一般用來測量中高溫,輸出的是電壓,將其轉(zhuǎn)換成對應的二進制溫度碼值,需要較多的硬件支持,硬件電路復雜,軟件調(diào)試較為復雜,制作成本高。通過編程,DS18B20可以實現(xiàn)9~12位溫度讀數(shù),信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從單片機到DS18B20僅需要一條線。讀寫和完成溫度變換所需要的電源可由數(shù)據(jù)線本身提供,而無需外部電源。測量范圍為55~+125攝氏度,電源電壓范圍為+3V~+。二、 DS18B20簡介DS18B20是DALLAS公司生產(chǎn)的單線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出;其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點使DS18B20非常適用于遠距離多點溫度檢測系統(tǒng)。 每一個 DSl820 包括一個唯一的 64 位長的序號 該序號值存放在DSl820 內(nèi)部的 ROM(只讀存貯器)中 開始8 位是產(chǎn)品類型編碼(DSl820 編碼均為 10H) 接著的 48位是每個器件唯一的序號 最后 8 位是前面 56 位的CRC(循環(huán)冗余校驗)碼 DSl820 中還有用于貯存測得的溫度值的兩個 8 位存貯器 RAM 編號為 0 號和 1號 1 號存貯器存放溫度值的符號 如果溫度為負則 1 號存貯器 8 位全為 1 否則全為 0 。0 號存貯器用于存放溫度值的補碼 LSB(最低位)的 1 表示 2 就得到被測溫度值。具體引腳說明如圖26,功能如表25。圖26 DS18B20引腳與封裝表25 DS18B20引腳說明序號名稱引腳功能1GND接地2DQ數(shù)據(jù)輸入/輸出引腳:開漏單總線接口引腳;當被用到寄生電源下,也可向器件提供電源3VDD可選擇的VDD引腳,當工作于寄生電源時,此引腳必須接地三、 DS18B20控制字和讀寫時序說明DS18B20是1wire單線器件,它在一根數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,這就需要一定的協(xié)議來對讀寫數(shù)據(jù)提出嚴格的時序要求,AT89C51單片機并不支持單線傳輸。因此,必須采用軟件的方法來模擬單線的協(xié)議時序。主機操作單線器件DS18B20必須遵循下面的順序[8]。單線總線上的所有操作均從初始化開始,初始化過程如下。主機通過拉低單線480us以上,產(chǎn)生復位脈沖,然后釋放該線,進入RX接收模式。主機釋放總線時,會產(chǎn)生一個上升沿。單線器件DS18B20檢測到該上升沿后,延時1560us,通過拉低總線6024us來產(chǎn)生應答脈沖,主機接收到從機的應答脈沖后,說明有單線器件在線。一旦總線主機檢測對應答脈沖,便可以發(fā)起ROM操作命令。共有5位ROM操作命令。詳細說明如下表26。表26 ROM操作命令與說明命令類型命令字節(jié)功能說明Read rom33H此命令讀取激光ROM的64位,只能用于總線上單個DS18B20的情況下,多掛則會發(fā)生沖突Match rom(匹配rom)55H此命令后跟64位ROM序列號,尋址多掛總線上的DS18B20。只有序列號完全匹配的DS18B20才能響應后面的內(nèi)存操作命令,其他不匹配的將等待復位脈沖。此命令可用于單掛或多掛接總線。Skip rom(跳過rom)CCH此命令用于單掛接總線系統(tǒng)時,可以無需提供64位ROM序列號皆可運行內(nèi)存操作命令。如果總線上掛多掛DS18B20,并且在此命令后執(zhí)行讀命令,將會發(fā)生數(shù)據(jù)沖突。Scarch rom(搜索rom)F0H主機調(diào)用此命令,通過一個排除法過程,可以識別出總線上所有器件的ROM序列號。Alarm rom(警報rom)ECH此命令流程圖和scarch rom命令相同,但是DS18B20只有在最近的一次溫度測量時滿足了告警觸發(fā)條件,才會響應此命令。在成功執(zhí)行了ROM操作命令之后,才可以使用內(nèi)存操作命令。主機可以提供6種內(nèi)存操作命令,如表27。DS18B20要求有嚴格的時序來保證數(shù)據(jù)的完整。在單線DQ上,存在復位脈沖、應答脈沖、寫“1”、寫“0”、讀“1”、讀“0”幾種信號類型。其中,除了應答脈沖之外,均由主機產(chǎn)生。而數(shù)據(jù)位讀寫則是通過使用讀、寫時隙實現(xiàn)的。首先了解寫時隙。當主機將數(shù)據(jù)線從高平拉至低電平時,產(chǎn)生2種類型的寫時隙:寫“1”和“0”。所有寫時隙必須在60μs以上(即由高拉低后持續(xù)60μs以上),各個寫時隙之間必須保證最短1us的恢復時間。DS18B20在DQ線變低后的15μs~60μs的端口對DQ進行采樣,如果為高電平,就為寫“1”;如果為低電平,就為寫“0”。對于主機產(chǎn)生寫“1”時隙的情況,數(shù)據(jù)線必須先被拉低,然后釋放,在寫時隙開始后的15μs,允許DQ線拉至高電平。對于主機寫“0”時隙的情況,DQ線必須被拉至低電平至少保持低電平60μs。再來了解一下讀時隙。當主機從DS18B20讀數(shù)據(jù)時,把數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生讀時隙。數(shù)據(jù)線DQ必須保持低電平至少1μs,來自DS18B20的輸出數(shù)據(jù)在讀時隙下降沿之后15μs內(nèi)有效。因此,在此15μs內(nèi),主機必須停止將DQ引腳置低。在讀時隙結(jié)束時,DQ引腳通過外部上拉電阻拉回高電平。所有的讀時隙最短必須持續(xù)60μs,各個讀時隙之間必須保證最短1μs的恢復時間。表27 內(nèi)存操作命令與說明命令類型命令字節(jié)功能說明Write Scratchpad(寫暫存器)4EH此命令寫暫存器中地址2~4的3個字節(jié)(TH、TL和配置寄存器)在發(fā)起復位脈沖之前,3個字節(jié)都必須要寫。Rrad Scratchpad(讀暫存器)BEH此命令讀取暫存器內(nèi)容,從字節(jié)0~一直讀取到字節(jié)8。主機可以隨時發(fā)起復位脈沖以停止此操作。Copy Scratchpad(復制暫存器)48H此命令將暫存器中的內(nèi)容復制進E2RAM,以便將溫度告警觸發(fā)字節(jié)存入非易失內(nèi)存。如果在此命令后產(chǎn)生讀時隙,那么只要器件在進行復制就會輸出0,復制完成后,再輸出1。Convenrt T(溫度轉(zhuǎn)換)44H此命令開始溫度轉(zhuǎn)換操作。如果在此命令后主機產(chǎn)生讀時隙,那么只要器件在進行溫度轉(zhuǎn)換就會輸出0,轉(zhuǎn)換完成后在輸出1。Recall E2(重調(diào)E2存儲器)B8H將存儲在E2RAM中的溫度告警觸發(fā)值和配置寄存器值重新拷貝到暫存器中,此重調(diào)操作在DS18B20加電時自動產(chǎn)生。Read Power Supply(讀供電方式)B4H主機發(fā)起此命令后每個讀數(shù)據(jù)時隙內(nèi),DS1820發(fā)信號通知它的供電方式:0為寄生電源方式,1為外部供電方式。所有的讀寫時隙至少需要60μs,且每個獨立的時隙之間至少需要1μs的恢復時間。在寫時序中,主機將在拉低總線15μs內(nèi)釋放總線,并向DS18B20寫“1”。若主機拉低總線后能保持60μs的低電平,則向單總線器件寫“0”。DS18B20僅在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便DS18B20能傳輸數(shù)據(jù)。特別需要注意的是,這決定了指令運行時間,在軟件設計將根據(jù)指令運行時間編寫各種延時程序。四、 溫度采集電路與單片機的連接本設計中使用DS18B20溫度傳感器進行環(huán)境溫度采集和轉(zhuǎn)化,其與單片機的連接圖如圖27所示[4]。圖27 單片機與DS18B20連接圖,作為數(shù)據(jù)的讀入和寫出。電阻R11作為DS18B20的I/O口的上拉電阻,在讀時隙結(jié)束時,I/O引腳將通過此上拉電阻拉回到高電平。要想使DS18B20進行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達到1mA,電路采用5V電源供電,根據(jù)I=U/R=5/4700=,所以根據(jù)這個原理,可以選用小一點的電阻,只要保證DS18B20的工作電流,當然也可以直接接在電源上,但是為了使信號穩(wěn)定,一般在電路設計中加上拉電阻。第四節(jié) 顯示電路的設計顯示電路的主要部分就是顯示器件,所以顯示電路的設計第一步就是顯示器件的選擇,對我們一般的設計,首選當然是數(shù)碼管,它具有顯示亮度高,編程易的特點,但是它的單獨顯示使得每一位都要有自己的為選端,也就
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1