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

正文內(nèi)容

多功能電子時鐘設(shè)計-文庫吧

2025-06-14 23:14 本頁面


【正文】 4GND地5RST控制移位寄存器/復(fù)位6I/O數(shù)據(jù)輸入/輸出7SCLK串行時鐘8VCC2主電源輸入 DS1302的控制字和讀寫時序說明在編程過程中要注意DS1302的讀寫時序。DS1302是SPI總線驅(qū)動方式。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。要想與DS1302通信,首先要先了解DS1302的控制字。 DS1302控制字(即地址及命令字節(jié))BIT7BIT6BIT5BIT4BIT 3BIT 2BIT 1BIT 01RAMA4A3A2A1A0RD控制字的作用是設(shè)定DS1302的工作方式、傳送字節(jié)數(shù)等。每次數(shù)據(jù)的傳輸都是由控制字開始??刂谱指魑坏暮x和作用如下:1. BIT7:控制字的最高有效位,必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。2. BIT 6:如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);3. BIT 5至BIT 1(A4~A0):用A4~A0表示,定義片內(nèi)寄存器和RAM的地址。定義如下:當(dāng)BIT 6位=0時,定義時鐘和其他寄存器的地址。A4~A0=0~6,順序為秒、分、時、日、月、星期、年的寄存器。當(dāng)A4~A0=7,為芯片寫保護(hù)寄存器地址。當(dāng)A4~A0=8,為慢速充電參數(shù)選擇寄存器。當(dāng)A4~A0=31,為時鐘多字節(jié)方式選擇寄存器。當(dāng)BIT 6=1時,定義RAM的地址,A4~A0=0~30,對應(yīng)各子地址的RAM,地址31對應(yīng)的是RAM多字節(jié)方式選擇寄存器。4. BIT 0(最低有效位):如為0,表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作??刂谱挚偸菑淖畹臀婚_始輸出。在控制字指令輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。 DS1302數(shù)據(jù)讀寫時序DS1302的數(shù)據(jù)讀寫方式有兩種,一種是單字節(jié)操作方式,一種是多字節(jié)操作方式。每次僅寫入或讀出一個字節(jié)數(shù)據(jù)稱為單字節(jié)操作,每次對時鐘/日歷的8字節(jié)或31字節(jié)RAM進(jìn)行全體寫入或讀出的操作,稱其為多字節(jié)操作方式。當(dāng)以多字節(jié)方式寫時鐘寄存器時,必須按數(shù)據(jù)傳送的次序依次寫入8個寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時,不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一個字節(jié)都將傳送至RAM。為了啟動數(shù)據(jù)的傳輸,CE引腳信號應(yīng)由低變高,當(dāng)把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é),需要多達(dá)256個時鐘。這里僅給出單字節(jié)讀寫時序。多字節(jié)操作方式與其類似,只是后面跟的字節(jié)數(shù)不止一個。 DS1302的片內(nèi)寄存器 DS1302有關(guān)日歷、時間的寄存器讀寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范圍81H80HCH10秒秒005983H82H10分分005985H84H010時時112023AM/PM87H86H0010日日13189H88H0010月月1128BH8AH00000周日178DH8CH10年年00998FH8EHWP0000000—通過控制字對DS1302片內(nèi)寄存器進(jìn)行尋址之后,即可就所選中寄存器的各位進(jìn)行操作。DS1302有關(guān)日歷、時間的寄存器共有10個,時鐘/日歷包含在其中的7個寫/讀寄存器內(nèi),這7個寄存器分別是秒、分、小時、日、月、星期和年。小時寄存器(85H、84H)的位7用于定義DS1302是運(yùn)行于12小時模式還是24小時模式。當(dāng)為12小時制式時,位5為“0”表示AM;為“1”表示PM。在24小時制式下,位5是第二個10小時位(20~23時)。 秒寄存器(81H、80H)的位7定義為時鐘暫停標(biāo)志(CH)。當(dāng)該位置為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位置為0時,時鐘開始運(yùn)行。一般在設(shè)置時鐘時,可以停止其工作,設(shè)定完之后,再啟動其工作??刂萍拇嫫鳎?FH、8EH)的位7是寫保護(hù)位(WP),其它7位均置為0。在任何片內(nèi)時鐘/日歷寄存器和RAM,在寫操作之前,WP位必須為0,否則將不可寫入。當(dāng)WP位為1時,寫保護(hù)位防止對任一寄存器的寫操作。因此,通過置寫保護(hù)位,可以提高數(shù)據(jù)的安全性。另外,還有慢速充電控制寄存器和RAM寄存器。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0充電控制寄存器TCSTCSTCSTCSDSDSRSRSRAM寄存器————————慢速充電寄存器控制著DS1302的慢速充電特性。寄存器的BIT4~BIT7(TCS)決定是否具備充電性能:僅在編碼為1010的條件下才具備充電性能,其他編碼組合不允許充電。BIT2和BIT3選擇在VCC2和VCC1之間是一個還是兩個二極管串入其中。如果編碼DS是01,選擇一個二極管;如果編碼是10,選擇兩個二極管;其他編碼將不允許充電。該寄存器的BIT0和BIT1用于選擇與二極管相串聯(lián)的電阻值。其中編碼RS=01為2 KΩ,RS=10為4 KΩ,RS=11為8 KΩ,而RS=00將不允許進(jìn)行充電。因此,根據(jù)慢速充電寄存器的不同編碼可得到不同的充電電流。: I充電=(V0VDVE)/R ()式中:V0——;VD——二極管壓降,;R——慢速充電控制寄存器0和1位編碼決定的電阻值;VE——VCC1腳所接入的電池電壓。RAM寄存器尋址空間一次排列的31字節(jié)靜態(tài)RAM可為用戶使用,備用電源位RAM提供了掉電保護(hù)功能。寄存器和RAM的操作通過命令字節(jié)的BIT6加以區(qū)別。當(dāng)BIT6為“0”時對RAM區(qū)進(jìn)行尋址;否則將對時鐘/日歷寄存器尋址。其操作方法與前述相同[9][10][11]。具體驅(qū)動程序參見附錄A。 電子時鐘硬件電路設(shè)計電子鬧鐘至少要包括秒信號發(fā)生器、時間顯示電路、按鍵電路、供電電源、鬧鈴指示電路等幾部分。另外,本設(shè)計要求該電子鐘能夠采集環(huán)境溫度,所以還需要溫度采集芯片。該系統(tǒng)使用AT89C51單片機(jī)作為核心,通過讀取時鐘日歷芯片DS1302和溫度傳感器DS18B20的數(shù)據(jù),完成此電子時鐘的主要功能——時鐘/日歷和環(huán)境溫度采集。使用比較通用的8段共陰數(shù)碼管,做7位顯示,分別顯示時/年,分/月,秒/日,以及環(huán)境溫度值。 多功能電子時鐘硬件系統(tǒng)框圖鍵盤是為了完成時鐘/日歷的校對和日歷/溫度的顯示功能。由于此電子時鐘要求具有鬧鈴功能,所以設(shè)計有鬧鈴電路,進(jìn)行聲音響鈴。整個電路使用了兩種電源,+5V電源將為整個電路供電。而+3V電源僅作為DS1302的備用電源。當(dāng)+5V電源被切斷后,DS1302啟用+3V電源,可以保持DS1302繼續(xù)工作。當(dāng)+5V電源恢復(fù)供電,LED依舊顯示當(dāng)前時間,而不會因為斷電使系統(tǒng)復(fù)位到初始化時間,避免了重新校時的麻煩。具體電路圖請參見附錄C。 時鐘電路設(shè)計系統(tǒng)時鐘應(yīng)用了實(shí)時時鐘日歷芯片DS1302。該硬件電路設(shè)計簡單,抗干擾能力強(qiáng)。如圖,上電后。DS1302采用雙電源供電,平時由+5V電源供電,當(dāng)+5V掉電之后,由圖中BT1(+3V備用電池)供電。特別需要注意X1和X2兩端連接的晶振Y1。 系統(tǒng)時鐘電路 顯示電路就時鐘而言,通??刹捎肔CD顯示或LED顯示。對于一般的段式LCD,需要專門的驅(qū)動電路,而且LCD顯示的可視性較差;對于具有驅(qū)動電路和微處理器接口的液晶顯示模塊(字符或點(diǎn)陣),一般采用并行接口,對微處理器的接口要求較高,占用資源多。另外,AT89C51本身沒有專門的液晶驅(qū)動接口。LED結(jié)構(gòu)簡單,體積小,功耗低,響應(yīng)速度快,易于匹配,壽命長,可靠性高,而且顯示亮度高,價格便宜,市場上也有專門的時鐘顯示組合LED。故本設(shè)計中應(yīng)用7位8段共陰LED實(shí)現(xiàn)顯示部分。LED顯示分動態(tài)顯示和靜態(tài)顯示:動態(tài)顯示方式的硬件電路簡單。但設(shè)計上如果處理不當(dāng),易造成亮度低,閃爍問題。因此合理的設(shè)計既應(yīng)保證驅(qū)動電路易實(shí)現(xiàn),又要保證圖像穩(wěn)定,無閃爍。動態(tài)顯示采用多路復(fù)用技術(shù)的動態(tài)掃描顯示方式,復(fù)用的程度不是無限增加的, 因為利用動態(tài)掃描顯示使我們看到一幅穩(wěn)定畫面的實(shí)質(zhì)是利用了人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時間的長短,發(fā)光的亮度等因素。靜態(tài)顯示,是由微型計算機(jī)一次輸出顯示模型后,就能保持該顯示結(jié)果,直到下次發(fā)送新的顯示模型為止。靜態(tài)顯示驅(qū)動程序簡單,且CPU占用率低,但每個LED數(shù)碼管需要一個鎖存器來鎖存每一個顯示位的筆段代碼,硬件開銷大,僅適合顯示位數(shù)較少的場合。為了在顯示部分節(jié)省單片機(jī)I/O口,故采用靜態(tài)顯示方式。74LS164是8位移位寄存器,應(yīng)用該芯片驅(qū)動LED做顯示部分,其優(yōu)點(diǎn)在于連線簡單,節(jié)省單片機(jī)I/O口,軟件編程容易。關(guān)于74LS164的具體編程方法,[14][15]。 顯示面板LED分布圖 按鍵電路設(shè)計根據(jù)功能需要,本時鐘需要設(shè)置以下功能鍵:校對選擇鍵,加1操作鍵,減1操作鍵,顯示日期鍵,鬧鈴開關(guān)鍵。按照鍵盤與CPU的連接方式可分為獨(dú)立式鍵盤和矩陣式鍵盤。獨(dú)立式鍵盤是各個按鍵相互獨(dú)立,每個按鍵占用一個I/O口線,每根I/O口線上的按鍵不會影響其他I/O口上按鍵工作狀態(tài)。獨(dú)立式鍵盤電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口,在按鍵數(shù)量較多時,I/O口線浪費(fèi)較大,且電路結(jié)構(gòu)復(fù)雜。矩陣式鍵盤適合按鍵較多時使用。由于本設(shè)計的電子鐘最多需要7個按鍵,若采用矩陣式鍵盤時會有按鍵浪費(fèi),故采用的是獨(dú)立式鍵盤。對于內(nèi)置了上拉電阻的I/O引腳來說,外接上拉電阻沒有意義[15][16]。 鍵盤電路其中KKK7為帶自鎖按鍵,每次按下后,、從高電平被拉至低電平。只有再次按下,按鍵彈出,與之連接的單片機(jī)管腳才會重新被拉回高電平。KKKK6鍵為自動復(fù)位按鍵。每次按下后,會自動彈出。單片機(jī)管腳只有在按鍵按下時為低電平,按鍵彈出后重新恢復(fù)高電平。 按鍵功能表按鍵鍵名功能屬性K1Calendar顯示日歷自鎖K3FUN功能選擇自動復(fù)位K4UP數(shù)值加一操作自動復(fù)位K5DOWN數(shù)值減一操作自動復(fù)位K6Enter/Snooze確認(rèn)鍵/貪睡自動復(fù)位K7Alarm鬧鈴開關(guān)自鎖按鍵操作說明如下:K1鍵:該鍵為帶自鎖按鍵,在正常顯示時間狀態(tài)下,每次將按鍵按下, LED數(shù)碼管將顯示日期;再次按下,按鍵彈出,重新顯示時間。K3鍵:該鍵為自動復(fù)位鍵,在正常顯示時間狀態(tài)下,第一次按下后,開始校對小時,以后每次按下都會分別進(jìn)入對分、秒、鬧鈴時、鬧鈴分、年、月、日的校對狀態(tài)。K4鍵:該鍵為自動復(fù)位鍵,在校對狀態(tài)下,每次按動該鍵,都會使相應(yīng)校對位進(jìn)行加1操作。例如:校對小時狀態(tài),每按一下,小時位加1,當(dāng)加至小時最高值23時,再按K4鍵,小時位回0。調(diào)分、秒、年、月、日與皆之相同,只是各位最高值不同。K5鍵:該鍵為自動復(fù)位鍵,與K4鍵類似,不同之處是該鍵每次按下將使相應(yīng)校對位進(jìn)行減1操作。K6鍵:該鍵為自動復(fù)位鍵,在校對狀態(tài)下,按下該鍵,從校對狀態(tài)返回時間顯示狀態(tài);在響鈴狀態(tài)下,按下該鍵,鬧鈴進(jìn)入貪睡狀態(tài)。K7鍵:該鍵為帶自鎖按鍵,按下后鬧鈴開啟,彈出后鬧鈴關(guān)閉。 鬧鈴電路設(shè)計鬧鈴音樂可以直接采用蜂鳴器鬧鈴,如當(dāng)前時刻與鬧鈴時間相同,單片機(jī)向蜂鳴器送出高電平,蜂鳴器發(fā)聲。采用蜂鳴器鬧鈴結(jié)構(gòu)簡單,控制方便,但是發(fā)出的鬧鈴聲音單一。也可以在編程的時候編寫一段音樂程序,待鬧鈴時間到時,調(diào)用該音樂程序給揚(yáng)聲器,便響起音樂。不過該方法只能做一些簡單音樂,并且音樂程序會占用很多單片機(jī)存儲資源。還有一種方法是采用錄音放音芯片1420做鬧鈴,先對錄放音設(shè)備錄入一段音樂,當(dāng)?shù)皆O(shè)定時間時,單片機(jī)控制錄放音設(shè)備放音。采用錄放音電路,鈴聲可以是預(yù)先設(shè)定的一段自己喜歡的音樂,符合電器設(shè)備人性化的要求。且1420芯片可以分段錄音,還具有語音報時功能。另外,也可以購置一塊音樂集成電路,加置在單片機(jī)和蜂鳴器之間,當(dāng)單片機(jī)連接鬧鈴電路的管腳送出高電平時,音樂集成電路會給蜂鳴器特定脈沖,使蜂鳴器發(fā)聲。此類集成電路體積較小,使用方便,不足的是音樂簡單、單一。鬧鈴的音樂不是本設(shè)計中的重點(diǎn),故采用最簡單的方法,占用單片機(jī)一根I/, 。,S9012的發(fā)射極和集電極導(dǎo)通,使蜂鳴器發(fā)聲。當(dāng)響鈴標(biāo)志位為“1”時,使蜂鳴器U11發(fā)出聲音[16]。 鬧鈴電路 復(fù)位電路設(shè)計復(fù)位是單片機(jī)的初始化操作,以便使CPU和系統(tǒng)中其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,也可按復(fù)位鍵重新啟動。復(fù)位后,PC內(nèi)容初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)復(fù)位后,除了PC之
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1