




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄第一章 單片機(jī)的相關(guān)知識 3 1.1 單片機(jī)的簡介 3 1.2 單片機(jī)的特點(diǎn) 3 1.3 at89c51單片機(jī)介紹 3第二章 數(shù)字時鐘的相關(guān)知識5 2.1 數(shù)字電子鐘的背景5 2.2 數(shù)字電子鐘的意義5 2.3 數(shù)字電子鐘的應(yīng)用5第三章 數(shù)字鐘的硬件設(shè)計 63.1 最小系統(tǒng)設(shè)計63.2 led顯示電路 9第四章 數(shù)字鐘的軟件設(shè)計12 4.1 系統(tǒng)軟件設(shè)計流程圖12 4.2 數(shù)字電子鐘的原理圖16 4.3 設(shè)計主程序16第五章 系統(tǒng)仿真 255.1 protues軟件介紹255.2 電子鐘系統(tǒng)protues仿真25第六章 調(diào)試與功能說明266.1 硬盤調(diào)試266.2 系統(tǒng)性能測試與功能說明
2、266.3 系統(tǒng)時鐘誤差分析266.4 軟件調(diào)試問題及解決26結(jié)束語 27參考文獻(xiàn) 28致謝 29基于單片機(jī)的電子時鐘設(shè)計專業(yè)班級:移動通信技術(shù) 學(xué)生姓名: 指導(dǎo)老師: 摘要 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快?,F(xiàn)代生活的人們越來越重視起了時間觀念,可以說是時間和金錢劃上了等號。對于那些對時間把握非常嚴(yán)格和準(zhǔn)確的人或事來說,時間的不準(zhǔn)確會帶來非常大的麻煩,所以以數(shù)碼管為顯示器的時鐘比指針式的時鐘表現(xiàn)出了很大的優(yōu)勢。數(shù)碼管顯示的
3、時間簡單明了而且讀數(shù)快、時間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對“時”、“分”、“秒”數(shù)字顯示的計時裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過老式機(jī)械鐘。在這次設(shè)計中,我們采用led數(shù)碼管顯示時、分、秒,以24小時計時方式,根據(jù)數(shù)碼管動態(tài)顯示原理來進(jìn)行顯示,用12mhz的晶振產(chǎn)生振蕩脈沖,定時器計數(shù)。在此次設(shè)計中,電路具有顯示時間的其本功能,還可以實(shí)現(xiàn)對時間的調(diào)整。數(shù)字鐘是其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛,因此得到了廣泛的使用。關(guān)鍵詞:數(shù)字電子鐘 單片機(jī)design of electronic clock ba
4、sed on mcuabstract the late 20th century, electronic technology has been rapid development in its promotion, penetration of modern electronic products will almost fields, a strong impetus to the development of social productive forces and social improvement in the level of information, while also fu
5、rther improve the performance of modern electronic products, replacement products have become increasingly fast pace. growing emphasis on modern life from the time the concept of time and money can be said to draw the equal sign. for those who are very strict and accurate grasp of time and things, t
6、ime will not exactly bring a very big trouble, so as to control the display of digital clock than the clock pointer showed a big advantage. digital display of time reading simple and fast, accurate display of time to seconds. the mechanical oscillator depends on the crystal may lead to errors. digit
7、al clock is a digital circuit implementation of the when, sub, seconds the figures show the timing device. digital clock precision, stability, far more than the old mechanical clock. in this design, we use led digital display hours, minutes, seconds, to 24-hour time mode, according to digital contro
8、l theory to dynamic display to display, use the 12mhz crystal oscillation pulse, the timer count. in this design, the circuit has a display time of the this function, you can also realize the time adjustment. digital clock is its compact, low cost, travel time and high precision, easy to use, featur
9、es and more, easy integration and loved by the general consumer, so widely used. keywords digital electronic clock scm第一章 單片機(jī)的相關(guān)知識1.1 單片機(jī)的簡介單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器,常用英文字母的縮寫mcu表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有cpu的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和cpu集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。intel的z80是最早按照這種
10、思想設(shè)計出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。1.2 單片機(jī)的特點(diǎn)單片機(jī)的存儲器rom和ram時嚴(yán)格區(qū)分的。rom稱為程序存儲器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。ram則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。單片機(jī)的i/o口通常時多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機(jī)器狀態(tài)來區(qū)分。單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時,均可在外部進(jìn)行擴(kuò)展
11、,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來了很大的方便。1.3 at89c51單片機(jī)介紹at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at8
12、9c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖1-1 單片機(jī)at89c51單片機(jī)的內(nèi)部結(jié)構(gòu)第二章 數(shù)字電子鐘的相關(guān)知識2.1數(shù)字電子鐘的背景 20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽
13、誤可能釀成大禍。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著cmos化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時、分、秒計時的裝置,與機(jī)械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。2
14、.2數(shù)字電子鐘的意義數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。2.3數(shù)字電子鐘的應(yīng)用 數(shù)字鐘已成為人們?nèi)粘I钪校?/p>
15、必不可少的必需品,廣泛用于個人家庭以及車站、碼頭、劇場、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計時、自動報時及自動控制等各個領(lǐng)域。 第三章 數(shù)字鐘的硬件設(shè)計3.1 最小系統(tǒng)設(shè)計圖3-1 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)圖 單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、晶振、/ea=1組成,下面介紹一下每一個組成部分。1.電源引腳 vcc40電源端gnd20接地端工作電壓為5v,另有at89lv51工作電壓則是2.7-6v, 引腳功能一樣。 2.外接晶體引腳圖3-2 晶振連接的內(nèi)部、外部方式
16、圖xtal119xtal218 xtal1是片內(nèi)振蕩器的反相放大器輸入端,xtal2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到xtal1,而xtal2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12mhz,時鐘頻率就為6mhz。晶振的頻率可以在1mhz-24mhz內(nèi)選擇。電容取30pf左右。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。at89單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容c1和c2構(gòu)成并聯(lián)諧振電
17、路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12mhz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22f。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3. 復(fù)位rst9在振蕩器運(yùn)行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腳時,將使單片機(jī)復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后p0p3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器sfr全部清零。當(dāng)復(fù)位腳由高電平
18、變?yōu)榈碗娖綍r,芯片為rom的00h處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳rst通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機(jī)器周期的s5p2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時鐘頻率選用6mhz時,c取22f,rs約為200,rk約為1k。復(fù)位操作不會對內(nèi)部ram有所影響。常用的復(fù)位電路如下圖所示:圖3-3 常用復(fù)位電路圖4.輸入輸出引腳(1) p0端口p0.0-p0.7 p0是一個8位漏極開路型雙向i/o端口,端口置1(對端口寫1)時作高阻抗輸入端。作為
19、輸出口時能驅(qū)動8個ttl。對內(nèi)部flash程序存儲器編程時,接收指令字節(jié);校驗程序時輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,p0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2) p1端口p1.0p1.7 p1是一個帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時可驅(qū)動4個ttl。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部flash程序存儲器編程時,接收低8位地址信息。(3) p2端口p2.0p2.7 p2是一個帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時可驅(qū)動4個ttl。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部
20、flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,p2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。(4) p3端口p3.0p3.7 p2是一個帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時可驅(qū)動4個ttl。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部flash程序存儲器編程時,接控制信息。除此之外p3端口還用于一些專門功能,具體請看下表。p3引腳兼用功能p3.0串行通訊輸入(rxd)p3.1串行通訊輸出(txd)p3.2外部中斷0( int0)p3.3外部中斷1(int1)p3.4定時器0輸入(t0
21、)p3.5定時器1輸入(t1)p3.6外部數(shù)據(jù)存儲器寫選通wrp3.7外部數(shù)據(jù)存儲器寫選通rd表3-1p3端口引腳兼用功能表3.2 led顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管led顯示器、液晶lcd顯示器、crt顯示器等。led顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。圖3-4 led顯示器的符號圖發(fā)光二極管(led)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式led顯示器件(半導(dǎo)體顯示器)。分段式顯示器(led數(shù)碼管)由7條線段圍成8字型,每一段包含一個發(fā)光二極
22、管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。led數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式led數(shù)碼管的原理圖和符號.圖3-5 共陽式、共陰式led數(shù)碼管的原理圖和數(shù)碼管的符號圖顯示電路顯示模塊需要實(shí)時顯示當(dāng)前的時間,即時、分、秒,因此需要6個數(shù)碼管,另需兩個數(shù)碼管來顯示橫。采用動態(tài)顯示方式顯示時間,硬件連接如下圖所示,時的十位和個位分別顯示在第一個和第二個數(shù)碼管,分的十位和個位分別顯示在第四個和第五個數(shù)碼管,秒的十位和個位分別顯示在第七個和第八個數(shù)碼管,其余數(shù)碼管顯示橫線。led顯示器的顯示控制方式按驅(qū)動方式可分成靜態(tài)顯示方式和動態(tài)顯
23、示方式兩種。對于多位led顯示器,通常都是采用動態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式如下圖所示。圖3-6 數(shù)碼管的硬件連接示意圖數(shù)碼管使用條件:a、段及小數(shù)點(diǎn)上加限流電阻 b、使用電壓:段:根據(jù)發(fā)光顏色決定; 小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定c、使用電流:靜態(tài):總電流 80ma(每段 10ma);動態(tài):平均電流 4-5ma 峰值電流 100ma數(shù)碼管使用注意事項說明:()數(shù)碼管表面不要用手觸摸,不要用手去弄引角;()焊接溫度:度;焊接時間:()表面有保護(hù)膜的產(chǎn)品,可以在使用前撕下來。第四章 數(shù)字鐘的軟件設(shè)計系統(tǒng)的軟件設(shè)計也是工具系統(tǒng)功能的設(shè)計。單片機(jī)軟件的設(shè)計主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)
24、計和監(jiān)控軟件的設(shè)計。單片機(jī)的軟件設(shè)計通常要考慮以下幾個方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨(dú)立的部分,設(shè)計出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;(3)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實(shí)施軟件工程;(7)注意軟件的抗干擾設(shè)計,提高系統(tǒng)的可靠性。4.1 系統(tǒng)軟件設(shè)計流程圖這次的數(shù)字電子鐘設(shè)計用到很多子程序,它們的流程圖如下所示。開始啟動定時器按鍵檢
25、測時間顯示 主程序是先開始,然后啟動定時器,定時器啟動后在進(jìn)行按鍵檢測,檢測完后,就可以顯示時間。圖4-1 主程序流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來。 nynyny時加1顯示時間結(jié)束開始秒按鍵按下?秒加1分按鍵按下?分加1時按鍵按下?圖4-2 按鍵處理流程圖定時器中斷時是先檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時是否到,1小時如果到
26、,時單元就加1,如果沒到,就顯示時間。n24小時到?分單元清零,時單元加1nnnyy時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1yy 圖4-3 定時器中斷流程圖時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。時十位計算顯示結(jié)束開始秒個位計算顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示 圖4-4 時間顯示流程圖4.2 數(shù)字鐘的原理圖用proteus軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如下所示。圖4-5 數(shù)字鐘的原理圖 數(shù)字電子鐘工作原理 : 數(shù)
27、字電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標(biāo)準(zhǔn)秒信號送入“秒單元”,“秒單元”采用60進(jìn)制計數(shù)器,每累計60秒發(fā)出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖?!胺謫卧币膊捎?0進(jìn)制計數(shù)器,每累計60分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時單元”。“時單元”采用24進(jìn)制計時器,可實(shí)現(xiàn)對一天24小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。4.3 設(shè)計主程序。(本次設(shè)計我們采用匯編語言編寫程序簡單明了); p0.0
28、-7口 為數(shù)碼管段選,采用共陽顯示管。; p2.1-6為數(shù)碼管位選。; 7071h 秒計時和顯示單元 ; 7273h 分顯示單元 注意:72h放個位數(shù) 73h放十位數(shù); 7475h 小時顯示單元; 7677h 分計時單元; 7879h 小時計時單元; 中斷入口程序 ; org 0000h ;程序執(zhí)行開始地址 ljmp start ;跳到標(biāo)號start執(zhí)行 org 0003h ;外中斷0中斷程序入口 reti ;外中斷0中斷返回 org 000bh ;定時器t0中斷程序入口 ljmp intt0 ;跳至intto執(zhí)行 org 0013h ;外中斷1中斷程序入口 reti ;外中斷1中斷返回 or
29、g 001bh ;定時器t1中斷程序入口 ljmp intt1 ;跳至intt1執(zhí)行 org 0023h ;串行中斷程序入口地址 reti ;串行中斷程序返回; ; ; 主 程 序 ; ; start: mov r0,#70h ;清70h-7ah共11個內(nèi)存單元 mov r7,#0bh ; cleardisp: mov r0,#00h ; inc r0 ; djnz r7,cleardisp ; mov 20h,#00h ;清20h(標(biāo)志用) mov 7ah,#0ah ;放入熄滅符數(shù)據(jù) mov tmod,#11h ;設(shè)t0、t1為16位定時器;用11.0592m初值是4c00h;用12m初值是
30、3cb0h mov tl0,#00h ;50ms定時初值(t0計時用) mov th0,#4ch ;50ms定時初值 mov tl1,#00h ;50ms定時初值(t1閃爍定時用) mov th1,#4ch ;50ms定時初值 setb ea ;總中斷開放 setb et0 ;允許t0中斷 setb tr0 ;開啟t0定時器 mov r4,#14h ;1秒定時用初值(50ms20) start1: lcall display ;調(diào)用顯示子程序 jnb p1.1,set_h ;此按鍵是小時加1 jnb p1.2,set_m ;此按鍵是分鐘加1 sjmp start1 ;p1.0口為1時跳回sta
31、rt1 set_h: ljmp set_hh set_m: ljmp set_mm; 1秒計時程序 ;t0中斷服務(wù)程序 intt0: push acc ;累加器入棧保護(hù) push psw ;狀態(tài)字入棧保護(hù) clr et0 ;關(guān)t0中斷允許 clr tr0 ;關(guān)閉定時器t0;用11.0592m初值是4c00h;用12m初值是3cb0h mov a,#00h ;中斷響應(yīng)時間同步修正,要精確調(diào)整在這里! add a,tl0 ;低8位初值修正 mov tl0,a ;重裝初值(低8位修正值) mov a,#4ch ;高8位初值修正 addc a,th0 ; mov th0,a ;重裝初值(高8位修正值)
32、 setb tr0 ;開啟定時器t0 djnz r4, outt0 ;20次中斷未到中斷退出 addss: mov r4,#014h ;20次中斷到(1秒)重賦初值 14h mov r0,#71h ;指向秒計時單元(70h-71h) acall add1 ;調(diào)用加1程序(加1秒操作) mov a,r3 ;秒數(shù)據(jù)放入a(r3為2位十進(jìn)制數(shù)組合) clr c ;清進(jìn)位標(biāo)志 cjne a,#60h,addmm ; addmm: jc outt0 ;小于60秒時中斷退出 acall clr0 ;大于或等于60秒時對秒計時單元清0 mov r0,#77h ;指向分計時單元(76h-77h) acall
33、add1 ;分計時單元加1分鐘 mov a,r3 ;分?jǐn)?shù)據(jù)放入a clr c ;清進(jìn)位標(biāo)志 cjne a,#60h,addhh ; addhh: jc outt0 ;小于60分時中斷退出 acall clr0 ;大于或等于60分時分計時單元清0 mov r0,#79h ;指向小時計時單元(78h-79h) acall add1 ;小時計時單元加1小時 mov a,r3 ;時數(shù)據(jù)放入a clr c ;清進(jìn)位標(biāo)志 cjne a,#24h,hour ; hour: jc outt0 ;小于24小時中斷退出 acall clr0 ;大于或等于24小時小時計時單元清0 outt0: mov 72h,76
34、h ;中斷退出時將分、時計時單元數(shù)據(jù)移 mov 73h,77h ;入對應(yīng)顯示單元 mov 74h,78h ; mov 75h,79h ; pop psw ;恢復(fù)狀態(tài)字(出棧) pop acc ;恢復(fù)累加器 setb et0 ;開放t0中斷 reti ;中斷返回; 加1子 程 序 ; add1: mov a,r0 ;取當(dāng)前計時單元數(shù)據(jù)到a dec r0 ;指向前一地址 swap a ;a中數(shù)據(jù)高四位與低四位交換 orl a,r0 ;前一地址中數(shù)據(jù)放入a中低四位 add a,#01h ;a加1操作 da a ;十進(jìn)制調(diào)整 mov r3,a ;移入r3寄存器 anl a,#0fh ;高四位變0 mo
35、v r0,a ;放回前一地址單元 mov a,r3 ;取回r3中暫存數(shù)據(jù) inc r0 ;指向當(dāng)前地址單元 swap a ;a中數(shù)據(jù)高四位與低四位交換 anl a,#0fh ;高四位變0 mov r0,a ;數(shù)據(jù)放入當(dāng)削地址單元中 ret ;子程序返回; 清零程序 ;對計時單元復(fù)零用 clr0: clr a ;清累加器 mov r0,a ;清當(dāng)前地址單元 dec r0 ;指向前一地址 mov r0,a ;前一地址單元清0 ret ;子程序返回; 顯示程序 ; 顯示數(shù)據(jù)在70h-75h單元內(nèi),用六位led共陽數(shù)碼管顯示,p1口輸出段碼數(shù)據(jù),p2口作; 掃描控制,每個led數(shù)碼管亮1ms時間再逐位
36、循環(huán)。 display: mov r1,#70h ;指向顯示數(shù)據(jù)首址 mov r5,#11011111b ;掃描控制字初值 play: mov a,r5 mov p2,a ;從p2口輸出 mov a,r1 ;取顯示數(shù)據(jù)到a mov dptr,#tab ;取段碼表地址 movc a,a+dptr ;查顯示數(shù)據(jù)對應(yīng)段碼 cjne r5,#0feh,play_1 ;不是秒低位則轉(zhuǎn)移play_1 anl a,#7fh ;是,則點(diǎn)亮 ajmp play_3 play_1: cjne r5,#0fbh,play_2 ;分低位? anl a,#7fh ajmp play_3 play_2: cjne r5,
37、#0efh,play_3 ;時低位? anl a,#7fh play_3:mov dptr,#00ffh ;將要顯示的字型碼送74ls273 movx dptr,a ;段碼放入p0口 lcall dl1ms ;顯示1ms inc r1 ;指向下一地址 mov a,r5 ;掃描控制字放入a jnb acc.0,endout ;acc.5=0時一次顯示結(jié)束 rr a ;a中數(shù)據(jù)循環(huán)左移 mov r5,a ;放回r5內(nèi) ajmp play ;跳回play循環(huán) endout: setb p2.0 ;一次顯示結(jié)束,p2口復(fù)位 ;mov p1,#0ffh ;p1口復(fù)位 ret ;子程序返回 tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffh;共陽段碼表 0 1 2 3 4 5 6 7 8 9 不亮; 延時程序 ;1ms延時程序,led顯示程序用 dl1ms: mov r6,#14h dl1: mov r7,#19h dl2: djnz r7,dl2 dj
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育政策在促進(jìn)教師職業(yè)發(fā)展中的作用
- 心理健康教育與提升學(xué)生工作效能的策略研究
- 智能教育時代在線教學(xué)平臺的創(chuàng)新實(shí)踐
- 2025屆上海市盧灣高級中學(xué)高一物理第二學(xué)期期末達(dá)標(biāo)檢測試題含解析
- 直方圖法分析質(zhì)量數(shù)據(jù)題目
- 在線互動課堂的技術(shù)支撐與教學(xué)實(shí)踐
- 基于大數(shù)據(jù)的嬰幼兒教育娛樂內(nèi)容創(chuàng)新研究
- 中職數(shù)學(xué)不等式課件
- 創(chuàng)新網(wǎng)絡(luò)驅(qū)動的教育資源優(yōu)化配置
- 2025年廣東省梅縣東山中學(xué)高二物理第二學(xué)期期末調(diào)研試題含解析
- 喝酒大賽活動方案
- 服務(wù)認(rèn)證培訓(xùn)課件
- 工地施工特種設(shè)備管理制度
- 江蘇省南京、鎮(zhèn)江、徐州三市多校聯(lián)考2025年高二下第二學(xué)期5月月考語文試卷
- 瀝青路面施工質(zhì)量控制要點(diǎn)課件
- 廬山市國有投資控股集團(tuán)有限公司招聘筆試題庫2025
- T/CADBM 63-2022建筑室內(nèi)窗飾產(chǎn)品百葉簾
- 2025年貴州省公務(wù)員錄用考試《行測》真題及答案解析
- 香囊課件小學(xué)生
- 腳手架新型材料性能與應(yīng)用
- 物理光學(xué)知到智慧樹期末考試答案題庫2025年山東理工大學(xué)
評論
0/150
提交評論