第一篇:南昌大學(xué)課程設(shè)計(jì)-數(shù)字鐘總結(jié).
這次課程設(shè)計(jì)是對(duì)這學(xué)期數(shù)字邏輯課程所學(xué)內(nèi)容的一次綜合練習(xí)從中不僅強(qiáng)化了我對(duì)教 材中知識(shí)的理解和掌握。而且也拓展了我在數(shù)字電子技術(shù)方面的知識(shí) 和對(duì)自己所學(xué)專業(yè)的 認(rèn)識(shí)。課程設(shè)計(jì)更是一個(gè)把所學(xué)知識(shí)應(yīng)用于實(shí)踐的過(guò)程 它對(duì)我動(dòng)手能力的提高不言而喻。同時(shí)我從這次課設(shè)中知道 知識(shí)不僅僅是寫(xiě)在書(shū)本上的文字和死板的理論 它更是指導(dǎo)我 們實(shí)踐的工具。一些比較簡(jiǎn)單的邏輯器件 經(jīng)過(guò)一定的理論知識(shí)分析 將它們組合在一起 就構(gòu)成了我們生活中普遍應(yīng)用 幾乎必不可少的電子時(shí)鐘。完成課程設(shè)計(jì)的任務(wù)以后 看到 自己的成果感到很有成就感 從而加強(qiáng)了自己對(duì)本課程的興趣 更加有利于對(duì)本課程方面 知識(shí)的進(jìn)一步拓展性學(xué)習(xí)。
通過(guò)這次對(duì)數(shù)字鐘的設(shè)計(jì)與制作,讓我了解了設(shè)計(jì)電路的程序,也讓我了解了關(guān)于
數(shù)字鐘的原理與設(shè)計(jì)理念, 要設(shè)計(jì)一個(gè)電路總要先用仿真仿真成功之后才實(shí)際接線 的。但是最后的成品卻不一定與仿真時(shí)完全一樣,因?yàn)?再實(shí)際接線中有著各種各
樣的條件制約著。而且,在仿真中無(wú)法成功的電路接法,在實(shí)際中因?yàn)樾酒旧淼?/p>
特性而能夠成功。所以, 在設(shè)計(jì)時(shí)應(yīng)考慮兩者的差異, 從中找出最適合的設(shè)計(jì)方法。
通過(guò)這次學(xué)習(xí),讓我對(duì)各種電路都有了大概的了解,所以說(shuō),坐而言不如立而行, 對(duì)于這些電路還是應(yīng)該自己動(dòng)手實(shí)際操作才會(huì)有深刻理解。
通過(guò)此次課程設(shè)計(jì), 總體來(lái)說(shuō), 收獲頗豐, 無(wú)論是在培養(yǎng)自己的實(shí)驗(yàn)動(dòng)手能力還是培養(yǎng)自己 的性情方面。在此次的數(shù)字鐘設(shè)計(jì)過(guò)程中 , 更進(jìn)一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的 工作原理和其具體的使用方法.在連接六進(jìn)制 , 十進(jìn)制 , 六十進(jìn)制的進(jìn)位及二十四進(jìn)制的接法 中 , 要求熟悉邏輯電路及其芯片各引腳的功能 , 那么在電路出錯(cuò)時(shí)便能準(zhǔn)確地找出錯(cuò)誤所在并 及時(shí)糾正了.在設(shè)計(jì)電路中 , 往往是先仿真后連接實(shí)物圖 , 但有時(shí)候仿真和電路連接并不是完 全一致的 , 因此仿真圖和電路連接圖還是有一定區(qū)別的, 所以在連接線路是就要求非常認(rèn)真, 要清楚了解各個(gè)連接點(diǎn)之間的關(guān)系, 這樣才能在實(shí)際焊接過(guò)程中得心應(yīng)手, 取得事半功倍的 效果.在設(shè)計(jì)電路的連接圖中出錯(cuò)的主要原因都是接線和芯片的接觸不良以及接線的焊點(diǎn)所 引起的.在焊接過(guò)程中,組員間配合的非常好,進(jìn)度相當(dāng)快,雖然在其中幾個(gè)焊接中遇到幾 點(diǎn)非常困難的地方, 但是還是被我們解決了, 這就是團(tuán)隊(duì)的力量。在開(kāi)始的設(shè)計(jì)和最后的調(diào) 試過(guò)程是漫長(zhǎng)的,有時(shí)我們?yōu)榱艘粋€(gè)問(wèn)題要找很長(zhǎng)時(shí)間, 甚至要熬夜、顧不上吃飯等, 我們 既要在計(jì)算機(jī)前收集資料,又要在實(shí)驗(yàn)室驗(yàn)證,這個(gè)過(guò)程非常辛苦,但是也非常快樂(lè)。最后 我們通過(guò)兩個(gè)星期的艱苦奮斗, 終于完成了數(shù)字表和直流穩(wěn)壓電源的制作, 并調(diào)試成功, 為 此我們感到無(wú)比的自豪。
在這次多功能數(shù)字鐘設(shè)計(jì)制作與調(diào)試過(guò)程中, 讓我更加清楚了設(shè)計(jì)電路的程序, 懂得了數(shù)字 鐘的原理與設(shè)計(jì)理念, 這次實(shí)習(xí)使我對(duì)所學(xué)知識(shí)進(jìn)一步鞏固, 提高了自己的動(dòng)手能力, 增加 了對(duì)電路設(shè)計(jì)的興趣。在整過(guò)過(guò)程中讓我學(xué)到了很多, 特別是將打印好的電路貼在打磨好的 電板那一面時(shí)失敗了三次, 讓我明白了這是一個(gè)細(xì)致的工程, 要相當(dāng)好的耐心和信心, 而且 做事要仔細(xì)謹(jǐn)慎。這次實(shí)習(xí)的主要任務(wù)是印制電路板、元件安裝、電路焊接以及結(jié)果調(diào)試。剛開(kāi)始是繪制 PCB 圖紙,由于對(duì)電路繪圖軟件的不熟悉,就采用了老師繪制的 PCB 圖紙。在直接將 PCB 圖紙印制到電路板上的時(shí)候出了很多問(wèn)題.PCB 圖紙很容易就損壞,但沒(méi)用注 意這些,浪費(fèi)了好幾張 PCB 圖紙。還有在用加熱器將 PCB 圖紙印制到電路板時(shí),對(duì)加熱時(shí) 間和加熱溫度拿捏不準(zhǔn), 而且對(duì)操作流程不熟悉, 因此也損壞了很多張圖紙。腐蝕時(shí)考慮到 腐蝕液是三氯化鐵溶液具有強(qiáng)烈的腐蝕性, 所以在腐蝕前要在電板上鉆個(gè)小孔, 用導(dǎo)線把電 板系住,方便電板的取出。腐蝕時(shí)一定要小心,并將裝溶液容器的蓋子蓋上 , 同時(shí)要時(shí)刻檢 查腐蝕的進(jìn)程, 在檢查的過(guò)程中不要讓溶液從容器中沾出來(lái)。如果電
板面上紅色的銅完全退 卻,表明已經(jīng)腐蝕完,可以拿出來(lái)了。在鉆孔時(shí)也遇到了不少問(wèn)題,由于孔很多又比較小, 鉆孔時(shí)要特別的仔細(xì)和耐心。期間鉆偏了好幾個(gè)孔,但沒(méi)有損壞電路。在電路焊接以及結(jié) 果調(diào)試過(guò)程中, 由于電路焊接有過(guò)幾次實(shí)習(xí), 懂得基本的操作方法,操作起來(lái)比較輕松,但 最后整個(gè)電路板的焊得還是不夠好。還有在調(diào)試過(guò)程中遇到了不少問(wèn)題, 主要是校時(shí)按鈕裝 反了,在測(cè)試時(shí)按下去沒(méi)有進(jìn)位信號(hào),就用萬(wàn)能表測(cè)試了下請(qǐng)教了些同學(xué),然后改正電路, 最后得到了預(yù)期的結(jié)果??偟卣f(shuō)來(lái), 本次實(shí)習(xí)自己還是比較滿意, 雖然期間經(jīng)歷幾次失敗, 但積極的改正了錯(cuò)誤, 最終達(dá)到了預(yù)期的目的。在整個(gè)過(guò)程中請(qǐng)教了創(chuàng)新基地的同學(xué), 學(xué)到 了不少的東西, 同時(shí)老師給予了不少指導(dǎo), 讓我更加順利完成了此次實(shí)習(xí)。整個(gè)實(shí)習(xí)讓我看 到了自己的不足,督促自己更好的學(xué)習(xí)基礎(chǔ)知識(shí)。
第二篇:數(shù)字鐘課程設(shè)計(jì)
晶體振蕩器電路
晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的32768Hz的脈沖,可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定。不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶體振蕩器電路。分頻器電路
分頻器電路將32768Hz的高頻方波信號(hào)經(jīng)74LS4060和74LS250的二分頻的分頻后得到1Hz的方波信號(hào),可以供秒計(jì)數(shù)器進(jìn)行計(jì)數(shù)。分頻器實(shí)際上也就是計(jì)數(shù)器。時(shí)間計(jì)數(shù)器電路
時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器及時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器電路構(gòu)成,其中秒個(gè)位和秒十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器可以設(shè)計(jì)為12進(jìn)制計(jì)數(shù)器或者24進(jìn)制計(jì)數(shù)器,我們這里根據(jù)自己的意愿設(shè)計(jì)成24進(jìn)制計(jì)數(shù)器。譯碼驅(qū)動(dòng)電路
譯碼驅(qū)動(dòng)電路將計(jì)數(shù)器輸出的8421BCD碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流。數(shù)碼管
數(shù)碼管通常有發(fā)光二極管(LED)數(shù)碼管和液晶(LCD)數(shù)碼管,本設(shè)計(jì)采用的為LED數(shù)碼管。
各單元模塊設(shè)計(jì)和分析 晶體振蕩器電路
晶體振蕩器是構(gòu)成數(shù)字式時(shí)鐘的核心,它保證了時(shí)鐘的走時(shí)準(zhǔn)確及穩(wěn)定。
圖2 晶體振蕩器電路圖
分頻器電路
通常,數(shù)字鐘的晶體振蕩器輸出頻率較高,為了得到1Hz的秒信號(hào)輸入,需要對(duì)振蕩器的輸出信號(hào)進(jìn)行分頻。
通常實(shí)現(xiàn)分頻器的電路是計(jì)數(shù)器電路,一般采用多級(jí)2進(jìn)制計(jì)數(shù)器來(lái)實(shí)現(xiàn)。例如,將32767Hz的振蕩信號(hào)分頻為1HZ的分頻倍數(shù)為32767(2于15極2進(jìn)制計(jì)數(shù)器。時(shí)間計(jì)數(shù)單元
時(shí)間計(jì)數(shù)單元有時(shí)計(jì)數(shù)、分計(jì)數(shù)和秒計(jì)數(shù)等幾個(gè)部分。
時(shí)計(jì)數(shù)單元一般為24進(jìn)制計(jì)數(shù)器計(jì)數(shù)器,其輸出為兩位8421BCD碼形式;分計(jì)數(shù)和秒計(jì)數(shù)單元為60進(jìn)制計(jì)數(shù)器,其輸出也為8421BCD碼。
本實(shí)驗(yàn)采取了74LS90 用兩塊芯片進(jìn)行級(jí)聯(lián)來(lái)產(chǎn)生60進(jìn)制和24進(jìn)制
秒個(gè)位計(jì)數(shù)單元為10進(jìn)制計(jì)數(shù)器,無(wú)需進(jìn)制轉(zhuǎn)換,只需將Q0與CP1(下降沿有效)相連即可。CP0(下降沒(méi)效)與1HZ秒輸入信號(hào)相連,Q3可作為向上的進(jìn)位信號(hào)與十位計(jì)數(shù)單元的CP1相連。
秒十位計(jì)數(shù)單元為6進(jìn)制計(jì)數(shù)器,需要進(jìn)制轉(zhuǎn)換。將10進(jìn)制計(jì)數(shù)器轉(zhuǎn)換為6進(jìn)制計(jì)數(shù)器的15),即實(shí)現(xiàn)該分頻功能的計(jì)數(shù)器相當(dāng)電路連接,其中Q2可作為向上的進(jìn)位信號(hào)與分個(gè)位的計(jì)數(shù)單元的CP0相連。
分個(gè)位和分十位計(jì)數(shù)單元電路結(jié)構(gòu)分別與秒個(gè)位和秒十位計(jì)數(shù)單元完全相同,也是分個(gè)位計(jì)數(shù)單元的Q3作為向上的進(jìn)位信號(hào)應(yīng)與分十位計(jì)數(shù)單元的CP0相連,分十位計(jì)數(shù)單元的Q2作為向上的進(jìn)位信號(hào)應(yīng)與時(shí)個(gè)位計(jì)數(shù)單元的CP0相連。60進(jìn)制的連接如圖4所示。時(shí)個(gè)位計(jì)數(shù)單元電路結(jié)構(gòu)仍與秒或個(gè)位計(jì)數(shù)單元相同,但是要求,整個(gè)時(shí)計(jì)數(shù)單元應(yīng)為24進(jìn)制計(jì)數(shù)器,所以在兩塊74LS90構(gòu)成的100進(jìn)制中截取24,就得在24的時(shí)候進(jìn)行異步清零。24進(jìn)制計(jì)數(shù)功能的電路如圖5所示。
圖5 24進(jìn)制計(jì)數(shù)器電路
主要參考文獻(xiàn)
《電子技術(shù)基礎(chǔ)》
康華光
高教出版社 《電子線路設(shè)計(jì)、實(shí)驗(yàn)與測(cè)試》
謝自美
華中科技大學(xué)出版社 《電子技術(shù)實(shí)驗(yàn)》
汪學(xué)典
華中科技大學(xué)出版社 課程設(shè)計(jì)摘要 中文摘要
此次課程設(shè)計(jì)以數(shù)字鐘為例,全面的利用了所學(xué)的知識(shí),設(shè)計(jì)出了生活中常見(jiàn)的東西。數(shù)字鐘主要有多諧振蕩器、分頻器、計(jì)數(shù)器、譯碼器組成。主要芯片有74LS90、CC4511。有多諧振蕩器產(chǎn)生約1Mz信號(hào)脈沖。滿24計(jì)數(shù)器自動(dòng)復(fù)位,從而實(shí)現(xiàn)24 小時(shí)計(jì)時(shí)。
關(guān)鍵詞:多諧振蕩器、分頻器、計(jì)數(shù)器、74LS90 英文摘要 This design report in detail the digital clock.Making using of our comment study.The digital clock is made of multivibrator type oscillator、divider、counter.Following chips 74LS90 CC4511.When the hour counter reaches the summit of 24,it will return to the beginning point.So ,the whole day is counted.Key word: multivibrator、divider、74LS90
第三篇:數(shù)字鐘課程設(shè)計(jì)
數(shù)字電子鐘邏輯電路設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康模?/p>
1、掌握數(shù)字鐘的設(shè)計(jì)方法;
2、熟悉集成電路的使用方法。
二、設(shè)計(jì)任務(wù)和要求:
1、設(shè)計(jì)一個(gè)有“時(shí)”,“分”,“秒”(23小時(shí)59分59秒)顯示且有校時(shí)功能的電子鐘;
2、用中小規(guī)模集成電路組成電子鐘;
3、畫(huà)出框圖和邏輯電路圖,寫(xiě)出設(shè)計(jì)報(bào)告;
4、選做:①鬧鐘系統(tǒng)。②整點(diǎn)報(bào)時(shí)。③日歷系統(tǒng)。
三、方案選擇和論證:
1.分秒功能的實(shí)現(xiàn):用兩片74290組成60進(jìn)制遞增計(jì)數(shù)器 2.時(shí)功能的實(shí)現(xiàn):用兩片74290組成24進(jìn)制遞增計(jì)數(shù)器 3.定點(diǎn)報(bào)時(shí):當(dāng)分秒同時(shí)出現(xiàn)為0時(shí),燈亮。
4.日歷系統(tǒng):月跟日分別用2片74192實(shí)現(xiàn),月份就接成12進(jìn)制,日則接成31進(jìn)制,星期由1片74192組成7進(jìn)制,從星期一至星期天。
四、方案的設(shè)計(jì):
1、可調(diào)時(shí)鐘模塊:
秒、分、時(shí)分別為60、60和24進(jìn)制計(jì)數(shù)器。用兩片74LS290做一個(gè)二十四進(jìn)制, 輸入計(jì)數(shù)脈沖CP加在CLKA’端,把QA與與CPLB’從外部連接起來(lái),電路將對(duì)CP按照8421BCD碼進(jìn)行異步加法計(jì)數(shù)。通過(guò)反饋端,控制清零端清零,其中個(gè)位接成二進(jìn)制形式,十位接成四進(jìn)制形式。其電路圖如下:
同理利用兩片74290組成的六十進(jìn)制計(jì)數(shù)器,如下圖所示
將兩個(gè)六十進(jìn)制的加法計(jì)數(shù)器和一個(gè)二十四進(jìn)制的加法計(jì)數(shù)器進(jìn)行級(jí)聯(lián):將秒的十位進(jìn)位脈沖接到分的個(gè)位輸入脈沖,將分的十位進(jìn)位脈沖接到時(shí)的個(gè)位輸入脈沖,這樣就可以組成最基本的電路。2.校時(shí)電路: 例如說(shuō)時(shí)的校準(zhǔn),開(kāi)關(guān)1上端接1HZ脈沖,下端接分的進(jìn)位。當(dāng)開(kāi)關(guān)打到上端時(shí)電路進(jìn)入校準(zhǔn)功能,當(dāng)開(kāi)關(guān)打到下端時(shí)電路進(jìn)入正常計(jì)時(shí)功能。其電路如總電路圖所示
3.整點(diǎn)報(bào)時(shí):
分別用2個(gè)或非門(mén)接到分和秒的各輸出個(gè)節(jié)點(diǎn)處,再用一個(gè)與非門(mén)與報(bào)時(shí)燈鏈接,當(dāng)輸出同時(shí)為零時(shí),即整點(diǎn)時(shí),報(bào)時(shí)燈就亮了,起到報(bào)時(shí)功能。本實(shí)驗(yàn)使用LED發(fā)光(1s),其電路圖如下:
4日歷系統(tǒng):
月和日都用2片74192實(shí)現(xiàn)。月份功能則接成13進(jìn)制,因?yàn)樵路莘秩斩际菑?開(kāi)始計(jì)起,所以要求從0001開(kāi)始,到1101時(shí),立刻清零,清零時(shí)應(yīng)該切換到置數(shù)狀態(tài),即將ABCD置1000,通過(guò)一個(gè)與非門(mén)鏈接到LOAD端置零,同時(shí)也將計(jì)數(shù)器置為0001的狀態(tài)。其電路圖如下所示
日功能74192三十一進(jìn)制電路圖:
總電路圖:
四、電路調(diào)試:
調(diào)試這部分工作在EWB仿真軟件上進(jìn)行。對(duì)于電路的調(diào)試應(yīng)該分為幾個(gè)部分,分別對(duì)電路各個(gè)部分的功能都進(jìn)行調(diào)試,之后,每連接一部分都要調(diào)試一次。在實(shí)現(xiàn)日歷系統(tǒng)時(shí),如月份需要顯示燈顯示1~31。一開(kāi)始以為只把計(jì)數(shù)器鏈接成三十一進(jìn)制即可,結(jié)果顯示燈只顯示0~30,沒(méi)有自己預(yù)期的結(jié)果。經(jīng)過(guò)仔細(xì)思考,要把0去掉不顯示,從1開(kāi)始顯示,而還要顯示31。經(jīng)過(guò)查書(shū),最后,知道開(kāi)始需置數(shù)成0001狀態(tài),到1000才清零,清零的同時(shí)回到置數(shù)0001狀態(tài),通過(guò)多次鏈接、測(cè)試,終于實(shí)現(xiàn)了。
在實(shí)現(xiàn)校時(shí)功能過(guò)程中,由于之前想得太過(guò)復(fù)雜了,浪費(fèi)了大量時(shí)間,最后,經(jīng)過(guò)上網(wǎng)搜索,到圖書(shū)館查書(shū),簡(jiǎn)單的用了個(gè)開(kāi)關(guān)連接到脈沖實(shí)現(xiàn)了。
五、收獲心得體會(huì):
整個(gè)過(guò)程花了我不少時(shí)間,可當(dāng)做完時(shí)才發(fā)現(xiàn)做這個(gè)數(shù)字鐘是多么簡(jiǎn)單的一件事,主要是在調(diào)試時(shí)花了不少時(shí)間,其間換了不少器件,有的器件在理論上可行,但在實(shí)際運(yùn)行中就無(wú)法看到效果,所以調(diào)試花了我不少時(shí)間,有時(shí)無(wú)法找出錯(cuò)誤便更換器件重新接線以使電路正常運(yùn)行。
在實(shí)際的操作過(guò)程中,能把理論中所學(xué)的知識(shí)靈活地運(yùn)用起來(lái),并在調(diào)試中會(huì)遇到各種各樣的問(wèn)題,電路的調(diào)試提高了我們解決問(wèn)題的能力,學(xué)會(huì)了在設(shè)計(jì)中獨(dú)立解決問(wèn)題,也包括怎樣去查找問(wèn)題。似乎所有的事都得自己新手去操作才會(huì)在腦海中留下深刻的印象,這個(gè)小小的課程設(shè)計(jì)讓我可以熟練的操作EWB軟件,也了解了不少器件的功能的應(yīng)用,也加深了對(duì)數(shù)字電路認(rèn)識(shí)和理解。
本次課程設(shè)計(jì)主要是用軟件仿真,如果是實(shí)際加工電路板就更加鍛煉我們的動(dòng)手能力了,因此,能力還有待提高。
第四篇:數(shù)字鐘課程設(shè)計(jì)
南 昌 大 學(xué)
數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告
姓
名:
付
容 學(xué)
號(hào):
6100212236 學(xué)
院:
信息工程學(xué)院 班
級(jí):
電氣信息I類126班 實(shí)驗(yàn)名稱:
數(shù)字鐘設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、熟悉數(shù)字系統(tǒng)的分析和設(shè)計(jì)方法;
2、熟悉根據(jù)任務(wù)的要求合理選擇集成器件的方法;
3、學(xué)習(xí)和掌握數(shù)字鐘的工作原理及設(shè)計(jì)方法,并且通過(guò)對(duì)數(shù)字鐘的制作
進(jìn)一步了解各種中、小規(guī)模集成電路的功能及使用方法;
4、學(xué)習(xí)使用protel軟件進(jìn)行電子電路的原理圖設(shè)計(jì)、印制電路板設(shè)計(jì);
5、初步掌握PCB板的制作流程及其工藝;
6、掌握數(shù)字系統(tǒng)的調(diào)試方法;
7、提高檢查故障和排除故障的能力。
二、實(shí)驗(yàn)任務(wù)
利用中、小規(guī)模集成電路設(shè)計(jì)并制作一個(gè)數(shù)字顯示時(shí)、分、秒的時(shí)鐘,應(yīng)具備如下功能:
1、能進(jìn)行正常的時(shí)、分、秒計(jì)時(shí)功能,以數(shù)字形式顯示時(shí)、分、秒的時(shí)間;
2、時(shí)應(yīng)以24小時(shí)計(jì)時(shí)周期,計(jì)數(shù)序列為00—23;
3、計(jì)時(shí)出現(xiàn)誤差時(shí)能校正,可以分別對(duì)時(shí)和分進(jìn)行校正。
三、實(shí)驗(yàn)器材
計(jì)算機(jī)、protel軟件、555定時(shí)器一個(gè)、6個(gè)74LS161、3個(gè)74LS90、個(gè)74LS48、6個(gè)數(shù)碼管、若干個(gè)74LS00和74LS04、電源、開(kāi)關(guān)。
四、實(shí)驗(yàn)原理
1、電路的總體原理框圖
數(shù)字鐘是一個(gè)將“ 時(shí)”,“分”,“秒”顯示于人的視覺(jué)器官的計(jì)時(shí)裝置。它
2、數(shù)字鐘的構(gòu)成的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外應(yīng)有校時(shí)功能。因此,一個(gè)基本的數(shù)字鐘電路主要由譯碼顯示器、“時(shí)”,“分”,“秒”計(jì)數(shù)器、校時(shí)電路、振蕩電路組成。數(shù)字鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間(如北京時(shí)間)一致,故需要在電路上加一個(gè)校時(shí)電路,同時(shí)標(biāo)準(zhǔn)的1HZ時(shí)間信號(hào)必須做到準(zhǔn)確穩(wěn)定。通常使振蕩電路構(gòu)成數(shù)字鐘。
⑴555振蕩電路
555定時(shí)器振蕩電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的1KHz的方波信號(hào),可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定。不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了555振蕩電路。
⑵分頻器電路
分頻器電路用74LS90芯片將1kHz的高頻方波信號(hào)經(jīng)3次分頻后得到1Hz的方波信號(hào)供秒計(jì)數(shù)器進(jìn)行計(jì)數(shù)。分頻器實(shí)際上也就是計(jì)數(shù)器。
⑶時(shí)間計(jì)數(shù)器電路
時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器及時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器電路構(gòu)成,其中秒個(gè)位和秒十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,而根據(jù)設(shè)計(jì)要求,時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器為12進(jìn)制計(jì)數(shù)器。⑷譯碼驅(qū)動(dòng)電路
譯碼驅(qū)動(dòng)電路將計(jì)數(shù)器輸出的8421BCD碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流。
⑸數(shù)碼管
數(shù)碼管通常有發(fā)光二極管(LED)數(shù)碼管和液晶(LCD)數(shù)碼管,本設(shè)計(jì)提供的為L(zhǎng)ED數(shù)碼管。
3、數(shù)字鐘工作原理
數(shù)字電子鐘的原理方框圖如上圖,該電路系統(tǒng)由秒信號(hào)發(fā)生器、“時(shí)、分、秒”計(jì)數(shù)器、譯碼器及數(shù)碼顯示管、校時(shí)電路、整點(diǎn)報(bào)時(shí)電路等組成。秒信號(hào)發(fā)生器是整個(gè)系統(tǒng)的時(shí)基信號(hào),它直接決定計(jì)時(shí)系統(tǒng)的精度,本實(shí)驗(yàn)用555定時(shí)器來(lái)實(shí)現(xiàn)。將標(biāo)準(zhǔn)秒信號(hào)送入“秒計(jì)數(shù)器”,“秒計(jì)數(shù)器”采用六十進(jìn)制計(jì)數(shù)器,每累計(jì)60秒發(fā)出一個(gè)“分脈沖”信號(hào),該信號(hào)作為“分計(jì)數(shù)器”的時(shí)鐘脈沖。“分計(jì)數(shù)器”采用六十進(jìn)制計(jì)數(shù)器,每累計(jì)60分鐘發(fā)出一個(gè)“時(shí)脈沖”信號(hào),該信號(hào)作為“時(shí)計(jì)數(shù)器”的時(shí)鐘脈沖。譯碼顯示電路將“時(shí)”、“分”、“秒”計(jì)數(shù)器的輸出狀態(tài)經(jīng)七段顯示譯碼器譯碼,通過(guò)LED七段共陰極數(shù)碼顯示管顯示出來(lái)。整點(diǎn)報(bào)時(shí)電路是根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生脈沖信號(hào),然后去觸發(fā)一音頻發(fā)生器實(shí)現(xiàn)報(bào)時(shí)。校時(shí)電路是用來(lái)對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整的。
五、實(shí)驗(yàn)設(shè)計(jì)方案
1、六十進(jìn)制計(jì)數(shù)器電路
由兩片74160構(gòu)成的六十進(jìn)制計(jì)數(shù)器如下圖所示。首先將兩片74160構(gòu)成一百進(jìn)制計(jì)數(shù)器,然后采用整體置數(shù)法接成六十進(jìn)制計(jì)數(shù)器。電路的59狀態(tài)譯碼產(chǎn)生LD'=0信號(hào),同時(shí)加到兩片74LS161上,在下一個(gè)計(jì)數(shù)脈沖(第60個(gè)計(jì)數(shù)脈沖)到達(dá)時(shí)將0000同時(shí)輸入兩片74LS161中,從而得到六十進(jìn)制計(jì)數(shù)器。進(jìn)位輸出可有門(mén)電路G的輸出直接得到。
2、二十四進(jìn)制計(jì)數(shù)器電路
由兩片74LS161構(gòu)成的二十四進(jìn)制計(jì)數(shù)器如下圖所示。首先將兩片74160構(gòu)成一百進(jìn)制計(jì)數(shù)器,然后采用整體置數(shù)法接成二十四進(jìn)制計(jì)數(shù)器。電路的23狀態(tài)譯碼產(chǎn)生LD'=0信號(hào),同時(shí)加到兩片74LS161上,在下一個(gè)計(jì)數(shù)脈沖(第24個(gè)計(jì)數(shù)脈沖)到達(dá)時(shí)將0000同時(shí)輸入兩片74LS161中,從而得到二十四進(jìn)制計(jì)數(shù)器。
3、秒信號(hào)發(fā)生器電路
秒信號(hào)發(fā)生器是整個(gè)系統(tǒng)的時(shí)基信號(hào),它直接決定計(jì)時(shí)系統(tǒng)的精度,本實(shí)驗(yàn)用555定時(shí)器來(lái)實(shí)現(xiàn)。先將555定時(shí)器的2、6管腳連在一起構(gòu)成施密特觸發(fā)器,然后再通過(guò)RC積分電路構(gòu)成多諧振蕩器。接入電路的二極管D1、D2使電容C1的充電電流和放電電流流經(jīng)不同的路徑,充電電流只流經(jīng)R1,放電電流只流經(jīng)R2,因此電容C1的充電時(shí)間為
T1=R1C1Ln2 電容C1的放電時(shí)間為
T2=R2C1Ln2 輸出脈沖的占空比為
q=R1/(R1+R2)若取R1=R2=71千歐然后與一個(gè)2千歐的電位器串聯(lián),則電路的振蕩周期為
T=T1+T2=1s
4、校時(shí)電路
校準(zhǔn)電路實(shí)質(zhì)上是由一個(gè)555定時(shí)器接成的頻率為1KHz的多諧振蕩器,如下圖示。從圖中可知,秒脈沖進(jìn)入計(jì)數(shù)器,數(shù)字鐘正常工作。校時(shí)時(shí)先按下按鈕J2,若按下J2則10Hz脈沖信號(hào)進(jìn)入分計(jì)數(shù)器的個(gè)位,而分脈沖被阻止進(jìn)入,因而較快的校準(zhǔn)分計(jì)數(shù)器的計(jì)數(shù)值;若按下J1則100Hz脈沖信號(hào)進(jìn)入時(shí)計(jì)數(shù)器個(gè)位,而時(shí)脈沖被阻止進(jìn)入,因而較快的校準(zhǔn)時(shí)計(jì)數(shù)器的計(jì)數(shù)值。
5、譯碼顯示電路
譯碼電路的功能是將“秒”、“分”、“時(shí)”計(jì)數(shù)器的輸出代碼進(jìn)行翻譯變成相應(yīng)的數(shù)字。用于驅(qū)動(dòng)LED七段數(shù)碼管的譯碼器為74LS48。由74LS48和LED七段數(shù)碼管組成的數(shù)碼顯示電路如下圖所示。將“秒”、“分”、“時(shí)”計(jì)數(shù)器的每位輸出分別接到相應(yīng)七段譯碼器的輸入端,便可進(jìn)行不同數(shù)字的顯示。在譯碼器輸出與數(shù)碼管之間串聯(lián)的為限流電阻。
六、實(shí)驗(yàn)總電路圖
Multisim仿真原理圖
七、實(shí)驗(yàn)仿真結(jié)果 1、1kHz脈沖信號(hào):
2、秒時(shí)鐘:
3、分時(shí)鐘:
4、時(shí)時(shí)鐘:
5、實(shí)驗(yàn)總仿真圖:
八、實(shí)驗(yàn)總結(jié)
1、仿真過(guò)程中遇到的問(wèn)題及解決方法 剛接到數(shù)字鐘這個(gè)實(shí)驗(yàn)設(shè)計(jì)的時(shí)候,感覺(jué)腦子中一片混亂,理不出來(lái)一個(gè)清晰的思路。但是我先看了一遍課本,充分理解、熟悉課本中所講的每個(gè)集成芯片的功能和它們的接法,然后又查閱了相關(guān)的資料。經(jīng)過(guò)這個(gè)過(guò)程之后,我構(gòu)思出來(lái)了數(shù)字鐘大致的電路圖和所要用到的集成芯片。但是在真正設(shè)計(jì)、畫(huà)電路圖的時(shí)候卻不斷出現(xiàn)了一些細(xì)節(jié)問(wèn)題。比如用74LS161芯片構(gòu)成60進(jìn)制計(jì)數(shù)器后,在Multisim里找不到實(shí)驗(yàn)室用到的CD4511BE型號(hào)的譯碼器,那我該如何選合適的譯碼器進(jìn)行譯碼?用555定時(shí)器產(chǎn)生1Hz的秒脈沖信號(hào)后,在保證原理圖一定正確的情況下,為什么數(shù)碼管一直顯示0,不會(huì)走數(shù)字呢?24進(jìn)制的地方為什么仿真結(jié)果總是會(huì)有些不對(duì),從09變成10的時(shí)候中間會(huì)有一個(gè)類似于“8”一樣的數(shù)出現(xiàn),使得24進(jìn)制與60進(jìn)制不能同步進(jìn)行,總是慢一秒?。于是我又去查資料,并請(qǐng)教了一些同學(xué)、老師才逐漸掌握了解決這些問(wèn)題的方法,最后將問(wèn)題一個(gè)個(gè)的擊破了。經(jīng)上網(wǎng)百度后,我知道用74LS48譯碼比較合適;問(wèn)同學(xué)、老師后,我知道1Hz數(shù)碼管能走數(shù)字,但是周期太長(zhǎng),所以將555定時(shí)器改成1KHz的才能很直觀的看到實(shí)驗(yàn)仿真結(jié)果;在24進(jìn)制的個(gè)位上加一個(gè)非門(mén)后就能實(shí)現(xiàn)正常功能。經(jīng)過(guò)幾次修改完善之后,我的設(shè)計(jì)仿真終于做出來(lái)了。
2、畫(huà)protel原理圖遇到的問(wèn)題
①用單刀雙擲開(kāi)關(guān)實(shí)現(xiàn)校時(shí)電路時(shí)發(fā)現(xiàn)所選開(kāi)關(guān)沒(méi)有封裝,后來(lái)經(jīng)老師點(diǎn)撥在“元件庫(kù)”中查找到了帶封裝的單刀雙擲開(kāi)關(guān);
②不知道花PCB板的時(shí)候需要在板子的某個(gè)角落放總電源,否則整塊板子無(wú)法供電使用,就連555定時(shí)器也需要電源驅(qū)動(dòng)才能正常產(chǎn)生脈沖信號(hào),加個(gè)電源開(kāi)關(guān)更能使整個(gè)電路設(shè)計(jì)的合理、規(guī)范;
3、心得體會(huì)
此次的數(shù)字鐘設(shè)計(jì)重點(diǎn)在于理論設(shè)計(jì)、對(duì)各種集成芯片的應(yīng)用和電路本身的原理的熟悉,與電路的仿真和實(shí)際的連線有很大的差距。在此次的數(shù)字鐘設(shè)計(jì)過(guò)程中,讓我更進(jìn)一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。在連接六十進(jìn)制及其進(jìn)位輸出和用555定時(shí)器構(gòu)成多諧振蕩器的接法中,熟悉了邏輯電路及其芯片各引腳的功能,在電路出錯(cuò)時(shí)能準(zhǔn)確地找出錯(cuò)誤所在并及時(shí)糾正。
這次電子課程設(shè)計(jì)讓我收獲很大,通過(guò)這次的設(shè)計(jì)實(shí)驗(yàn)進(jìn)一步地增強(qiáng)了實(shí)驗(yàn)的動(dòng)腦、動(dòng)手能力。讓我體會(huì)到了學(xué)習(xí)知識(shí)時(shí)理論聯(lián)系實(shí)際的重要性,并發(fā)現(xiàn)自己的知識(shí)面是很窄的,對(duì)很多簡(jiǎn)單的理論問(wèn)題都比較難于解決,更別說(shuō)實(shí)際的的問(wèn)題了。所以,以后遇到這種動(dòng)手操作的能力我一定要格外重視,并且努力完成它,爭(zhēng)取做到最好的效果。
第五篇:數(shù)字鐘課程設(shè)計(jì)
ORG 0000H SJMP ONE ORG 0003H LJMP ELEVEN ORG 000BH LJMP NINE ORG 001BH LJMP TEN ONE:LED12 EQU 30H;數(shù)碼管12顯示緩存 LED34 EQU 31H;數(shù)碼管34顯示緩存 LED56 EQU 32H;數(shù)碼管56顯示緩存
COUNT EQU 33H;定時(shí)器T0(用來(lái)走時(shí))計(jì)數(shù)值存儲(chǔ)器(計(jì)數(shù)中斷20次到1秒)COUNTS EQU 34H;定時(shí)器T1(用來(lái)預(yù)置)計(jì)數(shù)值存儲(chǔ)器(計(jì)數(shù)中斷15次到預(yù)置值加一)HOUR EQU 40H;以下為時(shí)間,日期,鬧鈴時(shí)間,生日的存儲(chǔ)地址 MIN EQU 41H SECOND EQU 22H YEAR EQU 50H MONTH EQU 23H DAY EQU 52H RH EQU 60H;鬧鈴小時(shí) RM EQU 61H;鬧鈴分 RE EQU 62H;鬧鈴使能 BM EQU 71H;生日-月份 BD EQU 72H;生日-天 MOV LED12,#0 MOV LED34,#0 MOV LED56,#0 MOV COUNT,#0 MOV COUNTS,#0 MOV HOUR,#0 MOV MIN,#0 MOV SECOND,#0 MOV YEAR,#0 MOV MONTH,#1 MOV DAY,#1 MOV RH,#0 MOV RM,#0 MOV RE,#0 MOV BM,#6 MOV BD,#1 BS BIT 00H;birthday symbol生日標(biāo)志(到生日那天就為1)
SS BIT 01H;set symbol預(yù)置信號(hào)(按下中斷預(yù)置為1,便開(kāi)始閃爍和預(yù)置)GS BIT 02H;glisten symbol閃爍標(biāo)志 FC BIT 03H;frequency control頻率控制 NB BIT 04H;neglect bitrhday symbol 忽略生日標(biāo)志 CLR BS CLR SS CLR GS CLR FC CLR NB SETB 05H;生日顯示有效標(biāo)志位 MOV IP,#02H;中斷優(yōu)先級(jí):T0>INT0>T1 MOV TMOD,#11H MOV IE,#8BH SETB IT0 MOV TH0,#3CH;50ms MOV TL0,#0B0H SETB TR0 MOV R1,#50;顯示延時(shí)用 MOV R0,#0;顯示延時(shí)用
;************************************************************** TWO檢測(cè)開(kāi)關(guān)號(hào) TWO:MOV P0,#0FFH JB P0.5,TWO1 MOV RE,#0A0H;0A0表示鬧鈴無(wú)效,送0A0是為了方便將使能查表顯示,表中第A項(xiàng)為“-” SJMP TWO2 TWO1:MOV RE,#0A1H TWO2:JB P0.0,TWO4 JB P0.1,TWO3 MOV LED12,HOUR MOV LED34,MIN MOV LED56,SECOND SJMP THREE TWO3:MOV LED12,YEAR MOV LED34,MONTH MOV LED56,DAY SJMP THREE TWO4:JB P0.1,TWO5 MOV LED12,RH MOV LED34,RM MOV LED56,RE SJMP THREE TWO5:MOV LED12,BM MOV LED34,BD MOV LED56,#0BCH SJMP THREE;************************************** THREE顯示主程序(同時(shí)包含了鬧鈴,預(yù)置閃爍,鬧鈴功能)THREE:MOV P1,#0 MOV P0,#0FFH MOV DPTR,#TAB3 JNB SS,THREEB;判斷預(yù)置信號(hào)是否有效,預(yù)置有效則轉(zhuǎn)入判斷閃爍顯示模塊,否則轉(zhuǎn)入正常顯示模塊
SJMP THREEA THREEB:LJMP THREE11;THREE11是正常顯示并判斷整點(diǎn)報(bào)時(shí)及鬧鈴模塊
THREEA:JNB P0.3,THREE1;開(kāi)始是判斷閃爍顯示,這句判斷是否預(yù)置分/月/生日的日/鬧鈴分
JNB GS,THREE1;是否閃爍?
LCALL TWELVE;閃爍則調(diào)用延時(shí)不顯示LED34 SJMP THREE4 THREE1:MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE2:SETB P1.3 NOP DJNZ R0,THREE2 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE3:SETB P1.2 NOP DJNZ R0,THREE3 CLR P1.2 JNB P0.2,THREE4;判斷是否預(yù)置小時(shí)/年/生日月/鬧鈴的小時(shí) JNB GS,THREE4;是否顯示小時(shí)/年/生日月/鬧鈴的小時(shí) LCALL TWELVE SJMP THREE7 THREE4:MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE5:SETB P1.1 NOP DJNZ R0,THREE5 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE6:SETB P1.0 NOP DJNZ R0,THREE6 CLR P1.0 JB P0.0,THREE7;數(shù)碼管56只有在顯示日期的天時(shí)才有預(yù)置閃爍功能,其余三項(xiàng)都不需要判斷閃爍 JNB P0.1,THREE7 JB P0.3,THREE7 JNB P0.4,THREE7 JNB GS,THREE7 LCALL TWELVE SJMP THREE10 THREE7:MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE8:SETB P1.5 NOP DJNZ R0,THREE8 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE9:SETB P1.4 NOP DJNZ R0,THREE9 CLR P1.4 THREE10:DJNZ R1,TWOA SJMP TWOB TWOA:LJMP TWO TWOB:MOV R1,#50;判斷閃爍一次是否完成 CPL GS;取反閃爍標(biāo)志,用于控制閃爍的亮和滅 LJMP TWO;一輪顯示完后再判斷開(kāi)關(guān)號(hào);**************************正常顯示
THREE11:LCALL EIGHT;判斷是否取反P1.6即輸出鬧鈴或整點(diǎn)報(bào)時(shí),以下每次顯示都要調(diào)用一次
JB NB,THREE12;如果是在整點(diǎn)報(bào)時(shí)狀態(tài)就不顯示生日提醒,報(bào)時(shí)過(guò)后顯示提醒 JNB BS,THREE12 SJMP SEVEN;跳到生日提醒程序
THREE12:CLR NB;開(kāi)始正常顯示時(shí)間及判斷鬧鈴輸出 MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE13:SETB P1.3 NOP DJNZ R0,THREE13 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE14:SETB P1.2 NOP DJNZ R0,THREE14 CLR P1.2 LCALL EIGHT MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE15:SETB P1.1 NOP DJNZ R0,THREE15 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE16:SETB P1.0 NOP DJNZ R0,THREE16 CLR P1.0 LCALL EIGHT MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE17:SETB P1.5 NOP DJNZ R0,THREE17 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE18:SETB P1.4 NOP DJNZ R0,THREE18 CLR P1.4 LJMP TWO;一輪顯示完后判開(kāi)關(guān)
TAB3:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,40H,7CH,5EH;0.1.2.3.4.5.6.7.8.9.-.b.d,的字形表“bd”在顯示生日時(shí)間時(shí)顯示在LED56;**************************************************SEVEN生日時(shí)顯示生日祝福語(yǔ)“HAPPY” SEVEN:MOV P1,#01H MOV P2,#76H DJNZ R0,SEVEN SEVEN1:MOV P1,#02H MOV P2,#77H DJNZ R0,SEVEN1 SEVEN2:MOV P1,#04H MOV P2,#73H DJNZ R0,SEVEN2 SEVEN3:MOV P1,#08H MOV P2,#73H DJNZ R0,SEVEN3 SEVEN4:MOV P1,#10H MOV P2,#6EH DJNZ R0,SEVEN4 LJMP TWO;一輪顯示完后判開(kāi)關(guān)
;******************************************************************EIGHT判斷是否鬧鈴子程序 EIGHT:MOV A,RE CJNE A,#0A1H,EIGHT1 MOV A,MIN CJNE A,RM,EIGHT1 MOV A,HOUR CJNE A,RH,EIGHT1 SJMP EIGHT4;鬧鈴時(shí)間到則CPLP1.6一次并忽略生日標(biāo)志(即NB有效)EIGHT1:MOV A,MIN CJNE A,#59H,EIGHT7 MOV A,SECOND CJNE A,#59H,EIGHT5;是否等于59分59秒 EIGHT2:MOV A,COUNT;是否到達(dá)后半秒 CJNE A,#10,EIGHT3 EIGHT3:JC EIGHT7 EIGHT4:CPL P1.6 SETB NB SJMP EIGHT7 EIGHT5:MOV A,SECOND CJNE A,#51H,EIGHT6;是否大于51秒 EIGHT6:JC EIGHT7 JNB 10H,EIGHT7;判斷是否報(bào)低音
JB FC,EIGHT7;只有FC有效時(shí)才輸出
SJMP EIGHT2 EIGHT7:CPL FC;用來(lái)控制報(bào)低音和高音,滿足報(bào)低音條件時(shí),調(diào)用兩次本程序?qū)1.6取反一次,高音時(shí)調(diào)用一次取反一次
RET;******** NINE中斷(T0)計(jì)時(shí)程序(包含了秒-分-時(shí)-日-月-年間的進(jìn)位及判斷大小月,平閏年)
NINE:MOV TH0,#3CH;開(kāi)定時(shí)器 MOV TL0,#0B0H SETB TR0 INC COUNT MOV A,COUNT CJNE A,#20,INEAA SJMP AAA INEAA:LJMP NINE1 AAA:MOV COUNT,#0;計(jì)時(shí) MOV A,SECOND ADD A,#01 DA A;換成bcd碼以方便顯示 MOV SECOND,A CJNE A,#60H,INEAA MOV SECOND,#0 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,INEAA MOV MIN,#0 MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,INEAA MOV HOUR,#0 MOV A,DAY ADD A,#01 DA A MOV DAY,A;************************判斷平閏年及大小月 MOV A,MONTH CJNE A,#02H,TEN6A MOV A,YEAR;把年由BCD碼換成二進(jìn)制碼 ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5A;二進(jìn)制碼后兩位為00表示為閏年 JB ACC.1,TEN5A MOV 24H,#01 MOV A,DAY CJNE A,#30H,NINE1 MOV DAY,#1 SJMP NINE0 TEN5A:MOV A,DAY CJNE A,#29H,NINE1 MOV DAY,#1 SJMP NINE0;**************判斷大小月;大于等于8月時(shí)雙月為大月,小于8月時(shí)單月為大月 TEN6A:MOV A,MONTH CJNE A,#08H,TEN7A TEN7A:JC TEN9A JB 18H,TEN8A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN8A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1 SJMP NINE0 TEN9A:JNB 18H,TEN10A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN10A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1;******************* NINE0:MOV A,MONTH ADD A,#01 DA A MOV MONTH,A SETB 05H CJNE A,#13H,NINE1 MOV MONTH,#1 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A NINE1:MOV A,MONTH CJNE A,BM,NINE2 MOV A,DAY CJNE A,BD,NINE2 JNB 05H,NINE2 SETB BS NINE2:RETI;*****************************************TEN中斷(T1)預(yù)置加一程序由INT0控制其的開(kāi)啟與關(guān)閉
;*******************判斷預(yù)置項(xiàng)目 TEN:MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 INC COUNTS MOV A,COUNTS CJNE A,#15,TENE MOV COUNTS,#0 JB P0.0,RBRB JB P0.1,DAT SJMP TIME DAT: LJMP DATE RBRB:JB P0.1,BDAT LJMP RTIME BDAT:LJMP BDATE TENE:RETI;**********************預(yù)置時(shí)間 TIME: JNB P0.3,TEN1 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,TENA MOV MIN,#0 SJMP TENA TEN1:JNB P0.2,TENA MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,TENA MOV HOUR,#0 TENA:RETI;******************預(yù)置日期 DATE:JNB P0.3,TEN3 MOV A,MONTH ADD A,#01 DA A MOV MONTH,A CJNE A,#13H,TENB MOV MONTH,#1 SJMP TENB TEN3:JNB P0.2,TEN4 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A SJMP TENB TEN4:JNB P0.4,TENB MOV A,DAY ADD A,#01 DA A MOV DAY,A;***************判斷平閏年 MOV A,MONTH CJNE A,#02H,TEN6 MOV A,YEAR ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5 JB ACC.1,TEN5 MOV A,DAY CJNE A,#30H,TENB MOV DAY,#1 SJMP TENB TEN5:MOV A,DAY CJNE A,#29H,TENB MOV DAY,#1 SJMP TENB;**************判斷大小月 TEN6:CJNE A,#08H,TEN7 TEN7:JC TEN9 JB 18H,TEN8 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN8:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 SJMP TENB TEN9:JNB 18H,TEN10 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN10:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 TENB: RETI;**************************預(yù)置鬧鈴時(shí)間 RTIME:JNB P0.3,TEN12 MOV A,RM ADD A,#01 DA A MOV RM,A CJNE A,#60H,TENC MOV RM,#0 SJMP TENC TEN12:JNB P0.2,TENC MOV A,RH ADD A,#01 DA A MOV RH,A CJNE A,#24H,TENC MOV RH,#0 TENC:RETI;************************預(yù)置生日日期 BDATE:JNB P0.3,TEN14 MOV A,BD ADD A,#01 DA A MOV BD,A MOV A,BM CJNE A,#02H,TEN15 MOV A,BD CJNE A,#30H,TEND MOV BD,#1 SJMP TEND TEN15:CJNE A,#08H,TEN16 TEN16:JC TEN18 JB 18H,TEN17 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN17:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN18:JNB 18H,TEN19 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN19:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN14:JNB P0.2,TEND MOV A,BM ADD A,#01 DA A MOV BM,A CJNE A,#13H,TEND MOV BM,#1 TEND:SETB 05H RETI;*******************************ELEVEN中斷(INT0)控制了預(yù)置的開(kāi)關(guān)以及生日信號(hào)的清除
ELEVEN:JNB SS,ELEVEN1;預(yù)置有效時(shí)按一次INT0關(guān)預(yù)置 CLR SS CLR TR1 SJMP ELEVEN3 ELEVEN1:JNB BS,ELEVEN2;預(yù)置無(wú)效判斷生日信號(hào)有效則清除生日信號(hào) CLR 05H CLR BS SJMP ELEVEN3 ELEVEN2:SETB SS;都無(wú)效則令預(yù)置有效 MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 ELEVEN3:RETI;***************************************************************TWELVE 延時(shí)小程序
TWELVE:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE TWELVE1:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE1 RET