當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]摘要:文章簡(jiǎn)述了系統(tǒng)各模塊方案的論證與選擇的相關(guān)內(nèi)容。文中在對(duì)本系統(tǒng)的各個(gè)模塊的方案進(jìn)行論證與實(shí)際應(yīng)用相比較的基礎(chǔ)上,最終方案選用AT89C52作為主控制系統(tǒng)來(lái)控制時(shí)鐘的準(zhǔn)時(shí)運(yùn)轉(zhuǎn),采用獨(dú)立式按鍵控制本設(shè)計(jì)系統(tǒng)

摘要:文章簡(jiǎn)述了系統(tǒng)各模塊方案的論證與選擇的相關(guān)內(nèi)容。文中在對(duì)本系統(tǒng)的各個(gè)模塊的方案進(jìn)行論證與實(shí)際應(yīng)用相比較的基礎(chǔ)上,最終方案選用AT89C52作為主控制系統(tǒng)來(lái)控制時(shí)鐘的準(zhǔn)時(shí)運(yùn)轉(zhuǎn),采用獨(dú)立式按鍵控制本設(shè)計(jì)系統(tǒng)將要實(shí)現(xiàn)的全部功能,選用LCD液晶動(dòng)態(tài)掃描來(lái)顯示時(shí)間。并對(duì)系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行分析,同時(shí),對(duì)系統(tǒng)的軟件設(shè)計(jì)進(jìn)行分析。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);I/O口;多功能;數(shù)字鐘;模塊

0 引言
    隨著科技的發(fā)展,電子技術(shù)也在不斷地向前飛速發(fā)展。本設(shè)計(jì)是制作一款多功能數(shù)字鐘,其具有顯示年、月、日,時(shí)、分、秒、星期及鬧鐘功能,而且秒、分、時(shí)、日、月、年可自動(dòng)關(guān)聯(lián)進(jìn)位。秒具備清零功能,分、時(shí)、日、月、年可自動(dòng)修改、手動(dòng)設(shè)置等功能。它是以一塊AT89S52芯片作為主控模塊,采用DS1302作為定時(shí)來(lái)源的多功能數(shù)字鐘。多功能數(shù)字鐘結(jié)構(gòu)較簡(jiǎn)單,因此便于操作使用。它具有高度的智能化和集成化,是現(xiàn)代人辦公、生活、學(xué)習(xí)的好幫手,具有廣闊的市場(chǎng)前景。同時(shí),它具有鬧鈴和播放音樂等功能,由于這些完善的功能,它必將越來(lái)越受到社會(huì)各界人士的歡迎。

1 系統(tǒng)方案的論證與選擇
1.1 各模塊方案的論證與選擇
1.1.1 主控模塊的論證與選擇
    方案一:采用8031芯片。8031芯片內(nèi)部無(wú)ROM,需要外擴(kuò)程序存儲(chǔ)器,由此造成電路焊接的困難,況且使用8031還需要另外購(gòu)買其他的芯片,從而造成成本較高,性價(jià)比低。
    方案二:采用89C51芯片。80C51芯片內(nèi)部有ROM,且片內(nèi)ROM全部采用Flash ROM,它能在3V的超低壓工作,與MCS-51系列單片機(jī)完全兼容,但是其不具備ISP在線編程技術(shù),需把程序編寫好以后再放到編程器中燒寫,才可以進(jìn)行硬件電路的調(diào)試,倘若程序編寫出現(xiàn)問題,調(diào)試電路就較麻煩,而且其芯片內(nèi)存也只有4kB。
    方案三:采用AT89S52芯片。該芯片內(nèi)部既有Flash ROM,又與MCS-51兼容,而且ISP在線編程技術(shù)適用于AT89S52芯片,這樣既降低了成本也無(wú)需反復(fù)插拔芯片,可避免損壞芯片;而且它的性能穩(wěn)定,且內(nèi)存達(dá)8kB。
    經(jīng)過三種方案的比較,方案三主要容量較大,具有成本低的優(yōu)點(diǎn)。因此主模塊采用AT89S52。
1.1.2 顯示模塊的論證與選擇
    方案一:點(diǎn)陣顯示。是由八行八列的LED管集成在一塊電路上組成,主要用來(lái)顯示漢字,同時(shí)也能顯示數(shù)字和少量圖象,但它的焊接較麻煩,價(jià)格高,鑒于所設(shè)計(jì)的內(nèi)容要求用它不切實(shí)際,所以排除此方案。
    方案二:LED數(shù)碼管靜態(tài)顯示。此方案電路容易理解且驅(qū)動(dòng)的程序簡(jiǎn)單,但需多片七段譯碼器驅(qū)動(dòng)顯示,這不僅增加了成本,還占用單片機(jī)多個(gè)I/O口,也給電路的焊接帶來(lái)一定的困難,因此不選用此方案。
    方案三:采用LED數(shù)碼管動(dòng)態(tài)掃描顯示。此方案價(jià)格低廉,不僅減少了對(duì)I/O口的浪費(fèi),而且能夠同時(shí)驅(qū)動(dòng)多個(gè)數(shù)碼管。但其驅(qū)動(dòng)程序不容易編寫和理解。
    方案四:采用LCD液晶顯示。由ks0108驅(qū)動(dòng),能顯示大量數(shù)據(jù)、文字、圖形,顯示的位數(shù)多,字體清晰多樣、美觀,而且外部接線較簡(jiǎn)單。
    經(jīng)過四種方案的比較,本設(shè)計(jì)主要顯示字體較多,因此,最后選擇了方案四。
1.1.3 控制按鍵的論證與選擇
    方案一:選取陣列式按鍵,減少了I/O口的使用,且掃描M×N個(gè)按鍵只需占用M+N個(gè)I/O口即可實(shí)現(xiàn),但給編程帶來(lái)了一定的困難,雖然節(jié)省了很多的口線,降低了成本,但在此設(shè)計(jì)中所用的按鍵要盡量少,因此排除此方案。
    方案二:獨(dú)立式按鍵,每個(gè)按鍵實(shí)現(xiàn)一個(gè)功能,易于控制且編寫程序簡(jiǎn)單,容易理解,雖然會(huì)占用一定的單片機(jī)I/O口資源,但是題目中要求使用的按鍵要盡量少。
    通過以上兩種方案比較,采用方案二。
1.2 系統(tǒng)各模塊的最終方案
    經(jīng)過以上對(duì)本系統(tǒng)各模塊的方案進(jìn)行論證與實(shí)際應(yīng)用相比較,本設(shè)計(jì)電路最終選用AT89C52作為主控系統(tǒng)來(lái)控制時(shí)鐘的準(zhǔn)時(shí)運(yùn)轉(zhuǎn),采用獨(dú)立試按鍵控制本設(shè)計(jì)系統(tǒng)將要實(shí)現(xiàn)的全部功能,選用LCD動(dòng)態(tài)掃描來(lái)顯示時(shí)間。本設(shè)計(jì)選擇最優(yōu)的方案,并設(shè)計(jì)出如圖1所示的系統(tǒng)框圖。


    如圖1所示,系統(tǒng)的整個(gè)控制流程是:由單片機(jī)AT89C52的內(nèi)部程序定時(shí)控制LCD使之顯示出本文所要實(shí)現(xiàn)的效果,當(dāng)計(jì)時(shí)到整點(diǎn)時(shí)單片機(jī)發(fā)出一條命令去控制喇叭進(jìn)行整點(diǎn)報(bào)時(shí),若出現(xiàn)特殊狀況,比如突然斷電則單片機(jī)將會(huì)停止工作,從而會(huì)造成時(shí)間的不準(zhǔn)確,所以加一組鍵盤便于隨時(shí)修正時(shí)間使時(shí)間能夠準(zhǔn)時(shí)計(jì)時(shí)。此外,為了使所設(shè)計(jì)的數(shù)字鐘秒表更為準(zhǔn)確,本系統(tǒng)電路又添加了時(shí)鐘芯片DS1302,此芯片計(jì)時(shí)精度非常高,一個(gè)星期誤差只有3s。添加了此芯片使本系統(tǒng)更具實(shí)用性。

2 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
    本設(shè)計(jì)的多功能時(shí)鐘主要由四個(gè)模塊組成,其核心元件是一塊單片機(jī)AT89C52,并采用了誤差小的時(shí)鐘芯片DS1302作時(shí)鐘定時(shí),它一星期的誤差只有為3s。
    系統(tǒng)主要通過單片機(jī)AT89C52對(duì)各個(gè)模塊進(jìn)行實(shí)時(shí)控制,其中P3.1\P3.1\P3.2用來(lái)接獨(dú)矩陣式按鍵,此模塊用于控制電路以便于實(shí)現(xiàn)預(yù)期要實(shí)現(xiàn)的各個(gè)功能:P1和P2口用來(lái)接LCD進(jìn)行動(dòng)態(tài)顯示,利用AT89C52單片機(jī)直接控制LCD來(lái)實(shí)現(xiàn)對(duì)LCD的動(dòng)態(tài)掃描顯示,其中驅(qū)動(dòng)LCD用芯片KS0108;P2.0\P2.1\P2.2還接了時(shí)鐘芯片DS1302的第5、7、6腳作定時(shí)用;本系統(tǒng)還有一部分是鬧鈴,鬧鈴用普通蜂鳴器即可,外加三極管電阻對(duì)其聲音進(jìn)行放大。
2.1 主控制模塊電路的設(shè)計(jì)
    主控模塊電路的電路如圖2所示。


    如圖2所示,本次設(shè)計(jì)的多功能數(shù)字鐘采用一塊AT89C52作為主控模塊,還用到了轉(zhuǎn)換芯片DS1302,主要是對(duì)實(shí)現(xiàn)定時(shí)電路進(jìn)行信號(hào)交換。在單片機(jī)工作之前,我們必須給它一個(gè)電源(5V)和連接一些需要連接的地方。比如第18、19引腳之間要給它接上一個(gè)12MHz的晶振和兩個(gè)33pF的電容。第31引腳要接上電源,第9引腳要接上復(fù)位電路。第20引腳要接地,第40引腳要接上電源。DS1302芯片主要用于電路的轉(zhuǎn)換。單片機(jī)剩下的P0口、P3口、和P2口分別用于其他功能。同時(shí)要指出的是在使用P0口時(shí)要給它接上上拉電阻,這樣單片機(jī)的驅(qū)動(dòng)能力就會(huì)大大增強(qiáng)。P3口是復(fù)用功能,可以用做數(shù)據(jù)的傳輸和地址線。特別要強(qiáng)調(diào)的是這里只能用高8位做數(shù)據(jù)線。P2口內(nèi)部已經(jīng)具備了上拉電阻,因此不用再加上拉電阻了。這些都是上電之前要做好的一些前提條件,如果忽視了哪一點(diǎn),都可能使單片機(jī)不能正常工作,或者說容易燒壞單片機(jī)。
2.2 LCD顯示模塊電路的設(shè)計(jì)
    顯示電路圖如圖3所示。從圖3中可以觀察到,單片機(jī)P1口連接LCD的D0-D7, LCD的第1、2腳分別接電源和地,然后由單片機(jī)AT89C52載入程序用以控制LCD,由此來(lái)顯示相應(yīng)的文字。


    為了線路的簡(jiǎn)便,本顯示模塊只用到一塊LCD(128×64)的液晶顯示器。另外,為了使程序更簡(jiǎn)單,還使用了一塊液晶的控制器芯片KS0108來(lái)驅(qū)動(dòng)LCD,這樣當(dāng)編寫程序時(shí)就省去了編寫LCD的驅(qū)動(dòng)程序,大大減少了設(shè)計(jì)的時(shí)間段,這樣既省時(shí)間又不會(huì)使電路變復(fù)雜。
2.3 鬧鈴與按鍵模塊電路的設(shè)計(jì)
    鬧鈴電路如圖4所示。本電路比較簡(jiǎn)單,只用普通的蜂鳴器接至AT89C52由它進(jìn)行控制,從圖4可以看出單片機(jī)P3.0口接喇叭的正極,為了使蜂鳴器的聲音大些,P3.0口信號(hào)輸出端接上一個(gè)電阻和一個(gè)三極管用于放大聲音信號(hào),蜂鳴器的負(fù)極直接接地,按鍵模塊用到了三個(gè)按鈕和三個(gè)電阻。單片機(jī)的P3.1\P3.2\P3.3與三個(gè)按鈕相連。按鈕的另一端接喇叭的 負(fù)極。其中按鈕的功能是隨時(shí)調(diào)整時(shí)間以及調(diào)
整鬧鐘。


2.4 DS1302時(shí)鐘模塊的設(shè)計(jì)
2.4.1 引腳功能及結(jié)構(gòu)
    圖5所示為DS1302的引腳圖。其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1正0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc大于或等于2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK始終是輸入端。


2.4.2 DS1302與CPU的連接
    DS1302與CPU的連接電路如圖6所示。DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。時(shí)鐘的顯示用LCD。實(shí)際上,在調(diào)試程序時(shí)可以不加電容器,只加一個(gè)32.768kHz的晶振即可。只是選擇晶振時(shí),不同的晶振,誤差也較大(還可以在上面的電路中加入DS18 B20,同時(shí)顯示實(shí)時(shí)溫度)。只要占用CPU一個(gè)口線即可。LCD還可以換成LED,因?yàn)長(zhǎng)ED無(wú)法顯示較復(fù)雜的字符而本設(shè)計(jì)有用到字符顯示,因此系統(tǒng)選用LCD,其特點(diǎn)是可顯示任意字段筆劃(比如星期)而且顯示清晰。


    為了初始化任何數(shù)據(jù)的傳輸,引腳信號(hào)應(yīng)由低變高,并且應(yīng)將具有地址和控制信息的8位數(shù)據(jù)(控制字節(jié))裝入芯片的移位寄存器內(nèi),數(shù)據(jù)的讀寫可以用單字節(jié)或多字節(jié)的突發(fā)模式方式進(jìn)行。所有的數(shù)據(jù)應(yīng)在時(shí)鐘的下降沿變化,而在時(shí)鐘的上升沿,芯片或與之相連的設(shè)備進(jìn)行輸入。

3 系統(tǒng)的軟件設(shè)計(jì)
3.1 系統(tǒng)軟件概述
3.1.1 DS1302的命令字節(jié)
    命令字節(jié)的格式如圖7所示,每次數(shù)據(jù)的傳輸都是由命令字節(jié)開始的,這里的最高有效位必須是1。D6是RAM(為1)或時(shí)鐘/日歷(為0)的標(biāo)識(shí)位。D1~D5定義片內(nèi)寄存器的地址。最低有效位(D0)定義了寫操作(為0時(shí))或讀操作(為1時(shí))。命令字節(jié)的傳輸始終從最低有效位開始。


3.1.2 DS1302的控制字節(jié)
    DS1302的控制字節(jié)如圖7所示。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。


    (1)數(shù)據(jù)的寫入或讀出。對(duì)芯片的所有寫入或讀出操作都是由命令字節(jié)為引導(dǎo)的。每次僅寫入或讀出1B數(shù)據(jù)的操作稱為單字節(jié)操作。每次對(duì)時(shí)鐘/日歷的8B或31個(gè)RAM字節(jié)進(jìn)行全體寫入或讀出稱為多字節(jié)突發(fā)模式操作。包括命令字節(jié)在內(nèi),對(duì)于單字節(jié)操作,每次需要16個(gè)時(shí)鐘;對(duì)于時(shí)鐘/日歷多字節(jié)突發(fā)模式操作,每次需要72個(gè)時(shí)鐘;而對(duì)于RAM多字節(jié)突發(fā)模式操作,每次則需要多達(dá)256個(gè)時(shí)鐘。單字節(jié)傳送操作格式如圖8所示。多字節(jié)突發(fā)模式操作格式如圖9所示。


    (2)時(shí)鐘/日歷寄存器數(shù)據(jù)格式及功能定義。訪問DS1302片內(nèi)各寄存器數(shù)據(jù)格式如表1所示。表中x表示任意,可為0或1。
3.2 流程圖
3.2.1 主程序流程圖


3.2.2 子程序的設(shè)計(jì)



4 結(jié)語(yǔ)
    本多功能數(shù)字鐘系統(tǒng)電路主要是由數(shù)字集成芯片DS1302和單片機(jī)AT89C52實(shí)現(xiàn)的,具有年、月、曰及星期的顯示及設(shè)定功能,同時(shí),具有時(shí)、分、秒的顯示及進(jìn)位功能??稍O(shè)定中斷按鍵,即設(shè)定鬧鈴按鍵和調(diào)整時(shí)間的按鍵以及其它功能的按鍵。能顯示當(dāng)前的時(shí)間、星期及年、月、日,同一時(shí)刻可以設(shè)置鬧鐘。當(dāng)輸入的時(shí)間與設(shè)定的時(shí)間一致時(shí),蜂鳴器就會(huì)發(fā)出報(bào)警聲,還可以播放音樂即為鬧鐘的鈴聲。它有很強(qiáng)的實(shí)用性和較廣泛的推廣應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉