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

正文內(nèi)容

數(shù)字電子時(shí)鐘的設(shè)計(jì)與制作畢業(yè)設(shè)計(jì)-文庫吧

2025-06-08 15:35 本頁面


【正文】 以在更小電源的支持下工作更長的時(shí)間。 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時(shí),十分注意降低其產(chǎn)品的價(jià)格。綜合考慮各種類型的單片機(jī),本設(shè)計(jì)采用AT 公司的AT89C52類型的單片機(jī),改單片機(jī)具有8K可擦除Flash 存儲(chǔ)器,具有高性能和低功耗特性的8位CMOS微控制器;單片機(jī)內(nèi)部Flash允許程序存儲(chǔ)器具有可編程的功能,因此也可以也可以應(yīng)用于常規(guī)編程器;在單芯片未處理器中,具有靈巧的的系統(tǒng)可編程Flash和8bitCPU,使AT89C52成為很多控制系統(tǒng)和嵌入式控制應(yīng)用系統(tǒng)主流的控制芯片。52系列單片機(jī)具有以下標(biāo)準(zhǔn)功能:可擦除Flash存儲(chǔ)空間為8kb,可用內(nèi)部RAM存儲(chǔ)空間具有256kb,同時(shí)具有32 位I/O 口線,片內(nèi)具有數(shù)據(jù)指針2個(gè),具有定時(shí)器三個(gè)計(jì)數(shù)器三個(gè)。除此之外,AT89C52具有可降至0Hz 靜態(tài)邏輯操作,同時(shí)可使兩種軟件選擇節(jié)電模式;在掉電保護(hù)工作方式下,振蕩器將停止工作,并保存RAM中的內(nèi)容,單片機(jī)停止一切工作,除非等到下一個(gè)硬件或中斷復(fù)位后才停止;在空閑工作模式下,CPU工作停止,同時(shí)允許中斷、串口、定時(shí)器/計(jì)數(shù)器和RAM繼續(xù)工作。該單片機(jī)的引腳圖如圖21所示:圖22 AT89C52的引腳圖它一共有40個(gè)引腳,引腳又分為四類。包括主電源引腳Vcc和Vss;時(shí)鐘電路引腳XTAL1和XTAL2;控制信號(hào)引腳RST/VPD,ALE,PSEN,EA以及并行I/O口引腳P0,P1,P2和P3。P3口除可以作為通用的I/O口使用外,其主要的功能是它的第二功能。:串行口輸入,串行口輸出,外部中斷0輸入,外部中斷1輸入,定時(shí)器0的外部輸入,定時(shí)器1的外部輸入,外部數(shù)據(jù)存儲(chǔ)器“寫”信號(hào)輸出和外部數(shù)據(jù)存儲(chǔ)器“讀”信號(hào)輸出。 3 數(shù)字時(shí)鐘硬件電路設(shè)計(jì)本次設(shè)計(jì)利用AT89C52的P0口來控制8位共陰極的數(shù)碼管,由于P0口內(nèi)部沒有上拉電阻,為高阻狀態(tài),所以不能正常的輸出高/低電平,因此P0口在使用時(shí)必須接上上拉電阻。利用兩個(gè)型號(hào)為74HC573的鎖存器來控制數(shù)碼管的段選和位選。單片機(jī)的最小系統(tǒng)包含有晶振電路和上電復(fù)位電路,兩者必不可少。根據(jù)設(shè)計(jì)的要求,采用兩個(gè)四位一體的共陰極數(shù)碼管和一個(gè)單獨(dú)的共陽極數(shù)碼管顯示時(shí)鐘和秒表功能。本設(shè)計(jì)可以只采用4個(gè)按鍵即可全部實(shí)現(xiàn)所要求的功能,因此采用獨(dú)立按鍵的形式。本設(shè)計(jì)還有整點(diǎn)報(bào)時(shí)的功能,故通過控制蜂鳴器來實(shí)現(xiàn)。 最小系統(tǒng)設(shè)計(jì)單片機(jī)要正常運(yùn)行,必須具備一定的硬件條件,其中最主要的就是三個(gè)基本條件:(1)電源正常(2)時(shí)鐘正常(3)復(fù)位正常。單片機(jī)時(shí)鐘內(nèi)部有一個(gè)高增益反向放大器,用于構(gòu)成時(shí)鐘震蕩電路,XTAL1為該放大器的輸入端,XTAL2為放大器的輸出端,但要形成時(shí)鐘還需附加其他的電路。(1)內(nèi)部時(shí)鐘方式利用單片機(jī)內(nèi)部的高增益反相放大器,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路便產(chǎn)生自激振蕩。定時(shí)元件一般采用石英晶體和電容組成的并聯(lián)諧振回路。~12MHz之間任選,電容可在5~30pF之間選擇,電容C1和C2的大小可起頻率微調(diào)的作用,電容大小要和晶體的容性負(fù)載阻抗相匹配,否則不易起振。(2)外部時(shí)鐘方式外部時(shí)鐘方式常用于多機(jī)系統(tǒng),以便各個(gè)單片機(jī)能夠同步工作。對(duì)外部振蕩信號(hào)無特殊要求,但需保證脈沖寬度不小于20ns,且頻率應(yīng)低于單片機(jī)所支持的最高頻率。本次設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,單片機(jī)的內(nèi)外部時(shí)鐘電路如圖31所示: 圖31 內(nèi)部和外部時(shí)鐘電路圖計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。MCS51單片機(jī)有一個(gè)復(fù)位引腳RST,采用施密特觸發(fā)輸入,對(duì)于CHMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)低拉電路。當(dāng)振蕩器起振后,只要該引腳上出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí)即可確保使器件復(fù)位。復(fù)位完成后,如果RST端繼續(xù)保持高電平,單片機(jī)就一直處于復(fù)位狀態(tài),只有RST端恢復(fù)低電平后,單片機(jī)才能進(jìn)入其他工作狀態(tài)。RST端的外部復(fù)位電路有兩種復(fù)位操作形式:上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。(1)上電自動(dòng)復(fù)位電路對(duì)于HMOS型單片機(jī),只要在RST復(fù)位端接一個(gè)電容至VCC和一個(gè)電阻至VSS(地),就能實(shí)現(xiàn)上電自動(dòng)復(fù)位。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定寬度的高電平,只要高電平時(shí)間足夠長,就可以使單片機(jī)有效復(fù)位。RST端在加電時(shí)應(yīng)保持的高電平時(shí)間包括VCC的上升時(shí)間和振蕩器起振的時(shí)間。VCC上升時(shí)間約為10ms,振蕩器起振時(shí)間和頻率有關(guān)。,所以一般為了可靠的復(fù)位,RST在上電時(shí)應(yīng)保持20ms以上的高電平。當(dāng)振蕩頻率為12MHz時(shí),典型值為C=10Uf,R=。(2)按鍵手動(dòng)復(fù)位按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與VCC接通而實(shí)現(xiàn)的;按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生正脈沖來實(shí)現(xiàn)的。本次設(shè)計(jì)采用的是上電自動(dòng)復(fù)位電路,其電路圖如圖32所示:圖32 單片機(jī)上電自動(dòng)復(fù)位電路圖由時(shí)鐘電路和復(fù)位電路組成的單片機(jī)的最小系統(tǒng)如圖33所示:圖33 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖 數(shù)碼管顯示電路的設(shè)計(jì) 單個(gè)數(shù)碼管簡介LED數(shù)碼顯示器是由發(fā)光二極管組成的,其內(nèi)部結(jié)構(gòu)如圖32(c)所示。LED數(shù)碼管有兩種連接方式:(1)共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極與輸入端相連。如圖32(a)所示:(2)共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。如圖32(b)所示:圖34 共陰、陽極數(shù)碼管原理圖 本次設(shè)計(jì)使用的是共陽極數(shù)碼管,共陽極數(shù)碼管的所有陽極全部接在一起,電路連接時(shí),公共端接高電平,因此我們要點(diǎn)亮的那個(gè)發(fā)光二極管就需要給陰極送低電平,此時(shí)顯示數(shù)字的編碼是相反關(guān)系,數(shù)碼管內(nèi)部發(fā)光二極管點(diǎn)亮?xí)r,也需要5mA以上的電流,而且電流不可過大,否則會(huì)燒毀發(fā)光二極管。由于單片機(jī)的I/O口送不出如此大的電流,所以數(shù)碼管與單片機(jī)連接時(shí)需要加驅(qū)動(dòng)電路,可以用上拉電阻的方法或使用專門的數(shù)碼管驅(qū)動(dòng)芯片。 四位一體數(shù)碼管簡介本次設(shè)計(jì)還用到了四位一體的數(shù)碼管,用來顯示時(shí)間。四位一體的數(shù)碼管與單個(gè)的數(shù)碼管有所不同。四位一體的數(shù)碼管共有十二個(gè)引腳,每個(gè)引腳對(duì)應(yīng)著相應(yīng)的段選和位選,如下圖35所示。a~f 對(duì)應(yīng)的是數(shù)碼管的段位,四個(gè)數(shù)碼管所有的段位都連接在一起,即所有的a段連接在一起,所有的b段連接在一起,依次類推。另外標(biāo)號(hào)為1,2,3,4的引腳對(duì)應(yīng)的是相應(yīng)的位選,即通過程序來控制哪一個(gè)或者那幾個(gè)數(shù)碼管亮。圖35 四位一體數(shù)碼管引腳圖 本次設(shè)計(jì)使用了兩個(gè)四位一體的共陰極數(shù)碼管和一個(gè)單獨(dú)的共陽極數(shù)碼管,顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,另外設(shè)計(jì)兩個(gè)數(shù)碼管用來顯示橫,這樣顯示起來比較美觀。LED顯示器的顯示控制方式按驅(qū)動(dòng)方式可分成靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。對(duì)于多位LED顯示器,通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,時(shí)的十位和個(gè)位分別顯示在第一個(gè)和第二個(gè)數(shù)碼管,分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)數(shù)碼管,秒的十位和個(gè)位分別顯示在第七個(gè)和第八個(gè)數(shù)碼管,其余兩個(gè)數(shù)碼管顯示橫線。由于本設(shè)計(jì)還要求時(shí)鐘/秒表之間的相互轉(zhuǎn)換,因此右邊單獨(dú)的數(shù)碼管是用于時(shí)鐘/秒表功能轉(zhuǎn)換的,其硬件連接方式如圖33所示:圖36數(shù)碼管顯示電路圖 蜂鳴器控制電路的設(shè)計(jì)本設(shè)計(jì)要求整點(diǎn)報(bào)時(shí)功能,故采用蜂鳴器來實(shí)現(xiàn)到了幾點(diǎn)就響幾下,本設(shè)計(jì)在早上六點(diǎn)到晚上二十二點(diǎn)之間報(bào)時(shí),其余時(shí)間不報(bào)時(shí)。蜂鳴器有兩種結(jié)構(gòu),有源型和無源型。這里的源不是指電源而是指振蕩源。有源蜂鳴器內(nèi)部帶振蕩源,所以只要一通電就會(huì)叫,而無源蜂鳴器內(nèi)部不帶振蕩源,所以如果用直流信號(hào)驅(qū)動(dòng)他時(shí),無法令其鳴叫,必須用2kHZ~5kHZ的方波信號(hào)去驅(qū)動(dòng)他。而單片機(jī)I/O口輸出的電流比較小,故要使用NPN型三極管來放大電流,以驅(qū)動(dòng)蜂鳴器工作。其控制電路圖如圖37所示: 圖37蜂鳴器控制電路 按鍵控制電路的設(shè)計(jì)鍵盤就是一組按鍵的集合,它是最常用的輸入設(shè)備。操作員通過鍵盤可以輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡單的人機(jī)通信。計(jì)算機(jī)所用的鍵盤按其結(jié)構(gòu)形式可分為編碼鍵盤和非編碼鍵盤。非編碼鍵盤有兩種形式:簡單鍵盤和矩陣式鍵盤。1. 簡單鍵盤簡單鍵盤一般直接用I/O口線外接按鍵構(gòu)成。每個(gè)按鍵單獨(dú)占用一根口線,I/O口線間的工作狀態(tài)互不影響。當(dāng)某一按鍵閉合時(shí),對(duì)應(yīng)口線輸入為低電平,釋放時(shí)為高電平。2. 矩陣式鍵盤簡單鍵盤電路的每個(gè)按鍵開關(guān)占一根I/O口線,當(dāng)按鍵數(shù)目較多時(shí),就要占用較多的I/O口資源,此時(shí)應(yīng)該用矩陣式鍵盤電路。矩陣鍵盤有3X3 9個(gè)鍵,4X4 16個(gè)鍵等的矩陣鍵盤。其檢測原理為:檢測時(shí),先送一列為低電平,其余幾列全為高電平,然后立即輪流檢測一次各行是否有低電平,若檢測到某一行為低電平,則我們便可確認(rèn)當(dāng)前被按下的鍵是哪一行那一列的。用同樣的方法輪流送各列一次低電平,再輪流檢測一次各行是否變?yōu)榈碗娖?,這樣即可檢測完所有的按鍵。當(dāng)有鍵被按下時(shí),便可判斷出按下的鍵是哪一個(gè)鍵。本設(shè)計(jì)由于只需要用到四個(gè)按鍵就可以實(shí)現(xiàn)全部的功能,故采用四個(gè)獨(dú)立的按鍵來控制時(shí)鐘的調(diào)節(jié)和時(shí)鐘/秒表的轉(zhuǎn)換。設(shè)計(jì)的按鍵控制電路如下圖所示:圖38 數(shù)字時(shí)鐘的按鍵控制電路按鍵實(shí)際就是一種常用的按鈕開關(guān),平時(shí)鍵的兩個(gè)觸電處于斷開狀態(tài),按鍵被按下時(shí)兩個(gè)觸電閉合。由于鍵盤上的按鍵都是利用機(jī)械觸點(diǎn)來實(shí)現(xiàn)健的閉合與釋放。由于彈性作用的影響,機(jī)械觸點(diǎn)在閉合及斷開的瞬間均有抖動(dòng)過程,從而也使按鍵輸入電壓信號(hào)也出現(xiàn)抖動(dòng),抖動(dòng)時(shí)間的長短與按鍵的機(jī)械特性相關(guān),一般為5~10ms。為了保證系統(tǒng)對(duì)鍵的一次閉合僅做一次鍵輸入處理,因此不需進(jìn)行消抖處理。一般可用硬件或軟件的方法來消抖,具體方法有:雙穩(wěn)態(tài)消抖電路;濾波消抖電路以及軟件消抖。本設(shè)計(jì)使用的是軟件消抖。所謂軟件消抖,就是在第一次檢測到有按鍵按下時(shí)先不動(dòng)作,延時(shí)一段時(shí)間(一般為5~10ms),再次檢測按鍵的狀態(tài),則確認(rèn)真正有鍵按下,當(dāng)檢測到按鍵釋放后也需要給5~10ms的延時(shí)。~,分別可記為K1~K4。本次設(shè)計(jì)中K3鍵是調(diào)時(shí)間按鍵。若K3健被按下,當(dāng)按K3按鍵按一下時(shí),從左數(shù)第一二位數(shù)碼管即顯示時(shí)位的兩位數(shù)碼管的小數(shù)點(diǎn)亮,即可以通過K1和K2來對(duì)時(shí)位進(jìn)行加減的調(diào)整,K1對(duì)十位進(jìn)行加操作,K2對(duì)十位進(jìn)行減操作。同理,按K3健兩下時(shí)對(duì)分位調(diào)整,按三下時(shí)對(duì)個(gè)位進(jìn)行調(diào)整,按四下即跳出時(shí)間的調(diào)節(jié)。若跳出時(shí)間的調(diào)節(jié)后,K4健被按下,則啟動(dòng)秒表功能。如果沒有跳出對(duì)時(shí)間的調(diào)節(jié),則無論怎樣按K4健,秒表功能都無法啟動(dòng)。在秒表功能下,按K1按鍵,則秒表開始工作,再按K1則秒表停止計(jì)時(shí);若按K2健,則秒表清零;如果再按K4健則跳出秒表,則轉(zhuǎn)換為時(shí)鐘工作狀態(tài)。整個(gè)設(shè)計(jì)的硬件電路就由這幾部分組成:一個(gè)單片機(jī)的最小系統(tǒng),包括晶振電路和上電自動(dòng)復(fù)位電路;一個(gè)數(shù)碼管顯示電路;一個(gè)蜂鳴器控制電路和一個(gè)按鍵控制電路,構(gòu)成了整體的設(shè)計(jì)電路。整體設(shè)計(jì)的電路圖如圖39所示。圖39 數(shù)字時(shí)鐘的總體設(shè)計(jì)電路4 數(shù)字時(shí)鐘的軟件設(shè)計(jì)本次設(shè)計(jì)所實(shí)現(xiàn)的要求有:用六位LED數(shù)碼管顯示時(shí)、分、秒;以24h(小時(shí))計(jì)時(shí)方式;白天整點(diǎn)報(bào)時(shí),晚上22點(diǎn)后不報(bào)時(shí);可實(shí)現(xiàn)時(shí)分調(diào)整、秒表功能轉(zhuǎn)換;可實(shí)現(xiàn)時(shí)分調(diào)整、時(shí)鐘功能轉(zhuǎn)換。根據(jù)設(shè)計(jì)要求,所編寫的程序除了主程序外還包括的子程序有數(shù)碼管顯示子程序;按鍵檢測子程序;蜂鳴器報(bào)時(shí)子程序還有中斷函數(shù)。數(shù)碼管顯示子程序通過控制P0口以及兩個(gè)鎖存器向數(shù)碼管分別輸送斷碼和位碼,來實(shí)現(xiàn)時(shí)鐘和秒表的顯示;—,以實(shí)現(xiàn)時(shí)鐘的調(diào)整和時(shí)鐘/秒表功能的轉(zhuǎn)換;。通過中斷函數(shù)來精確定時(shí)。此次設(shè)計(jì)采用C語言來編程。C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都要C語言編程,如各種單片機(jī)、DSP、ARM等。C語言程序本身不依賴于機(jī)器硬件系統(tǒng),不需要對(duì)C語言程序做修改或者僅僅只是很簡單的修改就可以將C語言程序從一個(gè)系統(tǒng)一直到另外一個(gè)完全不同的系統(tǒng)中。C語言不僅支持浮點(diǎn)運(yùn)算還提供了很多數(shù)學(xué)函數(shù),其開發(fā)的高效性在很大程度上縮短了開發(fā)的時(shí)間,程序的可維護(hù)性和可讀性大大增加。對(duì)單片機(jī)使用C51編程跟匯編ASM51編程相比有很多優(yōu)點(diǎn):,而C語言則不需要有任何的了解就可以直接進(jìn)行編程。,函數(shù)可以分成不同的類型,使程序的結(jié)構(gòu)簡單明了。、寄存器分配及數(shù)據(jù)類型等。,其數(shù)據(jù)處理能力很強(qiáng)大,使用起來很方便。,可以直接由一個(gè)系統(tǒng)移入另一個(gè)系統(tǒng)。C語言常用語法不多,尤其是單片機(jī)C語言常用語法更少,初學(xué)者沒有必要再系統(tǒng)地將C語言重學(xué)一遍,只需要在實(shí)踐中遇到難點(diǎn)時(shí)適當(dāng)?shù)夭殚咰語言書籍里的相關(guān)內(nèi)容。C語言僅僅是一個(gè)開發(fā)工具,其本身并不難,難的是如何在將來開發(fā)龐大系統(tǒng)中靈活應(yīng)用C語言的正確邏輯編寫出結(jié)構(gòu)完善的程序。綜合以上C語言的優(yōu)點(diǎn),故本次程序編寫采用C語言編寫。下面分別對(duì)主程序和相應(yīng)的子程序做簡要的介紹。 主程序設(shè)計(jì)編寫程序必須要理清思路,邏輯正確,而繪制流程圖可以使程序的思路簡單清晰,有利于編寫程序。此次的數(shù)字電子鐘設(shè)計(jì)的主程序流程圖如圖41所示。開始啟動(dòng)定時(shí)器時(shí)間顯示按鍵檢測
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1