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

正文內(nèi)容

基于單片機(jī)的時(shí)鐘日歷的設(shè)計(jì)畢業(yè)論文-文庫(kù)吧

2025-01-03 16:25 本頁面


【正文】 自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用24h或帶AM(上午)/PM(下午)的12h格式。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳:VCC1 在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份;VCC2在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中,VCC1 連接到備份電源,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302由VCC1或VCC2中較大者供電。當(dāng)VCC2大于VCC1+,VCC2給DS1302供電;當(dāng)VCC2小于VCC1時(shí),DS1302由VCC1供電。DS1302數(shù)據(jù)操作原理DS1302在任何數(shù)據(jù)傳送時(shí)必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被輸入。無論是讀周期還是寫周期,開始8位指定40個(gè)寄存器中哪個(gè)被訪問到。在開始8個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時(shí)鐘周期在讀操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。圖31 DS1302管腳圖如果在傳送過程中置RST為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在VCC =,RST腳必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。DS1302的管腳圖如圖31所示,表32為各引腳的功能。引腳號(hào)引腳名稱功能1VCC2主電源2,3X1,X2振蕩源,外接32768HZ晶振4GND地線5RST復(fù)位/片選線6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行時(shí)鐘輸入端8VCC1后備電源表32 DS1302引腳功能表DS1302的控制字如圖33所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1表示存取RAM數(shù)據(jù)。位5~1(A4~A0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。圖33 控制字節(jié)的含義為了提高對(duì)32個(gè)地址的尋址能力(地址/命令位1~5=邏輯1),可以把時(shí)鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時(shí)鐘或RAM,而位0規(guī)定讀或?qū)?。在時(shí)鐘/日歷寄存器中的地址9~31或RAM寄存器中的地址31不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個(gè)寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時(shí),為了傳送數(shù)據(jù)不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。數(shù)據(jù)讀寫程序如圖34所示。≈SCLKK≈RSTI/O5713572102460≈46R/CA2A3A0A1R/WA41≈DATAI/OBYTEDATAI/OBYTE圖34數(shù)據(jù)讀寫程序DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表35,其中奇數(shù)為讀操作,偶數(shù)為寫操作。寄存器命令碼數(shù)據(jù)范圍寄存器中各位的內(nèi)容名稱地址寫讀76543210秒00H80H81H00~59CH秒數(shù)據(jù)分01H82H83H00~590分?jǐn)?shù)據(jù)時(shí)02H84H85H01~12或00~2312/24010/AP時(shí)數(shù)據(jù)日03H86H87H01~28,2930,3100日數(shù)據(jù)月04H88H89H01~12000月數(shù)據(jù)星期05H9AH8BH01~0700000星期數(shù)據(jù)年06H8CH8DH00~99年數(shù)據(jù)多字節(jié)讀寫B(tài)EHBFH——表35 片內(nèi)時(shí)鐘數(shù)據(jù)寄存器 的應(yīng)用實(shí)時(shí)時(shí)鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768Hz晶振。要特別說明的是,備用電源BT1可以用電池或超級(jí)電容(10萬μF以上)。雖然DS1302在主電源掉電后耗電很小,但如果要長(zhǎng)時(shí)間保證時(shí)鐘正常,最好選用小型充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天),可以用漏電較小的普通電解電容代替(100μF就可以保證1小時(shí)的正常走時(shí))。DS1302在第一次加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。DS1302的時(shí)鐘電路如圖36所示。圖36 DS1302時(shí)鐘電路LED顯示器由若干個(gè)發(fā)光二極管組成,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)筆畫或一個(gè)點(diǎn)就發(fā)光。控制相應(yīng)的管導(dǎo)通,就能顯示出對(duì)應(yīng)字符。各段LED顯示器需要由驅(qū)動(dòng)電路驅(qū)動(dòng)。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽極連在一起作為公共端。將各段發(fā)光二極管連在一起的叫共陽極顯示器,用低電平驅(qū)動(dòng);將陰極連在一起的叫共陰極顯示器,用高電平驅(qū)動(dòng)。靜態(tài)顯示就是每一個(gè)顯示器各筆畫段都要獨(dú)占具有一個(gè)鎖存功能的輸出口線,CPU把要顯示的字形代碼送到輸出口上,就可以使顯示器上顯示所需的數(shù)字或符號(hào),此后,即使CPU不在去訪問它,因?yàn)楦鞴P畫段借口具有鎖存功能,顯示的內(nèi)容也不會(huì)消失。動(dòng)態(tài)顯示是指顯示器顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管恒定地導(dǎo)通或截止。靜態(tài)顯示有并行輸出和串行輸出兩種方式。在本系統(tǒng)中數(shù)碼管使用共陰極接法而且是用動(dòng)態(tài)顯示。74HC138譯碼器是通過3條線來達(dá)到控制8條線的狀態(tài),就是通過3條控制線A0、AA2不同的高低電平組合來控制Y0~Y7的輸出狀態(tài),其中4和5為使能地端,與8引腳共同接地,當(dāng)接高電平時(shí)Y0到Y(jié)7輸出高電平。6號(hào)腳為使能端,為高電平時(shí)有效。74HC138封裝如圖37。當(dāng)需要級(jí)聯(lián)時(shí)只需要改變使能端信號(hào)引腳即可,連接方法簡(jiǎn)單。圖37 74HC138封裝圖74ls244由2組、每組四路輸入、輸出構(gòu)成。每組有一個(gè)控制端G,由控制端的高或低電平?jīng)Q定該組數(shù)據(jù)被接通還是斷開。圖38 74LS244引腳圖4硬件設(shè)計(jì)AT89S52主控制模塊DS1302時(shí)鐘模塊LED數(shù)碼管動(dòng)態(tài)掃描顯示模塊鍵盤模塊復(fù)位電路時(shí)鐘電路本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,~。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。可產(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;顯示部份由15個(gè)數(shù)碼管,74Hs1374ls244構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。硬件的結(jié)構(gòu)和可靠性直接影響著整個(gè)系統(tǒng)的可靠性,所以合理的安排電路能提高電子產(chǎn)品的性能。在這里因設(shè)計(jì)分工和側(cè)重點(diǎn)不同,電源模塊用通用的5v變壓器。圖42手動(dòng)復(fù)位電路在系統(tǒng)運(yùn)行的過程中,有時(shí)可能對(duì)系統(tǒng)需要進(jìn)行復(fù)位,為了避免對(duì)硬件系統(tǒng)經(jīng)常加電和斷電造成的損害,設(shè)計(jì)了手動(dòng)的復(fù)位電路。如圖42所示。這種電路的設(shè)計(jì),在系統(tǒng)的運(yùn)行過程中需要復(fù)位時(shí),只需使開關(guān)閉合,在RST端就會(huì)出現(xiàn)一定時(shí)間的高電平信號(hào),從而使單片機(jī)實(shí)現(xiàn)復(fù)位。單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能進(jìn)行工作。MCS51系列單片機(jī)內(nèi)部都有一個(gè)時(shí)鐘振蕩電路,只需外接晶振源,就能產(chǎn)生一定頻率的時(shí)鐘信號(hào)送到單片機(jī)的內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。圖43就是內(nèi)部時(shí)鐘工作方式的電路圖,這是一種常用的方式。這種方式是外界振蕩源,本設(shè)計(jì)就采用這種外接晶振的方法。電路中的兩個(gè)電容的作用有兩個(gè):一是幫助振蕩器起振(C1 C2的值大,起振的速度慢;反之,速度快。);二是對(duì)振蕩器的頻率起到微調(diào)的作用(C1 C2的值大,頻率略有減少,反之,頻率略有提高)。C1 C2的值采用30pF。圖43單片機(jī)內(nèi)部晶振電路連接圖 主電路的功能是完成年、月、日、星期、時(shí)、分、秒之間的轉(zhuǎn)換, 再送往LED顯示,并且接受鍵盤操作,對(duì)日期和時(shí)間進(jìn)行校正。電路原理圖如圖44所示,顯示部分用P0口做為輸出數(shù)據(jù)接到LED數(shù)碼管a到h,并接74ls244做為各段的驅(qū)動(dòng)(為了簡(jiǎn)化電路圖在此用了8個(gè)上拉電阻代替74ls244)。用P3口的低3位接譯碼器的A0,A1,A2端,,,通過控制P3口來控制LED的動(dòng)態(tài)掃描。單片機(jī)的18和19引腳接12MHZ的晶振,并接兩個(gè)22PF的電容同時(shí)接地,單片機(jī)復(fù)位端接一極性電容并連接到電源處,在極性電容的負(fù)極接一10K的電阻,并連接至地做為放電用。本設(shè)計(jì)用到四個(gè)獨(dú)立式鍵盤分別接到P1口的低4位,,,并接兩個(gè)22PF的電容終端和地相連,各芯片的電源部分分別接到有開關(guān)式電源產(chǎn)生的+5V電源上,芯片的接地端都接在公共地上,在這里接電源部分就不再一一詳述。設(shè)計(jì)采用動(dòng)態(tài)顯示,輪流掃描各個(gè)LED使之顯示相應(yīng)的數(shù)型碼,當(dāng)掃描頻率大于人眼所能識(shí)別的頻率時(shí)就看不到閃爍現(xiàn)象。動(dòng)態(tài)顯示的亮度不如靜態(tài)顯示,但靜態(tài)顯示占用的I/O口資源較多,往往用移位寄存器74LS164等來擴(kuò)充其I/O口不足的情況,當(dāng)顯示位數(shù)較多時(shí),這樣勢(shì)必增加硬件開銷,增大成本,不利于開闊市場(chǎng)。本設(shè)計(jì)的突出之處在于硬件電路簡(jiǎn)單,大大減少了硬件開銷,這樣又勢(shì)必增加了軟件開發(fā)的難度,但降低了成本有利于市場(chǎng)的開闊。圖44電路原理圖5軟件設(shè)計(jì)軟件的設(shè)計(jì)是設(shè)計(jì)控制系統(tǒng)的應(yīng)用程序。其任務(wù)是在整體設(shè)計(jì)和硬件設(shè)計(jì)的基礎(chǔ)上,確定程序結(jié)構(gòu),分配內(nèi)RAM資源,劃分功能模塊,然后進(jìn)行主程序和各模塊程序的設(shè)計(jì),最后連接起來成為一個(gè)完整應(yīng)用程序,與硬件相結(jié)合完成相應(yīng)功能。主程序才用模塊化設(shè)計(jì),流程圖如圖51所示。從上面主程序看出,主程序的組成是通過分別調(diào)用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調(diào)用鍵盤完成時(shí)間的調(diào)整,調(diào)用日歷子程序完成日歷時(shí)鐘的初始化和時(shí)間數(shù)據(jù)的讀寫,調(diào)用顯示子程序顯示數(shù)據(jù),最后又轉(zhuǎn)到鍵盤程序來回循環(huán)。初始化部分主要有初始化定時(shí)器部分和和一些寄存器、標(biāo)志位、初始化時(shí)間等。對(duì)定時(shí)器T0初始化時(shí),首先置初值,CPU開中斷,定時(shí)器T0開中斷,并且開始計(jì)數(shù),而對(duì)定時(shí)器T1初始化時(shí),首先置初值,定時(shí)器T1關(guān)中斷,并且停止計(jì)數(shù),只有收到命令時(shí)才能產(chǎn)生中斷。開始初始化T0并開中斷初始化T1并關(guān)中斷寄存器初始化標(biāo)志位初始化初始化時(shí)間調(diào)鍵盤子程序調(diào)日歷子程序調(diào)顯示子程序結(jié)束寄存器的初始化主要是初始化執(zhí)行程序時(shí)用到的部分RAM空間,防止程序執(zhí)行時(shí)帶來混亂。標(biāo)志位初始化是對(duì)時(shí)間調(diào)整時(shí)判斷是調(diào)分還是調(diào)時(shí)等而專設(shè)的位標(biāo)志,初始化過程中標(biāo)志位全部置0,即開始時(shí)是處于顯示狀態(tài),而不是調(diào)整狀態(tài),這一點(diǎn)在程序中相當(dāng)明了。初始化時(shí)間是開機(jī)時(shí)顯示的時(shí)間,并通過調(diào)用日歷時(shí)鐘的寫程序來完成時(shí)間的置初值。圖51程序流程圖多功能鍵盤程序的設(shè)計(jì)是本設(shè)計(jì)的難點(diǎn),也是完成本設(shè)計(jì)的重點(diǎn),當(dāng)有鍵按下時(shí),調(diào)用10ms延時(shí)程序,再判斷是否有鍵按下無則返回,若有先調(diào)用顯示程序再判斷是否松開,否則再轉(zhuǎn)到顯示程序,這樣避免了在按鍵松開之前能正常顯示。其中K1鍵功能最多,通過判斷K1鍵按下的次數(shù)來判斷
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1