歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

單片機(jī)電子時(shí)鐘的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)

  • 資源ID:86351801       資源大?。?span id="z5wtl5p" class="font-tahoma">400.84KB        全文頁(yè)數(shù):22頁(yè)
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

單片機(jī)電子時(shí)鐘的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)

成都學(xué)院(成都大學(xué))課程設(shè)計(jì)報(bào)告摘 要在今天,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品是滲透到了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。 現(xiàn)代生活的人們非常的重視時(shí)間觀念,對(duì)于那些對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來(lái)說(shuō),時(shí)間的不準(zhǔn)確會(huì)帶來(lái)非常大的麻煩,所以以數(shù)碼管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢(shì)。數(shù)碼管顯示的時(shí)間簡(jiǎn)單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會(huì)導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過(guò)老式機(jī)械鐘。在這次設(shè)計(jì)中,我們采用LED 數(shù)碼管顯示時(shí)、分、秒,以24 小時(shí)計(jì)時(shí)方式,根據(jù)數(shù)碼管動(dòng)態(tài)顯示原理來(lái)進(jìn)行顯示,用12MHz 的晶振產(chǎn)生振蕩脈沖,定時(shí)器計(jì)數(shù)。在此次設(shè)計(jì)中,電路具有顯示時(shí)間的其本功能,還可以實(shí)現(xiàn)對(duì)時(shí)間的調(diào)整。數(shù)字鐘是其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛(ài),因此得到了廣泛的使用。 關(guān)鍵字:數(shù)字電子鐘;單片機(jī) 目 錄摘 要1第1章 緒論11.1研究背景11.1 選題的目的和意義11.2 本課程設(shè)計(jì)的主要內(nèi)容2第2章 單片機(jī)電子時(shí)鐘設(shè)計(jì)方案設(shè)計(jì)32.1 設(shè)計(jì)方案32.1.1 計(jì)時(shí)方案32.2.2 顯示方案32.2.3 鍵盤的基本原理42.3.4 LED顯示器的基本結(jié)構(gòu)與原理7第3章 硬件設(shè)計(jì)93.1 硬件電路93.2 數(shù)字鐘的程序設(shè)計(jì)93.2.1 系統(tǒng)軟件設(shè)計(jì)流程圖103.2.2 主程序103.2.3 定時(shí)器中斷子程序113.2.4 LED顯示子程序123.2.5 按鍵控制子程序12第4章 結(jié)論14參考文獻(xiàn)15附錄1 軟件清單1619 成都學(xué)院(成都大學(xué))課程設(shè)計(jì)報(bào)告第1章 緒論1.1研究背景20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。 時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢(shì)。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 單片機(jī)模塊中最常見(jiàn)的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。 數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵罚瑥V泛用于個(gè)人家庭以及車站、碼頭、劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。1.1 選題的目的和意義單片機(jī)課程設(shè)計(jì)是單片機(jī)課程后續(xù)學(xué)習(xí)階段的一個(gè)重要的實(shí)踐學(xué)習(xí)環(huán)節(jié),它既能增強(qiáng)學(xué)生對(duì)所學(xué)課程內(nèi)容的理解和綜合,也能培養(yǎng)學(xué)生的綜合應(yīng)用及設(shè)計(jì)能力,同時(shí),還可以拓寬課程內(nèi)容和培養(yǎng)創(chuàng)新意識(shí)。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。 1.2 本課程設(shè)計(jì)的主要內(nèi)容本設(shè)計(jì)電子時(shí)鐘主要功能為:自動(dòng)計(jì)時(shí)功能。能顯示計(jì)時(shí)時(shí)間,顯示效果良好。有校時(shí)功能,能對(duì)時(shí)間進(jìn)行校準(zhǔn)。擴(kuò)展功能:具有整點(diǎn)報(bào)時(shí)功能,在整點(diǎn)時(shí)使用蜂鳴器進(jìn)行報(bào)時(shí)。具有定時(shí)鬧鐘功能,能設(shè)定定時(shí)鬧鐘,在時(shí)間到時(shí)能使蜂鳴器鳴叫。第2章 單片機(jī)電子時(shí)鐘設(shè)計(jì)方案設(shè)計(jì)2.1 設(shè)計(jì)方案單片機(jī)電子時(shí)鐘方案選擇主要涉及兩個(gè)方面:計(jì)時(shí)方案和顯示方案。2.1.1 計(jì)時(shí)方案單片機(jī)電子時(shí)鐘計(jì)時(shí)有兩種方法:第一種是通過(guò)單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器,采用軟件編程來(lái)實(shí)現(xiàn)時(shí)鐘計(jì)時(shí),這種實(shí)現(xiàn)的時(shí)鐘一般稱為軟時(shí)鐘,這種方法的硬件線路簡(jiǎn)單,系統(tǒng)的功能一般與軟件設(shè)計(jì)相關(guān),通常用在對(duì)時(shí)間精度要求不高的場(chǎng)合;第二種是采用專用的硬件時(shí)鐘芯片計(jì)時(shí),這種實(shí)現(xiàn)的時(shí)鐘一般稱為硬時(shí)鐘。專用的時(shí)鐘芯片功能比較強(qiáng)大,除了自動(dòng)實(shí)現(xiàn)基本計(jì)時(shí)外,一般還具有日歷和閏年補(bǔ)償?shù)裙δ?,?jì)時(shí)準(zhǔn)確,軟件編程簡(jiǎn)單,但硬件成本相對(duì)較高,通常用在對(duì)時(shí)鐘精度要求較高的場(chǎng)合。2.2.2 顯示方案對(duì)于電子時(shí)鐘而言,顯示是另一個(gè)重要的環(huán)節(jié)。顯示通常采用兩種方式:LED數(shù)碼管顯示和LCD液晶顯示。其中LED數(shù)碼管顯示亮度高,顯示內(nèi)容清晢,根據(jù)具體的連接方式可分為靜態(tài)顯示和動(dòng)態(tài)顯示,在多個(gè)數(shù)碼管時(shí)一般采用動(dòng)態(tài)顯示,動(dòng)態(tài)顯示時(shí)須要占用CPU的大量時(shí)間來(lái)執(zhí)行動(dòng)態(tài)顯示程序,顯示效果往往和顯示程序的執(zhí)行相關(guān)。LCD液晶顯示一般能顯示的信息多,顯示效果好,而且液晶顯示器一般都帶控制器,顯示過(guò)程由自帶的控制器控制,不須要CPU參與,但液晶顯示器造價(jià)相對(duì)較高。為了便于比較與學(xué)習(xí),這里給出兩種設(shè)計(jì)方案,一種是軟件計(jì)時(shí)LED數(shù)碼管顯示的單片機(jī)電子時(shí)鐘,另一種是硬件定時(shí)LCD液晶顯示的單片機(jī)電子時(shí)鐘。軟件計(jì)時(shí)LED數(shù)碼管顯示的單片機(jī)電子時(shí)鐘總體設(shè)計(jì)框圖如圖2-1所示。硬件定時(shí)LCD液晶顯示的單片機(jī)電子時(shí)鐘總體設(shè)計(jì)框圖如圖2-2所示。 圖2-1 軟件計(jì)時(shí)LED顯示時(shí)鐘總體框圖圖2-2 硬件定時(shí)LCD顯示時(shí)鐘總體框圖2.2.3 鍵盤的基本原理鍵盤實(shí)際上是一組按鍵開(kāi)關(guān)的集合,平時(shí)按鍵開(kāi)關(guān)總是處于斷開(kāi)狀態(tài),當(dāng)按下鍵時(shí)它才閉合,按下后可向計(jì)算機(jī)產(chǎn)生一脈沖波。按鍵開(kāi)關(guān)的結(jié)構(gòu)和產(chǎn)生的波形如圖2-3所示。  (a) 鍵盤開(kāi)關(guān)的結(jié)構(gòu) (b) 鍵盤產(chǎn)生的波形圖2-3 鍵盤開(kāi)關(guān)及波形示意圖當(dāng)按鍵開(kāi)關(guān)未按下時(shí),開(kāi)關(guān)處于斷開(kāi)狀態(tài),向P1.1輸入高電平;當(dāng)按鍵開(kāi)關(guān)按下時(shí),開(kāi)關(guān)處于閉合狀態(tài),向P1.1輸入低電平。因此可通過(guò)讀入P1.1的高低電平狀態(tài)來(lái)判斷按鍵開(kāi)關(guān)是否按下。(1)抖動(dòng)的消除在單片機(jī)應(yīng)用系統(tǒng)中,通常按鍵開(kāi)關(guān)為機(jī)械式開(kāi)關(guān),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)往往不會(huì)馬上穩(wěn)定地接通,斷開(kāi)時(shí)也不會(huì)馬上斷開(kāi),因而在閉合和斷開(kāi)的瞬間都會(huì)伴隨著一串的抖動(dòng),如波形如圖2-4所示。按下鍵位時(shí)產(chǎn)生的抖動(dòng)稱為前沿抖動(dòng),松開(kāi)鍵位時(shí)產(chǎn)生的抖動(dòng)稱為后沿抖動(dòng)。如果對(duì)抖動(dòng)不作處理,會(huì)出現(xiàn)按一次鍵而輸入多次,為確保按一次鍵只確認(rèn)一次,必須消除按鍵抖動(dòng)。消除按鍵抖動(dòng)通常有硬件消抖和軟件消抖兩種方法。圖2-4 抖動(dòng)波形示意圖硬件消抖是通過(guò)在按鍵輸出電路上添加一定的硬件線路來(lái)消除抖動(dòng),一般采用R-S觸發(fā)器或單穩(wěn)態(tài)電路,圖2-5是由兩個(gè)與非門組成的R-S觸發(fā)器消抖電路。平時(shí),沒(méi)有按鍵時(shí),開(kāi)關(guān)倒向下方,上面的與非門輸入高電平,下面的與非門輸入低電平,輸出端輸出高電平。當(dāng)按下按鍵時(shí),開(kāi)關(guān)倒向上方,上面的與非門輸入低電平,下面的與非門輸入高電平,由于R-S觸發(fā)器的反饋?zhàn)饔?,使輸出端迅速的變?yōu)榈碗娖剑粫?huì)產(chǎn)生抖動(dòng)波形,而當(dāng)按鍵松開(kāi)時(shí),開(kāi)頭回到下方時(shí)也一樣,輸出端迅速的回到高電平而不會(huì)產(chǎn)生抖動(dòng)波形。經(jīng)過(guò)圖中的R-S觸發(fā)器消抖后,輸出端的信號(hào)就變?yōu)闃?biāo)準(zhǔn)的矩形波。圖2-5 硬件消抖電路軟件消抖是利用延時(shí)程序消除抖動(dòng)。由于抖動(dòng)時(shí)間都比較短,因此可以這樣處理:當(dāng)檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)程序跳過(guò)抖動(dòng),再去檢測(cè),通過(guò)兩次檢測(cè)來(lái)識(shí)別一次按鍵,這樣就可以消除前沿抖動(dòng)的影響。對(duì)于后沿抖動(dòng),由于在接收一個(gè)鍵位后,一般都要經(jīng)過(guò)一定時(shí)間再去檢測(cè)有無(wú)按鍵,這樣就自然跳過(guò)后沿抖動(dòng)時(shí)間而消除后沿抖動(dòng)了。當(dāng)然在第二次檢測(cè)時(shí)有可能發(fā)現(xiàn)又沒(méi)有鍵按下,這是怎么回事呢?這種情況一般是線路受到外部電路干擾使輸入端產(chǎn)生干擾脈沖,這時(shí)就認(rèn)為沒(méi)有鍵輸入。在單片機(jī)應(yīng)用系統(tǒng)中,一般都采用軟件消抖。(2)鍵盤的分類一般來(lái)說(shuō),單片機(jī)應(yīng)用系統(tǒng)的鍵盤可分為兩類:獨(dú)立式鍵盤和行列鍵盤。獨(dú)立式鍵盤就是各按鍵相互獨(dú)立,每個(gè)按鍵各接一根I/O接口線,每根I/O接口線上的按鍵都不會(huì)影響其他的I/O接口線。因此,通過(guò)檢測(cè)各I/O接口線的電平狀態(tài)就可以很容易地判斷出哪個(gè)按鍵被按下了。獨(dú)立式鍵盤如圖2-6所示。獨(dú)立式鍵盤的電路配置靈活,軟件簡(jiǎn)單。但每個(gè)按鍵要占用一根I/O接口線,在按鍵數(shù)量較多時(shí),I/O接口線浪費(fèi)很大。故在按鍵數(shù)量不多時(shí),經(jīng)常采用這種形式。圖2-6 獨(dú)立式鍵盤結(jié)構(gòu)圖行列鍵盤往往又叫矩陣鍵盤。用兩組I/O接口線排列成行、列結(jié)構(gòu),一組設(shè)定為輸入,一組設(shè)定為輸出,鍵位設(shè)置在行、列線的交點(diǎn)上,按鍵的一端接行線,一端接列線。例如,圖2-7是由4根行線和4根列線組成的4´4矩陣鍵盤,行線為輸入,列線為輸出,可管理4´4=16個(gè)鍵。矩陣鍵盤占用的I/O接口線數(shù)目少,如圖2-7中4´4矩陣鍵盤總共只用了8根I/O接口線,比獨(dú)立式鍵盤少了一半的I/O接口線,而且鍵位越多,情況越明顯。因此,在按鍵數(shù)量較多時(shí),往往采用矩陣式鍵盤。矩陣鍵盤的處理一般注意兩個(gè)方面:鍵位的編碼和鍵位的識(shí)別。 (a)二進(jìn)制組合編碼 (b)順序排列編碼圖2-7 矩陣鍵盤的結(jié)構(gòu)圖鍵位的編碼 矩陣鍵盤的編碼通常有兩種:二進(jìn)制組合編碼和順序排列編碼。(1)二進(jìn)制組合編碼如圖2-7(a)每一根行線有一個(gè)編碼,每一根列線也有一個(gè)編碼,圖2-7 (a)中行線的編碼從下到上分別為1、2、4、8,列線的編碼從右到左分別為1、2、4、8,每個(gè)鍵位的編碼直接用該鍵位的行線編碼和列線編碼組合一起得到。圖2-7 (a)中4´4鍵盤從右到左,從下到上的鍵位編碼分別是:11H 、12H、14H 、18H、21H、22H 、24H 、28H、41H、42H、44H、48H、81H、82H、84H、88H。這種編碼過(guò)程簡(jiǎn)單,但得到的編碼復(fù)雜,不連續(xù),處理起來(lái)不方便。(2)順序排列編碼如圖2-7 (b),每一行有一個(gè)行首碼,每一列有一個(gè)列號(hào),圖2-7(b)中4行的行首碼從下到上分別為0、4、8、12,4列的列號(hào)從右到左分別是0、1、2、3。每個(gè)鍵位的編碼用行首碼加列號(hào)得到,即:編碼=行首碼+列號(hào)。這種編碼雖然編碼過(guò)程復(fù)雜,但得到的編碼簡(jiǎn)單,連續(xù),處理起來(lái)方便,現(xiàn)在矩陣鍵盤一般都采用順序編碼的方法。 (3)鍵位的識(shí)別矩陣式鍵盤鍵位的識(shí)別可分為兩步:第一步是首先檢測(cè)鍵盤上是否有鍵按下;第二步是識(shí)別哪一個(gè)鍵按下。檢測(cè)鍵盤上是否有鍵按下的處理方法是:將列線送入全掃描字,讀入行線的狀態(tài)來(lái)判別。其具體過(guò)程如下:P2口低四位輸出都為低電平,然后讀連接行線的P1口低四位,如果讀入的內(nèi)容都是高電平,說(shuō)明沒(méi)有鍵按下,則不用做下一步;如果讀入的內(nèi)容不全為1,則說(shuō)明有鍵按下,再做第二步,識(shí)別是哪一個(gè)鍵按下。識(shí)別鍵盤中哪一個(gè)鍵按下的處理方法是:將列線逐列置成低電平,檢查行輸入狀態(tài),稱為逐列掃描。其具體過(guò)程如下:從P2.0開(kāi)始,依次輸出“0”,置對(duì)應(yīng)的列線為低電平,其它列為高電平,然后從P1低四位讀入行線狀態(tài)。在掃描某列時(shí),如果讀入的行線全為“1”,則說(shuō)明按下的鍵不在此列;如果讀入的行線不全為“1”,則按下的鍵必在此列,而且是該列與“0”電平行線相交的交點(diǎn)上的那個(gè)鍵。為求取編碼,在逐列掃描時(shí),可用計(jì)數(shù)器記錄下當(dāng)前掃描列的列號(hào),檢測(cè)到第幾行有鍵按下,就用該行的行首碼加列號(hào)得到當(dāng)前按鍵的編碼。(4)獨(dú)立式鍵盤與單片機(jī)的接口獨(dú)立式鍵盤每一個(gè)鍵用一根I/O接口線管理,電路簡(jiǎn)單,通常用于鍵位較少的情況下。對(duì)某個(gè)鍵位的識(shí)別通過(guò)檢測(cè)對(duì)應(yīng)I/O線的高低電平來(lái)判斷,根據(jù)判斷結(jié)果直接進(jìn)行相應(yīng)的處理。在MCS-51單片機(jī)系統(tǒng)中,獨(dú)立式鍵盤可直接用P0P3四個(gè)并口中的I/O線來(lái)連接,連接時(shí),如果用的是P1P3口,因?yàn)閮?nèi)部帶上拉電阻,則外部可省力上拉電阻,如果用的是P0口,則須外部帶上接電阻。圖2-8是通過(guò)P1口低4位直接接4個(gè)獨(dú)立式按鍵的電路圖。直接判斷P1口低4位是否為低電平即可判斷相應(yīng)鍵是否按下。 圖2-8 P1口接4個(gè)獨(dú)立式按鍵圖2.3.4 LED顯示器的基本結(jié)構(gòu)與原理LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來(lái)的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是7段或8段式LED數(shù)碼管顯示器,8段式比7段式多一個(gè)小數(shù)點(diǎn)。這里以8段式來(lái)介紹,單個(gè)8段式LED數(shù)碼管顯示器的外觀與引腳如圖2-9(a)所示,其中a,b,c,d,e,f,g和小數(shù)點(diǎn)dp為8段發(fā)光二極管,位置如圖中所示,組成一個(gè)“”形狀。(a) 引腳圖 (b) 共陰極 (c) 共陽(yáng)極圖2-9 8段式LED數(shù)碼管引腳與結(jié)構(gòu)8段發(fā)光二極管的連接有兩種結(jié)構(gòu):共陰極和共陽(yáng)極。如圖2-9所示。其中,圖(b)為共陰極結(jié)構(gòu),8段發(fā)光二極管的陰極端連接在一起,陽(yáng)極端分開(kāi)控制,使用時(shí)公共端接地,要使哪根發(fā)光二極管亮,則對(duì)應(yīng)的陽(yáng)極端接高電平;圖(b)為共陽(yáng)極結(jié)構(gòu),8段發(fā)光二極管的陽(yáng)極端連接在一起,陰極端分開(kāi)控制,使用時(shí)公共端接電源,要使哪根發(fā)光二極管亮,則對(duì)應(yīng)的陰極端接地。LED數(shù)碼管顯示器顯示時(shí),公共端首先要保證有效,即共陰極結(jié)構(gòu)公共端接低電平,共陽(yáng)極結(jié)構(gòu)公共端接高電平,這個(gè)過(guò)程我們稱為選通數(shù)碼管。再在另外一端送要顯示數(shù)字的編碼,這個(gè)編碼稱為字段碼,8位數(shù)碼管字段碼為8位,從高位到低位的順序依次為dp、g、f、e、d、c、b、a。如:共陰極數(shù)碼管數(shù)字“0”的字段碼為00111111B(3FH),共陽(yáng)極數(shù)碼管數(shù)字“1”的字段碼為11111001B(F9H),不同數(shù)字或字符其字段碼不一樣,對(duì)于同一個(gè)數(shù)字或字符,共陰極結(jié)構(gòu)和共陽(yáng)極結(jié)構(gòu)的字段碼也不一樣,共陰極和共陽(yáng)極的字段碼互為反碼,常見(jiàn)的數(shù)字和字符的共陰極和共陽(yáng)極的字段碼如表5.2所示。表5.2 常見(jiàn)的數(shù)字和字符的共陰極和共陽(yáng)極的字段碼顯示字符共陰極字段碼共陽(yáng)極字段碼顯示字符共陰極字段碼共陽(yáng)極字段碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“滅”00FFHB7CH83H第3章 硬件設(shè)計(jì) 3.1 硬件電路軟件計(jì)時(shí)LED數(shù)碼管顯示的時(shí)鐘的具體硬件電路如圖2-10所示,其中單片機(jī)采用應(yīng)用廣泛的AT89C51,系統(tǒng)時(shí)鐘采用12MHz的晶振,8個(gè)數(shù)碼管顯示,小時(shí)與分鐘、分鐘與秒鐘之間用短橫線間隔,采用共陽(yáng)極七段式數(shù)碼管,由于并口上沒(méi)有連接其它的硬件電路,所以P0口直接作段選碼輸出端,P2口作位選碼輸出端。采用簡(jiǎn)化按鍵方式,只設(shè)定3個(gè)開(kāi)關(guān)K0、K1和K2,通過(guò)P1口低3位相連。其中K0鍵為調(diào)時(shí)模式選擇鍵,K1為加1鍵,K2為減1健。圖2-10 軟件計(jì)時(shí)LED顯示時(shí)鐘硬件電路圖3.2 數(shù)字鐘的程序設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問(wèn)題: (1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開(kāi)發(fā)清晰、簡(jiǎn)潔和流程合理; (2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改; (3)建立正確的數(shù)學(xué)模型,通過(guò)仿真提高系統(tǒng)的性能,并選取合適的參數(shù); (4)繪制程序流程圖; (5)合理分配系統(tǒng)資源; (6)為程序加入注釋,提高可讀性,實(shí)施軟件工程; (7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。 3.2.1 系統(tǒng)軟件設(shè)計(jì)流程圖這次的數(shù)字電子鐘設(shè)計(jì)用到很多子程序,它們的流程圖如下所示。 主程序是先開(kāi)始,然后啟動(dòng)定時(shí)器,定時(shí)器啟動(dòng)后在進(jìn)行按鍵檢測(cè),檢測(cè)完后,就可以顯示時(shí)間。圖3-1 軟件流程圖3.2.2 主程序時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。定時(shí)器中斷時(shí)是先檢測(cè)1秒是否到,1秒如果到,秒單元就加1;如果沒(méi)到,就檢測(cè)1分鐘是否到,1分鐘如果到,分單元就加1;如果沒(méi)到,就檢測(cè)1小時(shí)是否到,1小時(shí)如果到,時(shí)單元就加1,如果沒(méi)到,就顯示時(shí)間。圖3-2 主程序流程圖3.2.3 定時(shí)器中斷子程序定時(shí)器中斷時(shí)是先檢測(cè)1秒是否到,1秒如果到,秒單元就加1;如果沒(méi)到,就檢測(cè)1分鐘是否到,1分鐘如果到,分單元就加1;如果沒(méi)到,就檢測(cè)1小時(shí)是否到,1小時(shí)如果到時(shí)單元就加1,如果沒(méi)到,就顯示時(shí)間。3.2.4 LED顯示子程序時(shí)間顯示是先秒個(gè)位計(jì)算顯示,然后是秒十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是時(shí)個(gè)位計(jì)算顯示,最后是時(shí)十位顯示。圖3-3 LED顯示子程序3.2.5 按鍵控制子程序按鍵處理設(shè)置為:如沒(méi)有按鍵,則時(shí)鐘正常走時(shí)。當(dāng)按K0鍵一次,時(shí)鐘暫停走動(dòng)進(jìn)入調(diào)小時(shí)狀態(tài),再按K0鍵一次,進(jìn)入調(diào)分狀態(tài),再按K0鍵一次,回到正常走時(shí);對(duì)于K1和K2按鍵,如果是正常走時(shí),按K1和K2不起作用,如果進(jìn)入調(diào)時(shí)或調(diào)分狀態(tài),按K1可對(duì)時(shí)或分進(jìn)行加1操作,小時(shí)加到24則回到0,分加到60則回到0;按K2可對(duì)時(shí)或分進(jìn)行減1操作,小時(shí)減到負(fù)則回到23,分減到負(fù)則回到59。按鍵處理模塊流程如圖3-4所示。圖3-4 按鍵流程圖第4章 結(jié)論我在這一次數(shù)字電子鐘的設(shè)計(jì)過(guò)程中,很是受益匪淺。通過(guò)對(duì)自己在大學(xué)三年時(shí)間里所學(xué)的知識(shí)的回顧,并充分發(fā)揮對(duì)所學(xué)知識(shí)的理解和對(duì)畢業(yè)設(shè)計(jì)的思考及書面表達(dá)能力,最終完成了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。撰寫論文的過(guò)程也是專業(yè)知識(shí)的學(xué)習(xí)過(guò)程,它使我運(yùn)用已有的專業(yè)基礎(chǔ)知識(shí),對(duì)其進(jìn)行設(shè)計(jì),分析和解決一個(gè)理論問(wèn)題或?qū)嶋H問(wèn)題,把知識(shí)轉(zhuǎn)化為能力的實(shí)際訓(xùn)練。培養(yǎng)了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力。通過(guò)這次課程設(shè)計(jì)我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)⒄n本知識(shí)與實(shí)踐相整合,理論知識(shí)服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。這個(gè)實(shí)驗(yàn)十分有意義 我獲得很深刻的經(jīng)驗(yàn)。通過(guò)這次課程設(shè)計(jì),我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性,也從中得知了很多書本上無(wú)法得知的知識(shí)。我們的學(xué)習(xí)不但要立足于書本,以解決理論和實(shí)際教學(xué)中的實(shí)際問(wèn)題為目的,還要以實(shí)踐相結(jié)合,理論問(wèn)題即實(shí)踐課題,解決問(wèn)題即課程研究,學(xué)生自己就是一個(gè)專家,通過(guò)自己的手來(lái)解決問(wèn)題比用腦子解決問(wèn)題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,理論的問(wèn)題,也就是實(shí)踐性的課題。這種做法既有助于完成理論知識(shí)的鞏固,又有助于帶動(dòng)實(shí)踐,解決實(shí)際問(wèn)題,加強(qiáng)我們的動(dòng)手能力和解決問(wèn)題的能力。參考文獻(xiàn)1 謝維成.楊加國(guó).單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì).北京.清華大學(xué)出版社;第二版2 童詩(shī)白.華成美.模擬電子技術(shù)基礎(chǔ).高等教育出版社.第四版3 沙占友,孟志永.單片機(jī)外圍電路設(shè)計(jì).北京:電子工業(yè)出版社,2006.6 4 顧德英,羅云林.計(jì)算機(jī)控制技術(shù).北京:北京郵電大學(xué)出版社,2009附錄1 軟件清單#include <REG52.H>unsigned char table1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char table2=0x3f,0x3f,0x40,0x3f,0x3f,0x40,0x3f,0x3f;unsigned char table3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char i,a,b;sbitKEY=P17;sbitADD=P16;sbitCLK=P15;sbitLLL=P30;intm=0,n=0,k=0,l=0,j=0;intmm=0,nn=0,kk=0;void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);/*- 定時(shí)器初始化子程序-*/void Init_Timer0(void) TMOD |= 0x01;/使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響/TH0=0x00;/給定初值,這里使用定時(shí)器最大值從0開(kāi)始計(jì)數(shù)一直到65535溢出/TL0=0x00;EA=1; /總中斷打開(kāi)ET0=1; /定時(shí)器中斷打開(kāi)TR0=1; /定時(shí)器開(kāi)關(guān)打開(kāi)void main()Init_Timer0();P3=0x00;while(1)if(!KEY) /如果檢測(cè)到低電平,說(shuō)明按鍵按下 DelayMs(10); /延時(shí)去抖,一般10-20ms if(!KEY) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出 while(!KEY);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待 mm+;/釋放則執(zhí)行需要的程序 if(mm=4) mm=0; if(mm=1) if(!ADD) /如果檢測(cè)到低電平,說(shuō)明按鍵按下 DelayMs(10); /延時(shí)去抖,一般10-20ms if(!ADD) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出while(!ADD);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待 n+;/釋放則執(zhí)行需要的程序 if(!CLK) /如果檢測(cè)到低電平,說(shuō)明按鍵按下 DelayMs(10); /延時(shí)去抖,一般10-20ms if(!CLK) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出 while(!CLK);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待 n-;/釋放則執(zhí)行需要的程序 if(mm=2) if(!ADD) /如果檢測(cè)到低電平,說(shuō)明按鍵按下DelayMs(10); /延時(shí)去抖,一般10-20msif(!ADD) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出while(!ADD);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待k+;/釋放則執(zhí)行需要的程序if(!CLK) /如果檢測(cè)到低電平,說(shuō)明按鍵按下DelayMs(10); /延時(shí)去抖,一般10-20msif(!CLK) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出while(!CLK);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待 k-;/釋放則執(zhí)行需要的程序 if(mm=3)if(!ADD) /如果檢測(cè)到低電平,說(shuō)明按鍵按下DelayMs(10); /延時(shí)去抖,一般10-20ms if(!ADD) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出 while(!ADD);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待 l+;/釋放則執(zhí)行需要的程序 if(!CLK) /如果檢測(cè)到低電平,說(shuō)明按鍵按下DelayMs(10); /延時(shí)去抖,一般10-20ms if(!CLK) /再次確認(rèn)按鍵是否按下,沒(méi)有按下則退出 while(!CLK);/如果確認(rèn)按下按鍵等待按鍵釋放,沒(méi)有釋放則一直等待 l-;/釋放則執(zhí)行需要的程序 for(i=0;i<8;i+) P0=table2i;/table1i; P2=table3i; for(a=10;a>0;a-) for(b=100;b>0;b-); P0=0x00;/*- 定時(shí)器中斷子程序-*/void Timer0_isr(void) interrupt 1 using 1 TH0=(65536-500)/256; /重新賦值 12M晶振計(jì)算,指令周期1uS, TL0=(65536-500)*256; /1mS方波半個(gè)周期500uS,即定時(shí)500次 /溢出然后輸出端取反 if(mm=0) m+; if(m=1000) m=0; n+; if(n=60) n=0;k+; if(k=60) k=0;l+; if(j!=l) if(n<5) LLL=1;else LLL=0; j=l; table20=table1l/10; table21=table1l%10;table23=table1k/10;table24=table1k%10;table26=table1n/10;table27=table1n%10;else if(mm=1)table20=0x40; table21=0x40; table23=0x40; table24=0x40;table26=table1n/10; table27=table1n%10; if(mm=2)table20=0x40; table21=0x40;table23=table1k/10; table24=table1k%10;table26=0x40; table27=0x40; if(mm=3)table20=table1l/10; table21=table1l%10; table23=0x40; table24=0x40; table26=0x40; table27=0x40;/*- uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值 unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是 0255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編,大致延時(shí) 長(zhǎng)度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值 unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是 0255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編-*/void DelayMs(unsigned char t) while(t-) /大致延時(shí)1mS DelayUs2x(245); DelayUs2x(245);

注意事項(xiàng)

本文(單片機(jī)電子時(shí)鐘的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì))為本站會(huì)員(無(wú)***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!