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

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

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

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


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

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


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


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


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


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


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

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


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


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


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


3.2.2 子程序的設(shè)計



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

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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