版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> ?。薄‰娮訒r(shí)鐘</b></p><p> 1.1 電子時(shí)鐘簡(jiǎn)介 </p><p> 1957年,Ventura發(fā)明了世界上第一個(gè)電子表,從而奠定了電子時(shí)鐘的基礎(chǔ),電子時(shí)鐘開始迅速發(fā)展起來(lái)?,F(xiàn)代的電子時(shí)鐘是基于單片機(jī)的一種計(jì)時(shí)工具,采用延時(shí)程序產(chǎn)生一定的時(shí)間中
2、斷,用于一秒的定義,通過(guò)計(jì)數(shù)方式進(jìn)行滿六十秒分鐘進(jìn)一,滿六十分小時(shí)進(jìn)一,滿二十四小時(shí)小時(shí)清零。從而達(dá)到計(jì)時(shí)的功能,是人民日常生活補(bǔ)課缺少的工具。</p><p> 1.2電子時(shí)鐘的基本特點(diǎn)</p><p> 現(xiàn)在高精度的計(jì)時(shí)工具大多婁都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英,因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替
3、機(jī)械式傳動(dòng),用LED顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的核對(duì),片選的靈活性好。</p><p> 1.3 電子時(shí)鐘的原理 </p><p> 該電子時(shí)鐘由89C2051,BUTTON,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,由延時(shí)程序和循環(huán)程序產(chǎn)生的一秒定時(shí),
4、達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十四小時(shí)為一天。而電路中唯一的一個(gè)控制鍵卻擁有多種不同的功能,按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開,則可以通過(guò)按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。</p><p> 2 單片機(jī) </p&g
5、t;<p> 2.1 單片機(jī)簡(jiǎn)介 </p><p> 單片機(jī)全稱為單片機(jī)微型計(jì)算機(jī)(Single Chip Microsoftcomputer)。從應(yīng)用領(lǐng)域來(lái)看,單片機(jī)主要用來(lái)控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機(jī)是將計(jì)算機(jī)的基本部件微型化并集成在一塊芯片上的微型計(jì)算機(jī)。</p><p> 2.2 單片機(jī)
6、的發(fā)展史</p><p> 1 . 4位單片機(jī) </p><p> 1975年,美國(guó)德克薩斯儀器公司首次推出4位單片機(jī)TMS-1000;此后,各個(gè)計(jì)算機(jī)公司競(jìng)相推出四位單片機(jī)。日本松下公司的MN1400系列,美國(guó)洛克威爾公司的PPS/1系列等。四位單片機(jī)的主要應(yīng)用領(lǐng)域有:
7、PC機(jī)的輸入裝置,電池充電器,運(yùn)動(dòng)器材,帶液晶顯示的音/視頻產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計(jì)算器,多功能電話等。 </p><p> 2 . 8位單片機(jī) </p&
8、gt;<p> 1972年,美國(guó)Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機(jī)。在這以后,8位單片機(jī)紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的3870系列,摩托羅拉公司生產(chǎn)的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單片機(jī)相繼問(wèn)世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。這類單片機(jī)的尋
9、址能力達(dá)64KB,片內(nèi)ROM容量達(dá)4--8KB,片內(nèi)除帶有并行I\O口外,還有串行I\O口,甚至還有A\D轉(zhuǎn)化器功能。8位單片機(jī)由于功能強(qiáng),被廣泛用于自動(dòng)化裝置、智能儀器儀表、智能接口、過(guò)程控制、通信、家用電器等各個(gè)領(lǐng)域。</p><p> 3 . 16位單片機(jī)
10、 </p><p> 1983年以后,集成電路的集成度可達(dá)幾十萬(wàn)只管/片,各系列16位單片機(jī)紛紛面市。這一階段的代表產(chǎn)品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國(guó)國(guó)家半導(dǎo)體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機(jī)主要用于工業(yè)控制,智能儀器儀表,便攜式設(shè)備等場(chǎng)合。</p><p> 4 . 32位單片機(jī)
11、 </p><p> 隨著高新技術(shù)只智能機(jī)器人,光盤驅(qū)動(dòng)器,激光打印機(jī),圖像與數(shù)據(jù)實(shí)時(shí)處理,復(fù)雜實(shí)時(shí)控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20世紀(jì)80年代末推出了32位單片機(jī),如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來(lái)流行的ARM系列單片
12、機(jī)。32位單片機(jī)是單片機(jī)的發(fā)展趨勢(shì),隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價(jià)格的下降,將會(huì)與8位單片機(jī)并駕齊驅(qū)。</p><p> 5 . 64位單片機(jī) </p><p> 近年來(lái),64位單片機(jī)在引擎控制,智能機(jī)器人,磁盤控制,語(yǔ)音圖像通信,算法密集的實(shí)時(shí)控制場(chǎng)合已有應(yīng)
13、用,如英國(guó)Inmos公司的Transputer T800是高性能的64位單片機(jī)。</p><p> 2.3 單片機(jī)的特點(diǎn) </p><p> 1 . 單片機(jī)的存儲(chǔ)器ROM和RAM時(shí)嚴(yán)格區(qū)分的。ROM稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。
14、 </p><p> 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。 3 . 單片機(jī)的I/O口通常時(shí)多功能的。由于單片機(jī)芯片上引腳數(shù)目有限,為了解決實(shí)際引腳數(shù)和需要的信號(hào)線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可
15、由指令來(lái)設(shè)置或由機(jī)器狀態(tài)來(lái)區(qū)分。 </p><p> 4 . 單片機(jī)的外部擴(kuò)展能力很強(qiáng)。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時(shí),均可在外部進(jìn)行擴(kuò)展,與許多通用的微機(jī)接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計(jì)帶來(lái)了很大的方便。</p><p> 2.4 89C2051單片機(jī)介紹
16、 </p><p> 89C2051是由ATMEL公司推出的一種小型單片機(jī)。95年出現(xiàn)在中國(guó)市場(chǎng)。其主要特點(diǎn)為采用FLASH存貯技術(shù),降低了制造成本,其軟件、硬件與MCS-51完全兼容,可以很快被中國(guó)廣大用戶接受,其程序的電可擦寫特性,使得開發(fā)與試驗(yàn)比較容易。 </p><p> 2.4.1
17、 構(gòu)成:</p><p> 89C2051共有20條引腳,詳見下圖。從圖中可見,2051繼承了8031最重要引腳:</p><p> 1.引腳:P1口共8腳,準(zhǔn)雙向端口,P3共7腳,也是準(zhǔn)雙向端口,并且保留了全部的P3的第二功能,如P3.0、P3.1的串行通訊功能,P3.2、P3.3的中斷輸入功能,P3.4、P3.5的定時(shí)器功能。在引腳的驅(qū)動(dòng)能力上面,89C2051具有很強(qiáng)的下拉能力,
18、P1、P3口的下拉能力均可達(dá)到20mA,相比之下,89C51/87C51的端口的下拉能力每腳最大為15mA。但是限定9腳電流之和小于71mA。這樣,引腳的平均電流只有9mA。89C2051驅(qū)動(dòng)能力的增強(qiáng),使得它可以直接驅(qū)動(dòng)LED數(shù)碼管。為了增加對(duì)模擬量的輸入功能,2051在其內(nèi)部構(gòu)造了一個(gè)模擬信號(hào)比較器,其輸入端辦連到P1.0和P1.1口比較結(jié)果存入P3.6對(duì)應(yīng)寄存器,(P3.6在2051外部無(wú)引腳)。對(duì)于一些不大復(fù)雜的控制電路我們就可
19、以增加少量元件來(lái)實(shí)現(xiàn),例如,對(duì)溫度的控制,過(guò)壓的控制等。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> 2.電源:89C2051有很寬的工作電源電壓,可為2.7到6V,當(dāng)工作在3V時(shí),電流相當(dāng)于6V工作時(shí)的1/4。89C2051工作于12Hz時(shí),動(dòng)態(tài)電流為5.5mA,空閑時(shí)為1mA,掉電態(tài)僅為20nA。這樣小的功耗很適合于電池供電的小型控制系統(tǒng)。</p&g
20、t;<p> 3.存儲(chǔ)器:89C2051片內(nèi)含有2k字節(jié)的Flash程序存儲(chǔ)器,128字節(jié)的片內(nèi)RAM,與80C31內(nèi)部完全類似。由于2051內(nèi)部設(shè)計(jì)全靜態(tài)工作,所以允許工作的時(shí)鐘為0--20MHz,也就是說(shuō),允許在低速工作時(shí),不破壞RAM內(nèi)容。相比之下,一般8031對(duì)最低工作時(shí)鐘限制為3.5MHz,因?yàn)槠鋬?nèi)部的RAM是動(dòng)態(tài)刷新的。89C2051不允許構(gòu)造外部總線來(lái)擴(kuò)充程序/數(shù)據(jù)存儲(chǔ)器,所以它也不需要ALEPSEN、RD
21、、WR一類的引腳。</p><p> 4.內(nèi)部I/O控制:89C2051在內(nèi)部I/O控制上繼承了MCS51的特性:5路2級(jí)優(yōu)待中斷,串等口,2路定時(shí)器/計(jì)數(shù)器。 </p><p> 2.4.2 實(shí)物:</p><p> 89C2051實(shí)物圖</p><p> AT89C2051是美國(guó)ATM
22、EL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含2k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C2051單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合。</p><p><b> 程序保密</b
23、></p><p> 89C2051設(shè)計(jì)有2個(gè)程序保密位,保密位1被編程之后,程序存儲(chǔ)器不能再被編程除非做一次擦除,保密位2被編程之后,程序不能被讀出。</p><p><b> 軟硬件的開發(fā)</b></p><p> 89C2051可以采用下面2種方法開發(fā)應(yīng)用系統(tǒng)。</p><p> ?。?) 由于89C2
24、051內(nèi)部程序存貯器為Flash,所以修改它內(nèi)部的程序十分方便快捷,只要配備一個(gè)可以編程89C2051的編程器即可。調(diào)試人員可以采用程序編輯-編譯-固化-插到電路板中試驗(yàn)這樣反復(fù)循環(huán)的方法,對(duì)于熟練的MCS-51程序員來(lái)說(shuō),這種調(diào)試方法并不十分困難。當(dāng)做這種調(diào)試不能夠了解片內(nèi)RAM的內(nèi)容和程序的走向等有關(guān)信息。</p><p> ?。?) 將普通8031/80C31仿真器的仿真插頭中P1.0~P1.7和P3.0~
25、P3.6引出來(lái)仿真2051,這種方法可以運(yùn)用單步、斷點(diǎn)的調(diào)試方法,但是仿真不夠真實(shí),比如,2051的內(nèi)部模擬比較器功能,P1口、P3口的增強(qiáng)下拉能力等等。</p><p> 2.4.3 主要性能:</p><p> 和MCS-51產(chǎn)品兼容;</p><p> 2KB可重編程FLASH存儲(chǔ)器(1000次);</p><p> 2.7-
26、6V電壓范圍;</p><p> 全靜態(tài)工作:0Hz-24KHz</p><p> 2級(jí)程序存儲(chǔ)器保密鎖定</p><p> 128*8位內(nèi)部RAM</p><p> 15條可編程I/O線</p><p> 兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> 6個(gè)中斷源&l
27、t;/b></p><p><b> 可編程串行通道</b></p><p> 高精度電壓比較器(P1.0,P1.1,P3.6)</p><p> 直接驅(qū)動(dòng)LED的輸出端口</p><p> 3 控制系統(tǒng)的硬件設(shè)計(jì)</p><p> 3.1 單片機(jī)型號(hào)的選擇
28、 </p><p> 通過(guò)對(duì)多種單片機(jī)性能的分析,最終認(rèn)為89C2051是最理想的電子時(shí)鐘開發(fā)芯片。</p><p> 采用ATMEL的AT89C2051的微處理器是基于以下因素:</p><p> 89C2051為51內(nèi)核,仿真調(diào)試軟硬件資源豐富;<
29、;/p><p> 性價(jià)比高,貨源充足;</p><p> DIP20封裝,體積小,便于產(chǎn)品小型化;</p><p> 為EEPROM程序存儲(chǔ)介質(zhì),1000次以上擦/寫周期,便于編程調(diào)試;</p><p> 具有IDLE和POWER-DOWN兩種工作模式,便于進(jìn)行低功耗設(shè)計(jì);</p><p> 工作電壓范圍寬:2.
30、7--6V。便于交直流供電。</p><p> 3.2 數(shù)碼管顯示工作原理</p><p> 數(shù)碼管是一種把多個(gè)LED顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽(yáng)型,一種是共陰型。共陽(yáng)型就是把多個(gè)LED顯示段的陽(yáng)極接在一起,又稱為公共端。共陰型就是把多個(gè)LED顯示段的陰極接在一起,即為公共商。陽(yáng)極即為二極管的正極,又稱為正極,陰極即為二極管的負(fù)極,又稱為負(fù)極。通常的數(shù)碼管又分為
31、8段,即8個(gè)LED顯示段,這是為工程應(yīng)用方便如設(shè)計(jì)的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點(diǎn)位段。而多位數(shù)碼管,除某一位的公共端會(huì)連接在一起,不同位的數(shù)碼管的相同端也會(huì)連接在一起。即,所有的A段都會(huì)連在一起,其它的段也是如此,這是實(shí)際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動(dòng)態(tài)顯示的原理是,各個(gè)數(shù)碼管的相同段連接在一起,共同占用8 位段引管線;每位
32、數(shù)碼管的陽(yáng)極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個(gè)數(shù)碼管公共端加有效信號(hào),在此同時(shí)給出該數(shù)碼管加有效的數(shù)據(jù)信號(hào),當(dāng)全段掃描速度大于視覺暫留速度時(shí),顯示就會(huì)清晰顯示出來(lái)。</p><p> 如下圖所示即為數(shù)碼管圖:</p><p> 3.3 鍵盤電路設(shè)計(jì) </p>
33、<p> 該設(shè)計(jì)只用了一個(gè)鍵盤,但實(shí)現(xiàn)的功能卻是比較完善,減少了硬件資源的損耗,該鍵盤可以實(shí)現(xiàn)小時(shí)和分鐘的調(diào)節(jié)以及控制是否進(jìn)入省電模式。當(dāng)按鍵按下又松開,可以實(shí)現(xiàn)屏蔽數(shù)碼管顯示的功能,達(dá)到省電的目的;直接按下不松開,則可以通過(guò)按鍵實(shí)現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實(shí)現(xiàn)小時(shí)的調(diào)節(jié),同樣每按一次小時(shí)加一。達(dá)到時(shí)間調(diào)節(jié)的目的。</p><p> 3.4 整個(gè)電路原理圖 &l
34、t;/p><p> 4 控制系統(tǒng)的軟件設(shè)計(jì) </p><p> 4.1 程序設(shè)計(jì) </p><p> 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序四大模塊。在程序
35、設(shè)計(jì)過(guò)程中,加強(qiáng)了部分軟件抗干擾措施,下面對(duì)主程序及顯示程序作一下簡(jiǎn)單介紹:</p><p><b> 主程序:</b></p><p> START: MOV R0,#70H ;清70H---7AH共11個(gè)內(nèi)存單元</p><p> MOV R7,#0BH </p><p>
36、 CLEARDISP: MOV @R0,#00H </p><p> INC R0 </p><p> DJNZ R7,CLEARDISP </p><p> MOV 20H,#00H ;清20H(標(biāo)志用)</p><p> MOV
37、 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)</p><p> MOV TMOD,#11H ;設(shè)定T0,T1為16位定時(shí)器</p><p> MOV TL0,#0B0H ;以下為T0,T1的定時(shí)初值</p><p> MOV TH0,#3CH</p><p>
38、 MOV TL1,#0B0H</p><p> MOV TH1,#3CH</p><p> SETB EA ;以下為開中斷并啟動(dòng)T0</p><p><b> SETB ET0</b></p><p><b> SETB TR0</b></p&
39、gt;<p> MOV R4,#14H ;1秒定時(shí)用初值50乘20</p><p> START1: LCALL DISPLAY ;調(diào)用顯示子程序</p><p> JNB P3.7,SETMM1 ;P3.7為0時(shí)轉(zhuǎn)時(shí)間調(diào)整程序</p><p> SJMP START1
40、 ;P3.7為1時(shí)轉(zhuǎn)START1</p><p> SETMM1: LJMP SETMM ;轉(zhuǎn)時(shí)間調(diào)整程序SETMM</p><p><b> 顯示子程序:</b></p><p> 顯示數(shù)據(jù)在70H--75H單元內(nèi),用六位LED共陽(yáng)數(shù)碼管顯示,P1口輸出段碼數(shù)據(jù),P3口作掃描控制,每個(gè)LED數(shù)
41、碼管亮1ms時(shí)間再逐位循環(huán)。</p><p> DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p><p> MOV R5,#0FEH ;掃描控制字初值</p><p> PLAY: MOV A,R5 ;掃描字給A</p><p>
42、 MOV P3,A ;從P3口輸出</p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A</p><p> MOV DPTR,#TAB ;取段碼表地址</p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼</p><p> MOV
43、P1,A ;段碼放入P1口</p><p> LCALL DL1MS ;顯示1ms</p><p> INC R1 ;指向下一地址</p><p> MOV A,R5 ;</p><p> JNB ACC.5,ENDOUT
44、 ;ACC.5=0時(shí)一次顯示結(jié)束</p><p> RL A ;A中數(shù)據(jù)循環(huán)左移</p><p> MOV R5,A ;放入R5內(nèi)</p><p> AJMP PLAY ;跳回PLAY循環(huán)</p><p> ENDOUT: SETB
45、 P3.5 ;一次顯示結(jié)束,P3口復(fù)位</p><p> MOV P1,#0FFH ;P1口復(fù)位</p><p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH</p>
46、<p> 4.2 程序流程圖</p><p> 系統(tǒng)的流程圖如圖4.1和圖4.2所示:</p><p><b> 主程序流程圖:</b></p><p> 是 否 </p><p>
47、 ;時(shí)間調(diào)整 程序流程圖;</p><p><b> 5仿真結(jié)果</b></p><p><b> 5.1 仿真圖</b></p><p> 圖4.3 開始運(yùn)行程序仿真圖</p><p> 圖4.4 運(yùn)行一段時(shí)間后仿真圖</p><p> 5.2 仿真結(jié)果分
48、析</p><p> 功能太過(guò)單調(diào),只能實(shí)現(xiàn)時(shí)、分、秒的顯示,設(shè)計(jì)比較簡(jiǎn)單。電路圖的設(shè)計(jì)過(guò)于單調(diào),用的器件太少,實(shí)現(xiàn)調(diào)節(jié)時(shí)間的按鈕太少,不能很好的實(shí)現(xiàn)時(shí)間的調(diào)節(jié)。在測(cè)試過(guò)程中,六位數(shù)碼顯示管只顯示五位數(shù)字,有一位數(shù)字不亮,通過(guò)多次的修改程序并在PROTEUS軟件環(huán)境中進(jìn)行仿真,最終解決了這個(gè)問(wèn)題,同時(shí)也透露出本人在單片機(jī)電路設(shè)計(jì)和程序設(shè)計(jì)方面的不足。不過(guò)最后的仿真效果非常好,實(shí)現(xiàn)了預(yù)期的效果,能過(guò)通過(guò)多功能控制
49、鍵調(diào)節(jié)時(shí)間和是否進(jìn)入省電模式,是一個(gè)比較令人滿意的設(shè)計(jì)。</p><p><b> ?。?結(jié)束語(yǔ)</b></p><p> 在xx老師耐心的指導(dǎo)下,我順利完成了這次單片機(jī)課程設(shè)計(jì)課題中的電子時(shí)鐘設(shè)計(jì),通過(guò)這次的設(shè)計(jì)使我認(rèn)識(shí)到本人對(duì)單片機(jī)方面的知識(shí)知道的太少了,對(duì)于書本上的很多知識(shí)還不能靈活運(yùn)用,尤其是對(duì)程序設(shè)計(jì)語(yǔ)句的理解和運(yùn)用,不能夠充分理解每個(gè)語(yǔ)句的具體含義,導(dǎo)
50、致編程的程序過(guò)于復(fù)雜,使得需要的存儲(chǔ)空間增大。損耗了過(guò)多的內(nèi)存資源。</p><p> 本次的設(shè)計(jì)使我從中學(xué)到了一些很重要的東西,感謝余老師對(duì)我的細(xì)心的指導(dǎo)。相信這對(duì)我以后的課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)將會(huì)有很大的幫助!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試[M]
51、.武漢:華中理工大學(xué)出版社,1992.</p><p> [2] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1993.</p><p> [3] 樓然笛.單片機(jī)開發(fā)[M].北京:人民郵電出版社,1994.[4] 付家才.單片機(jī)控制工程實(shí)踐技術(shù)[M].北京:化學(xué)工業(yè)出版社 2004.3.[5] 李光才.單片機(jī)課程設(shè)計(jì) 實(shí)例指導(dǎo)[M]. 北京:北京航空航天大學(xué)出版
52、社 2004.</p><p> [6] 朱定華.單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)[M].北京:北方交通大學(xué)出版社2002.11.</p><p> [7] 劉湘濤.江世明.單片機(jī)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2006.</p><p><b> 附錄</b></p><p> 程序源代碼:
53、 </p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b> ORG 0003H</b></p><p><b> RETI</b></p><p><
54、b> ORG 000BH</b></p><p> LJMP INTT0</p><p><b> ORG 0013H</b></p><p><b> RETI</b></p><p><b> ORG 001BH</b></p&g
55、t;<p> LJMP INTT1</p><p><b> ORG 0023H</b></p><p><b> RETI</b></p><p><b> ;主程序</b></p><p> START:MOV R0,#70H</p
56、><p> MOV R7,#0BH ;</p><p> CLEARDISP: ;</p><p> MOV @R0,#00H ;清零</p><p> INC R0 ;</p><p> DJ
57、NZ R7,CLEARDISP ;</p><p> MOV 20H,#00H ;清20H(標(biāo)志用)</p><p> MOV 7AH,#0AH ;放入熄滅符數(shù)據(jù)</p><p> MOV TMOD,#11H ;T0,T1為16位定時(shí)器</p><p> MO
58、V TL0,#0B0H ;以下為T0,T1的定時(shí)初值</p><p> MOV TH0,#3CH</p><p> MOV TL1,#0B0H</p><p> MOV TH1,#3CH</p><p> SETB EA ;以下為開中斷并啟動(dòng)T0</p><
59、p><b> SETB ET0</b></p><p><b> SETB TR0</b></p><p> MOV R4,#14H ;1秒定時(shí)用初值50乘20</p><p><b> START1:</b></p><p> LC
60、ALL DISPLAY</p><p> JNB P3.7,SETMM1 ;P3.7為0時(shí)轉(zhuǎn)時(shí)間調(diào)整程序</p><p> SJMP START1 ;為1時(shí)轉(zhuǎn)START1</p><p> SETMM1: LJMP SETMM ;轉(zhuǎn)時(shí)間調(diào)整程序</p><p><b> ;1
61、s計(jì)時(shí)程序</b></p><p> INTT0: PUSH ACC</p><p><b> PUSH PSW</b></p><p><b> CLR ET0</b></p><p><b> CLR TR0</b></p>&l
62、t;p> MOV A,#0B7H</p><p> ADD A,TL0</p><p> MOV TL0, A</p><p> MOV A,#3CH</p><p> ADDC A,TH0</p><p> MOV TH0,A</p><p><b>
63、SETB TR0</b></p><p> DJNZ R4,OUTT0</p><p> ADDSS: MOV R4,#14H</p><p> MOV R0,#71H</p><p> ACALL ADD1</p><p><b> MOV A,R3</b>
64、;</p><p><b> CLR C</b></p><p> CJNE A,#60H,ADDMM</p><p> ADDMM: JC OUTT0</p><p> ACALL CLR0</p><p> MOV R0,#77H</p><p&g
65、t; ACALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b></p><p> CJNE A,#60H,ADDHH</p><p> ADDHH: JC OUTT0</p><p> ACALL CLR0</p&
66、gt;<p> MOV R0,#79H</p><p> ACALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b></p><p> CJNE A,#24H,HOUR</p><p> HOUR : JC
67、 OUTT0</p><p> ACALL CLR0</p><p> OUTT0: MOV 72H,76H</p><p> MOV 73H,77H</p><p> MOV 74H,78H</p><p> MOV 75H,79H</p><p> POP
68、 PSW</p><p> POP ACC</p><p> SETB ET0</p><p><b> RETI</b></p><p><b> ;;;</b></p><p><b> ;;;;閃動(dòng)調(diào)時(shí)</b></p&
69、gt;<p> INTT1: PUSH ACC</p><p><b> PUSH PSW</b></p><p> MOV TL1,#0B0H</p><p> MOV TH1,#3CH</p><p> DJNZ R2,INTT1OUT</p><p>
70、 MOV R2,#06H</p><p> CPL 02H</p><p> JB 02H,FLASH1</p><p> MOV 72H,76H</p><p> MOV 73H,77H</p><p> MOV 74H,78H</p><p> M
71、OV 75H,79H</p><p> INTT1OUT: POP PSW</p><p> POP ACC</p><p><b> RETI</b></p><p> FLASH1: JB 01H,FLASH2</p><p> MOV 72
72、H,7AH</p><p> MOV 73H,7AH</p><p> MOV 74H,78H</p><p> MOV 75H,79H</p><p> AJMP INTT1OUT</p><p> FLASH2: MOV 72H,76H</p><p&
73、gt; MOV 73H,77H</p><p> MOV 74H,7AH</p><p> MOV 75H,7AH</p><p> AJMP INTT1OUT</p><p> ;;;;;;加1程序;</p><p> ADD1: MOV A,@R0</p
74、><p><b> DEC R0</b></p><p><b> SWAP A</b></p><p> ORL A,@R0</p><p> ADD A,#01H</p><p><b> DA A</b></p
75、><p> MOV R3,A</p><p> ANL A,#0FH</p><p> MOV @R0,A</p><p> MOV A,R3</p><p><b> INC R0</b></p><p><b> SWAP A&
76、lt;/b></p><p> ANL A,#0FH</p><p> MOV @R0,A</p><p><b> RET</b></p><p><b> ;;;清零程序</b></p><p> CLR0: CLR A</p>
77、;<p> MOV @R0,A</p><p><b> DEC R0</b></p><p> MOV @R0,A</p><p><b> RET</b></p><p><b> ; 時(shí)鐘調(diào)整程序</b></p><
78、;p> SETMM: CLR ET0</p><p><b> CLR TR0</b></p><p> LCALL DL1S</p><p> JB P3.7,CLOSEDIS</p><p> MOV R2,#06H</p><p> SETB ET
79、1</p><p> SETB TR1</p><p> SET2: JNB P3.7,SET1</p><p> SETB 00H</p><p> SET4: JB P3.7,SET3</p><p> LCALL DL05S</p><p> J
80、NB P3.7,SETHH</p><p> MOV R0,#77H</p><p> LCALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b></p><p> CJNE A,#60H,HHH</p
81、><p> HHH: JC SET4</p><p> LCALL CLR0</p><p><b> CLR C</b></p><p> AJMP SET4</p><p> CLOSEDIS: SETB ET0</p><p&g
82、t;<b> SETB TR0</b></p><p> CLOSE: JB P3.7,CLOSE</p><p> LCALL DISPLAY</p><p> JB P3.7,CLOSE</p><p> WAITH: JNB P3.7,WAITH</p&g
83、t;<p> LJMP START1</p><p> SETHH: CLR 00H</p><p> SETHH1: JNB P3.7,SET5</p><p> SETB 01H</p><p> SET6: JB P3.7,SET7</p>
84、<p> LCALL DL05S</p><p> JNB P3.7,SETOUT</p><p> MOV R0,#79H</p><p> LCALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b&
85、gt;</p><p> CJNE A,#24H,HOUU</p><p> HOUU: JC SET6</p><p> LCALL CLR0</p><p> AJMP SET6</p><p> SETOUT: JNB P3.7,SETOUT1</p>&
86、lt;p> LCALL DISPLAY</p><p> JNB P3.7,SETOUT</p><p> CLR 01H</p><p> CLR 00H</p><p> CLR 02H</p><p> CLR TR1</p><
87、p> CLR ET1</p><p> SETB TR0</p><p> SETB ET0</p><p> LJMP START1</p><p> SET1: LCALL DISPLAY</p><p> AJMP SET2</p><
88、;p> SET3: LCALL DISPLAY</p><p> AJMP SET4</p><p> SET5: LCALL DISPLAY</p><p> AJMP SETHH1</p><p> SET7: LCALL DISPLAY</p><p&g
89、t; AJMP SET6</p><p> SETOUT1: LCALL DISPLAY</p><p> AJMP SETOUT</p><p><b> ; 顯示程序</b></p><p> DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p>
90、;<p> MOV R5,#0FEH ;掃描控制字初值</p><p> PLAY: MOV A,R5 ;掃描字給A</p><p> MOV P3,A ;從P3口輸出</p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A</p&g
91、t;<p> MOV DPTR,#TAB ;取段碼表地址</p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼</p><p> MOV P1,A ;段碼放入P1口</p><p> LCALL DL1MS ;顯示1ms</p>&
92、lt;p> INC R1 ;指向下一地址</p><p> MOV A,R5 ;</p><p> JNB ACC.5,ENDOUT ;ACC.5=0時(shí)一次顯示結(jié)束</p><p> RL A ;A中數(shù)據(jù)循環(huán)左移</p><p
93、> MOV R5,A ;放入R5內(nèi)</p><p> AJMP PLAY ;跳回PLAY循環(huán)</p><p> ENDOUT: SETB P3.5 ;一次顯示結(jié)束,P3口復(fù)位</p><p> MOV P1,#0FFH ;P1口復(fù)位</p>
94、<p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH</p><p><b> ;延時(shí)程序</b></p><p> DL1MS: MOV R6,#14H</p>&l
95、t;p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p><b> ;20MS</b></p>&l
96、t;p> DS20MS: ACALL DISPLAY</p><p> ACALL DISPLAY</p><p> ACALL DISPLAY</p><p><b> RET</b></p><p><b> ;ANJIAN</b></p><
97、p> DL1S: LCALL DL05S</p><p> LCALL DL05S</p><p><b> RET</b></p><p> DL05S: MOV R3,#20H</p><p> DL05S1: LCALL DISPLAY</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)數(shù)字時(shí)鐘課程設(shè)計(jì)--單片機(jī)多功能電子鐘設(shè)計(jì)
- 基于單片機(jī)的多功能電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--多功能數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)— 多功能數(shù)字電子鐘
- 單片機(jī)課程設(shè)計(jì)報(bào)告---多功能電子鐘
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的電子鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于51單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的數(shù)字電子鐘
- 單片機(jī)微型機(jī)課程設(shè)計(jì)---多功能電子鐘
- 單片機(jī)課程設(shè)計(jì)報(bào)告---單片機(jī)的電子鐘設(shè)計(jì)
- 單片機(jī)c語(yǔ)言課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 電子鐘課程設(shè)計(jì)--基于單片機(jī)的電子鐘設(shè)計(jì)
- 基于單片機(jī)的電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--- 基于51單片機(jī)的簡(jiǎn)約電子鐘
- 電子鐘單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--電子鐘
- 單片機(jī)課程設(shè)計(jì)(電子鐘)
- 基于51單片機(jī)的多功能電子鐘設(shè)計(jì)
- 基于單片機(jī)的電子鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子鐘的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論