版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于at89c2051六位數(shù)字鐘的設(shè)計(jì)【摘要】本設(shè)計(jì)論文介紹了用at89c2051單片機(jī)控制的數(shù)字鐘的硬件結(jié)構(gòu) 與軟件設(shè)計(jì)。此數(shù)字鐘是一個(gè)將“時(shí)”、“分”、“秒”顯示于人的視覺(jué) 器官的計(jì)時(shí)裝置。它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59 秒,另外應(yīng)有校時(shí)功能。電路由時(shí)鐘脈沖發(fā)生器、時(shí)鐘計(jì)數(shù)器、譯碼驅(qū)動(dòng) 電路和數(shù)字顯示電路以及時(shí)間調(diào)整電路組成。用晶體振蕩器產(chǎn)生時(shí)間標(biāo)準(zhǔn) 信號(hào),這里采用石英晶體振蕩器。根據(jù)60秒為1分、60分為1小時(shí)、24 小時(shí)為1天的計(jì)數(shù)周期,分別組成兩個(gè)60進(jìn)制秒、分、一個(gè)24進(jìn)制 (時(shí)的計(jì)數(shù)器。構(gòu)成秒、分、時(shí)的計(jì)數(shù),實(shí)現(xiàn)計(jì)時(shí)的功能。顯示器件選 用le:d七段數(shù)碼管。
2、在譯碼顯示電路輸出的驅(qū)動(dòng)下,顯示出清晰、直觀的 數(shù)字符號(hào)。針對(duì)數(shù)字鐘會(huì)產(chǎn)生走時(shí)誤差的現(xiàn)象,在電路中就設(shè)計(jì)有有校準(zhǔn) 時(shí)間功能的電路。關(guān)鍵詞:?jiǎn)纹瑱C(jī),at89c2051,數(shù)字鐘,計(jì)時(shí)based on scm multi-purpose digital clock design abstract: the paper mainly presents the hardware and software design of the digital clock using at89c2051. this digital clock is a time-device, which can display &
3、quot;hour", "minute", "second". its time period is 24 hoursand the full scale of the display is 23 hours, 59 minutes, 59 seconds and it has the function of time adjustment. the circuit consists of the clock pulse generator, the clock counter, decod i ng drive circuit, digita
4、l display circuit and the time adjustment circuit. it generates time standard signal using crystal oscillator, here is the quartz crystal oscillator. because 60 seconds is 1 minute, 60 minutes is 1 hour and 24 hours is 1 day, we uses two counters of 60 parts and a counter of 12 part separately to co
5、nstitute the count of percentage of second, second, minute, and hour. so it can realize time function. di splay component selects seven-segment numerical tube led. driven by decod i ng output circuit, it can di splay show i ng clear and intuitive figures. due to walking error of digital clock, we de
6、sign time cal i brat i on circuit in the system.key words: single-chip microcomputer, at89c2051, digital clock, time目錄12案設(shè) 23部結(jié)弓iw第一章數(shù)字鐘的系統(tǒng)概述1.1 總 體 方i十第二章at89c2051單片機(jī)及其引腳說(shuō)明2.1 內(nèi)2.2程序保密、 .42. 3軟硬件的開(kāi)發(fā).42.4引腳說(shuō)日月,.42.5主要性 .5第=章電路的硬件設(shè)計(jì).73. 1復(fù)位電 .73.2時(shí)鐘電,.83.3按鍵電.83.4迅響電路及輸入、輸出電.93.5i碼管 顯示電5s103.5. 1led數(shù)
7、碼管結(jié)構(gòu)及工作原s.103.5.2顯示原a123.6穩(wěn)壓電 12第四章軟件設(shè)計(jì)144. 1主程序系統(tǒng)結(jié)144. 2軟件任務(wù)分 . 144. 3軟件流程.15第五章安裝與調(diào)試175.1 安裝、焊接到電路板±175.2 測(cè) 試 與 調(diào) 17組侖19而20參考文獻(xiàn)21隨 122隨 231隨 333引言鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定 時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、定時(shí)啟閉電路、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。隨著數(shù)字集成電路的出現(xiàn)和飛速發(fā)展,以及石英晶
8、體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度穩(wěn)定度 遠(yuǎn)遠(yuǎn)超過(guò)了老式的機(jī)械表,用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的數(shù)字鐘在數(shù)字顯 示方面,目前己有集成的計(jì)數(shù)、譯碼電路,它可以直接驅(qū)動(dòng)數(shù)碼顯示器件,也可以直接采用才coms -led光電組合器件,構(gòu)成模塊式石英晶體數(shù)字鐘。本設(shè)計(jì)主要是用中、小規(guī)模集成電路設(shè)計(jì)的一 臺(tái)能顯示時(shí)、分、秒的數(shù)字電子鐘。是由晶振電路產(chǎn)生1hz標(biāo)準(zhǔn)信號(hào),分、秒為00-59六十進(jìn)制計(jì) 數(shù)器,時(shí)為00-23二十四進(jìn)制計(jì)數(shù)器,可手動(dòng)校正,且具有整點(diǎn)報(bào)時(shí)功能。因此,研宄數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。第一章數(shù)字鐘的系統(tǒng)概述1. 1總體方案設(shè)計(jì)數(shù)字電子鐘是用數(shù)字電路實(shí)現(xiàn)“時(shí)
9、”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置,主要由 振蕩器、分頻器、計(jì)數(shù)器、譯碼顯示器、校時(shí)電路等部分組成。而數(shù)字鐘想淮確的計(jì) 時(shí)則是由振蕩器產(chǎn)生的時(shí)脈沖送到分頻器,分頻電路將時(shí)標(biāo)信號(hào)分成每秒一次的方波 信號(hào)。秒脈沖發(fā)生器產(chǎn)生頻率穩(wěn)定很高的秒脈沖,秒脈沖被送到一個(gè)六十進(jìn)制秒計(jì)數(shù) 器計(jì)數(shù),將計(jì)數(shù)結(jié)果送至秒個(gè)位和十位譯碼器,譯碼結(jié)果分別由兩只七段數(shù)碼管以十 進(jìn)制數(shù)形式顯示來(lái)。當(dāng)秒六十進(jìn)制計(jì)數(shù)器累計(jì)到第59秒時(shí),若再來(lái)一個(gè)秒脈沖,秒計(jì) 數(shù)器的進(jìn)位輸出就產(chǎn)生進(jìn)位脈沖(分計(jì)數(shù)脈沖),同時(shí),秒計(jì)數(shù)器的十位和個(gè)位都復(fù) 位到零。分計(jì)數(shù)脈沖又被送到分六十進(jìn)制計(jì)數(shù)器計(jì)數(shù),經(jīng)譯碼電路譯碼后數(shù)碼管顯示 相應(yīng)的分?jǐn)?shù)。當(dāng)計(jì)滿5
10、9分59秒時(shí),若再來(lái)一個(gè)秒脈沖,則分計(jì)數(shù)器便向時(shí)計(jì)數(shù)器送出 吋計(jì)數(shù)脈沖,同時(shí),分、秒計(jì)數(shù)器均復(fù)位到零。吋計(jì)數(shù)器是一個(gè)二十四進(jìn)制計(jì)數(shù)器, 當(dāng)計(jì)數(shù)顯示23時(shí)59分59秒時(shí),若再來(lái)一個(gè)秒脈沖,則時(shí)、分、秒計(jì)數(shù)器都應(yīng)回到零, 并顯示(00:00:00)表示己到達(dá)午夜零點(diǎn),第二天開(kāi)始繼續(xù)計(jì)數(shù)。其主耍的功能模塊如圖1-1所示。按鍵at89c2051選位圖1-1系統(tǒng)結(jié)構(gòu)框圖第二章at89c2051單片機(jī)及其引腳說(shuō)明at89c2051是美國(guó)atmel公司生產(chǎn)的低電壓、高性能cmos 8位單片機(jī),片內(nèi)含2kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(perom)和128bytes的隨機(jī)數(shù)據(jù)存儲(chǔ)器(ram),器件采用
11、atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和hash存儲(chǔ)單元,at89c2051單片機(jī)在電子類(lèi)產(chǎn)品中有廣泛的應(yīng)用如圖2_1所示。圖2-1 at89c20512.1內(nèi)部結(jié)構(gòu)at89c2051是一帶有2k字節(jié)閃速可編程可擦除只讀存儲(chǔ)器(eeprom)的低電壓,高性能8位cmos微處理器。它采用atmel的髙密非易失存儲(chǔ)技術(shù)制造并和工業(yè)標(biāo)準(zhǔn)mcs-51指令集和引腳結(jié)構(gòu)兼容。通過(guò)在單塊芯片上組合通用的cpli和閃速存儲(chǔ)器,atmel的at89c2051是一強(qiáng)勁的微型處理器,它對(duì)許多嵌入式控制應(yīng)用提供一定髙度靈活和成本低的解決辦法。at89c20
12、51提供以下標(biāo)準(zhǔn)功能:2k字節(jié)閃速存儲(chǔ)器,128字節(jié)ram, 15根i/o口,兩個(gè)16位定時(shí)器,一個(gè)五向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行口,一個(gè)精密模擬比較器以及兩種可選的軟件節(jié)電工作方式。空閑方停止cpu工作但允許ram、定時(shí)器/計(jì)數(shù)器、串行工作口和中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram內(nèi)容但振蕩器停止工作并禁止有其它部件的工作到下一個(gè)硬件復(fù)位。2.2程序保密at89c2051設(shè)計(jì)有2個(gè)程序保密位,保密位1被編程之后,程序存儲(chǔ)器不能再被編程除非做一次擦除,保密位2被編程之后,程序不能被讀出。2.3軟硬件的幵發(fā)at89c2051可以米用下面兩種方法開(kāi)發(fā)應(yīng)用系統(tǒng)。1. 由于89c2051內(nèi)部程序存貯
13、器為flash,所以修改它內(nèi)部的程序十分方便快捷,只 耍配備一個(gè)可以編程89c2051的編程器即可。調(diào)試人員可以采用程序編輯-編譯-固 化-插到電路板中試驗(yàn)這樣反復(fù)循環(huán)的方法,對(duì)于熟練的mcs-51程序員來(lái)說(shuō),這種 調(diào)試方法并不十分困難。但是做這種調(diào)試不能夠了解片內(nèi)ram的內(nèi)容和程序的走向等有關(guān)信息。2. 將普通8031/80c31仿真器的仿真插頭中p1. 0p1. 7和p3. 0p3. 6引出來(lái)仿真2051,這種方法 可以運(yùn)用單步、斷點(diǎn)的調(diào)試方法,但是仿真不夠真實(shí),比如,2051的內(nèi)部模擬比較器功能,p1口、p3口的増強(qiáng)下拉能力等等。2.4引腳說(shuō)明pdip/soicrst/vpp 匚 (rx
14、d) p3 0 匚 (txd) p31 xtal2c _xtal1 <intq)p3 2e inti)p3.3 :(to) p3.4 匚 (t1jp3 5eqndc1234567891020987654321 1. 1- 1. 1. 1 1. i 1 ifvcc p1 7 p16 pl 5 p14 pi 3 pi 2p1.1 (aini) pl 0 (ajmo) r3 7at89c2051圖2-4 at89c201511. vcc:電源電壓。2. gnd:地。3. n口: pl口是一個(gè)8位雙向i/o口。口引腳pl. 2p1. 7提供內(nèi)部上拉電阻,p1.0和pl. 1要求外部上拉電阻。p1
15、.0和n.l還分別作為片內(nèi)精密模擬比較器的同相輸入(ani0)和反相輸入(aini)。f>1口輸出緩沖器可吸收20ma電流并能直接驅(qū)動(dòng)led顯示。當(dāng)p! 口引腳寫(xiě)入“1”時(shí),其可用作輸入端,當(dāng)引腳n.2p1.7用作輸入并被外部拉低時(shí),它們將因內(nèi)部的寫(xiě)入“1”時(shí),其可用作輸入端。當(dāng)引腳pl. 2p1. 7用作輸入并被外部拉低時(shí),它們將因內(nèi)部的上拉電阻而流出電流。4. p3: p3口的p3.0p3.5、p3. 7是帶有內(nèi)部上拉電阻的七個(gè)雙向i/o口引腳。p3. 6用于固定輸入片內(nèi)比較器的輸出信號(hào)并且它作為一通用1/ 0引腳而不可訪問(wèn)。p3品緩沖器可吸收20ma電流。當(dāng)p3口寫(xiě)入“1”時(shí),它們
16、被內(nèi)部上 拉電阻拉高并可用作輸入端。用作輸入?yún)?,被外部吋拉低的p3u腳將用上拉電阻而流出電流。p3口還接收一些用于閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。5. rst:復(fù)位輸入。rst旦變成高電平所有的i/o引腳就復(fù)位到“1”。當(dāng)振蕩器正在 運(yùn)行時(shí),持續(xù)給出rst引腳兩個(gè)機(jī)器周期的高電平便可完成復(fù)位。每一個(gè)機(jī)器周期需12個(gè)振蕩器或時(shí)鐘周期。6. xtal1:作為振蕩器反相器的輸入和內(nèi)部吋鐘發(fā)生器的輸入。7. xtal2:作為振蕩器反相放大器的輸出。2. 5主要性能1.和mcs-51產(chǎn)品兼容;2. 2kb可重編程flash存儲(chǔ)器(10000次);3. 2. 7-6v電壓范圍;4. 全靜態(tài)工作:0hz
17、-24mhz;5. 2級(jí)程序存儲(chǔ)器保密鎖定;6. 128*8 位內(nèi)部 ram;7. 15條可編程i/o線;8. 兩個(gè)16位定時(shí)器/計(jì)數(shù)器;9. 6個(gè)屮斷源;10. 可編程串行通道;11. 高精度電壓比較器(pl.0, pl. 1, p3.6);12.直接驅(qū)動(dòng)led的輸出端口。第三章電路的硬件設(shè)計(jì)3. 1復(fù)位電路at89c2051單片機(jī)的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位引腳rst通過(guò)一個(gè)斯密特 觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,在每個(gè)機(jī)器周期的s5p2,斯密 特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)o上電復(fù)位電路是一種簡(jiǎn)單的復(fù)位電路,只要在rs
18、t復(fù)位引腳接-個(gè)電容到vcc,接一個(gè) 電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過(guò)電容加到rst復(fù)位引 腳一個(gè)短暫的高電平信號(hào),這個(gè)復(fù)位信號(hào)隨著vcc對(duì)電容的充電過(guò)程而回落,所以rst 引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,rst引腳的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間如圖3-1所示。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要vcc的上升時(shí)間不超過(guò)lms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位3.2時(shí)鐘電路時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影
19、響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。本文用的是內(nèi)部時(shí)鐘方式。cl11c2=-i ilxt al2xt al1gndgn d圖3-2時(shí)鐘電路at89c2051單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳xtal1,輸出端為引腳xtal2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器如圖3-2所示。3. 3按鍵電路按鍵的開(kāi)關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng)的i/o端u形成一個(gè)負(fù)脈沖。閉合和釋放過(guò)程都要經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定,這一過(guò)程是 處于高、低電平之
20、間的一種不穩(wěn)定狀態(tài),稱(chēng)為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開(kāi)關(guān)的 機(jī)械特性有關(guān),一般在5-loms之間。為了避免cpu多次處理按鍵的一次閉合,應(yīng)采用措 施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵,直接用i/o口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵 占用一條i/o口線,每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生互相影響。按鍵s1s3采用復(fù)用的 方式與顯示部分的p3.5、p3.4、p3.2 u復(fù)用。其工作方式為,在相應(yīng)端口輸出高電平吋讀取按鍵的狀態(tài)并由單片機(jī)消除抖動(dòng)并賦予相應(yīng)的鍵值如圖3-3所示。1k1k1kat89cs51gnd圖3-3按鍵電路3.4迅響電路及輸入、輸出電路迅響電路由有源蜂鳴器和pnp型三極管組成。其工作是當(dāng)pxp型
21、三極管導(dǎo)通后有源蜂鳴器立即發(fā)出定頻聲響。驅(qū)動(dòng)方式為獨(dú)立端口驅(qū)動(dòng),占用p3. 7端口。輸出電路是與迅響電路復(fù)合作用的,其電路結(jié)構(gòu)為有源蜂鳴器,5.1k定值電阻r6,排針j3并聯(lián)。當(dāng)有源蜂鳴器無(wú)迅響時(shí)j3輸出低電平,當(dāng)有源蜂鳴器發(fā)出聲響時(shí)j3輸出高電平,j3可接入數(shù)字電路等各種需要。驅(qū)動(dòng)方式為迅響復(fù)合輸出,不占端u。輸入電路是與迅響電路復(fù)合作用的,其電路結(jié)構(gòu)是在迅響電路的pxp型三極管的基極電路中接入排針j2。弓i腳排針可改變單片機(jī)1/0口的電平狀態(tài),從而達(dá)到輸入的目的。驅(qū)動(dòng)方式為復(fù)合端口驅(qū)動(dòng),占用p3.7端口如圖3-4所示。:ell圖3-4迅響電路及輸入、輸出電路3. 5數(shù)碼管顯示電路3.5.1
22、 lh)數(shù)碼管結(jié)構(gòu)及工作原理led數(shù)碼管(led segmentdisplays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。每一筆劃都是對(duì)應(yīng)一個(gè)字母表示dp是小數(shù)點(diǎn)。下圖為常用led數(shù)碼管內(nèi)部引腳圖如圖3-3-1所示。a b圖3-5-1 lh)數(shù)碼管正面?zhèn)€字段引腳led數(shù)碼管根據(jù)lh)的接法不同分為共陰和共陽(yáng)兩類(lèi)共陽(yáng)極led數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖如圖3-3-2所示。圖3-5-2共陽(yáng)極lhd數(shù)碼管的內(nèi)部結(jié)構(gòu)原理共陰極lild數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖如圖3-3-3所示。圖3-5-3共陰極led數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖lk)數(shù)碼管要正常顯示
23、,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)位,因此根據(jù)led數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類(lèi)。1.靜態(tài)顯示驅(qū)動(dòng)靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的i/o 埠進(jìn)行驅(qū)動(dòng),或者使用如bcd碼二-十進(jìn)位*器*進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單 ,顯示亮度高,缺點(diǎn)是占用i/o埠多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5x8 = 40根i/o 埠來(lái)驅(qū)動(dòng),要知道一個(gè)89s51單片機(jī)可用的i/o埠才32個(gè)呢。故實(shí)際應(yīng)用時(shí)必須增加邱區(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性。2.動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一
24、,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a, b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極com增加位元選通控制電路,位元選通由各自獨(dú)立的t/0線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相冋的字形碼,但究競(jìng)是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通com端電路的控制,所以我們只耍將需耍顯示的數(shù)碼管的選通控制打開(kāi),該位元就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。透過(guò)分時(shí)輪流控制各個(gè)led數(shù)碼管的com端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng) 態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺(jué)暫留 現(xiàn)象及發(fā)光二極體的余
25、輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的 速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o埠,而且功耗更低。3. 5. 2顯示原理顯示部分主要器件為3只兩位一體共陽(yáng)極數(shù)碼管,驅(qū)動(dòng)采用pnp型三極管驅(qū)動(dòng),各端口配 有限流電阻,驅(qū)動(dòng)方式為動(dòng)態(tài)掃描,占用p3.0p3.5端口,段碼由p1.0p1.6輸出。冒 號(hào)部分采用4個(gè)03.0的紅色發(fā)光二極管,驅(qū)動(dòng)方式為獨(dú)立端口p1. 7驅(qū)動(dòng)如圖3-3-2所示78l05是一個(gè)線性的穩(wěn)壓器,不論其輸入端接多少伏電源,其輸出是固定的5伏,主要 給小容量的器件提供電源。因?yàn)槭蔷€性穩(wěn)壓,所以其
26、輸出波形雜波比較嚴(yán)重,而且其 輸出會(huì)復(fù)制輸入的波形出來(lái)。所以前后都要濾波,在輸入端加電容時(shí)相當(dāng)于平滑電容 。起到一個(gè)濾波的作用,提高1c工作穩(wěn)定性。輸出端加電容是為木地器件提供能量的存儲(chǔ)器件,它能使穩(wěn)壓器的輸出均勻化,降低負(fù)載需求如圖3-6所示。46vc6100ufgnd圖3-6穩(wěn)壓電路本設(shè)計(jì)采用了單片機(jī)at89c2051為核心器件,它與c51相比除少了po、p2門(mén)外指令完全 相同。在電路中pl 口輸出段碼數(shù)據(jù),接六位數(shù)碼管的段碼引腳,p3口作掃描控制,控制各 位數(shù)碼管的顯示情況!并配合所有的外圍電路,具有上電復(fù)位的功能,無(wú)手動(dòng)復(fù)位功能。第四章軟件設(shè)計(jì)4.1主程序系統(tǒng)結(jié)構(gòu)圖4-1軟件系統(tǒng)結(jié)構(gòu)4
27、.2軟件任務(wù)分析軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來(lái)了9。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來(lái)看可分為兩大類(lèi): 一類(lèi)是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控 制和通信等,另一類(lèi)是監(jiān)控軟件,它是專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在 系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類(lèi)軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)
28、行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類(lèi)型問(wèn)題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤(pán)設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來(lái)講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問(wèn)題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為 后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類(lèi)程序 對(duì)實(shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒(méi)關(guān)系,故通常將監(jiān)控程序(鍵盤(pán) 解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行,而 前臺(tái)程序安排一些實(shí)
29、時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。 也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。4.3軟件流程圖圖4-3程序設(shè)計(jì)流程圖程序里先定義兩個(gè)中斷定吋器to和t1, 一個(gè)作為秒記數(shù)用,另一個(gè)做為調(diào)整吋閃爍用。 編程時(shí)先將p1和p3口數(shù)據(jù)清零,然后p1和p3口作動(dòng)態(tài)掃描顯示,由于人的眼睛有延遲性, 當(dāng)掃描頻率非常高時(shí)人就感覺(jué)數(shù)碼管一直亮著,而同時(shí)記數(shù)器在遵循時(shí)間的變化方式執(zhí) 行著秒到了60分加一,分到了60小時(shí)加一,小時(shí)到了24就歸零。p3. 7作為時(shí)間調(diào)整按 鈕當(dāng)長(zhǎng)按按住2秒以上進(jìn)入校準(zhǔn)時(shí)間狀態(tài)及換檔和退出,快速點(diǎn)觸用于調(diào)節(jié)時(shí)間數(shù)值,歸
30、零是復(fù)位按鈕。第五章安裝與調(diào)試5. 1安裝、焊接元件到電路板上按照先低后高,先小后大,先臥式后立式的順序,正確插入元件,其高低、極性要符合規(guī)定。1. 先從最低元件安裝。應(yīng)先安裝、焊接跳線機(jī)及電阻,用電阻多余的腳做跳線,電阻引腳不分正負(fù),焊接時(shí)間最好控制在2-3秒。2. 安裝、焊接瓷片電容。瓷片電容部分正負(fù)極。3. 安裝、焊接輕觸開(kāi)關(guān)4. 安裝、焊接三極管。三極管的外形基本一樣,注意分青,且方向要和電路板上的方向一致。5. 安裝、焊接12m11z品振。晶振沒(méi)有正負(fù)極。6. 安裝、焊接電解電容,裝的吋候要躺著安裝,立著會(huì)影響發(fā)光二極管的顯示不整齊07. 安裝、焊接20腳1c插座,從用一小缺口或小圓
31、點(diǎn)標(biāo)記的地方以逆時(shí)針數(shù)依次為1-20 腳,安裝時(shí)要注意缺口和電路上的缺口相一致。20只引腳都插到位后,先用手指按住 ,固定對(duì)角兩只引腳,防止插入的引腳掉出來(lái),再把板放到桌面上把剩k的引腳焊好 。焊好后不要急于插入單片機(jī)芯片,因?yàn)檫€有其他元件焊接,防止電烙鐵帶靜電擊壞單片機(jī)芯片。8. 安裝、焊接蜂鳴器。9. 安裝、焊接led。led和普通二極管一樣,有正負(fù)極之分,不能裝錯(cuò)。安裝、焊接數(shù)碼管。認(rèn)識(shí)數(shù)碼管內(nèi)部結(jié)構(gòu)。5.2測(cè)試與調(diào)試1. 功能按鍵s1為功能選擇按鍵,s2為功能擴(kuò)展按鍵,s3為數(shù)值加一按鍵。2. 功能及操作操作時(shí),連續(xù)短時(shí)間(小于1秒)按動(dòng)s1,即可在以上的6個(gè)功能中連續(xù)循環(huán)。中途如果長(zhǎng)
32、按(大于2秒)s1,則立即回到時(shí)鐘功能的狀態(tài)。2.1吋鐘功能:上電后即顯示10: 10: 00 ,寓意十全十美。2. 2校時(shí)功能:短按一次s1,即當(dāng)前時(shí)間和冒號(hào)為閃爍狀態(tài),按動(dòng)s2則小時(shí)位加1,按動(dòng)s3則分鐘位加1,秒時(shí)不可調(diào)。2. 3鬧鐘功能:短按二次s1,顯示狀態(tài)為22: 10: 00,冒號(hào)為長(zhǎng)亮。按動(dòng)s2則小時(shí)位加 1,按動(dòng)s3則分鐘位加1,秒時(shí)不可調(diào)。當(dāng)按動(dòng)小時(shí)位超過(guò)23時(shí)則會(huì)顯示這個(gè)表示關(guān)閉鬧鐘功能。鬧鈴聲為蜂鳴器長(zhǎng)鳴3秒鐘。2. 4倒計(jì)時(shí)功能:短按三次s1,顯示狀態(tài)為0,冒號(hào)為長(zhǎng)滅。按動(dòng)s2則從低位依此顯示高位,按動(dòng)s3則相應(yīng)位加1,當(dāng)s2按到第6次時(shí)會(huì)在所設(shè)定的時(shí)間狀態(tài)下開(kāi)始倒計(jì)
33、時(shí),再次按動(dòng)s2將再次進(jìn)入調(diào)整功能,并且停止倒計(jì)時(shí)。2. 5秒表功能:短按四次s1,顯示狀態(tài)為00: 00: 00,冒號(hào)為長(zhǎng)亮。按動(dòng)s2則開(kāi)始秒表計(jì)時(shí),再次按動(dòng)s2則停止計(jì)時(shí),當(dāng)停止計(jì)時(shí)的時(shí)候按動(dòng)s3則秒表清零。2. 6計(jì)數(shù)器功能:短按五次s1,顯示狀態(tài)為00: 00: 00,冒號(hào)為長(zhǎng)火,按動(dòng)s2則計(jì)數(shù)器加1,按動(dòng)s3則計(jì)數(shù)器清零。結(jié)論經(jīng)過(guò)人呈查找資料和老師的不斷指點(diǎn),我將所設(shè)計(jì)的六位數(shù)碼管電子鐘焊接成功,雖然不是很穩(wěn)定,但在這個(gè)過(guò)程屮,我了解了各個(gè)元器件的識(shí)別與測(cè)量,也了解了 at89c2051單片機(jī)及其引腳功能。同時(shí)明白了六位數(shù)碼管電子鐘的工作原理并實(shí)現(xiàn)了其功能。本租序設(shè)計(jì)時(shí),只川了一個(gè)定
34、時(shí)器t0,其他的中斷全部關(guān)斷,定時(shí)器工作在兩個(gè)8位自動(dòng)加載初始值狀態(tài)。 簡(jiǎn)短的定吋中斷程序只負(fù)責(zé)吋間的計(jì)數(shù)和進(jìn)位功能,這是保證走吋精確。有三個(gè)輕觸式按鍵:功能選擇按鍵 s1,功能擴(kuò)展按鍵s2,數(shù)值加一按鍵s3。此數(shù)字鐘采用了一只npn型的三極管及蜂鳴器為鬧時(shí)訊響電路。 通過(guò)這次的畢業(yè)設(shè)計(jì),我對(duì)向己的動(dòng)手能力有了信心。而臨著就業(yè),我將充分發(fā)揮我的主觀能動(dòng)性和在學(xué)校學(xué)到的一切知識(shí)。為母校添磚加瓦,為自己的前程奮斗!這次畢業(yè)設(shè)計(jì)的順利進(jìn)行,我深刻明白了理論知識(shí) 與社會(huì)實(shí)踐相結(jié)合的道理,從總得到了以前書(shū)本知識(shí)所不曾得到的知識(shí)。更加明白了如今信息時(shí)代電子技能 知識(shí)的重要性。增強(qiáng)了我對(duì)實(shí)際工藝技術(shù)、電子技
35、術(shù)和設(shè)備技術(shù)等方面的認(rèn)識(shí),掌握了分析處理方法,調(diào)試、計(jì)算等基本技能的訓(xùn)練,并具備丫一定程度的實(shí)際工作能力。致謝在這三年的學(xué)習(xí)生活中,學(xué)校嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)、良好的學(xué)習(xí)氛圍、老師們認(rèn)真的工作態(tài)度,都給我留下了非常深刻的印象。在這里我真誠(chéng)地向那些曾經(jīng)幫助過(guò)我、關(guān)心過(guò)我的老師、同學(xué)和朋友們說(shuō)一聲:謝謝!祝愿他們一生平安謝謝老師對(duì)我細(xì)心指導(dǎo)參考文獻(xiàn)1石生,電路基本分析m高等教育出版社.2008,9: 6466.2何立民,高級(jí)單片機(jī)教程m北航出版社.2009, 6:218220.3李振聲,實(shí)驗(yàn)電子技術(shù)m國(guó)防工業(yè)出版社.2007, 7:7375.4李全利,單片機(jī)原理與應(yīng)用技術(shù)m高等教育出版社.2009, 6:
36、8184.5劉守義,單片機(jī)應(yīng)用技術(shù)m西安電子科技大學(xué)出版社.2008, 4:719.6任為民,電子技術(shù)基礎(chǔ)課程設(shè)計(jì)m中央廣播電視大學(xué)出版社.2003, 10:8087.7 atmel, microcontroller data bookm. 2002,9: 3841.8 markl, montrose.printed circuit board design techniques for emccompliance.iee press seriesm.2000,11:4448.附錄1程序主要代碼:#include<reg2051.h>code senen_seg10=0x81,0x
37、e7,0x92,0xa2,0xe4,0xa8,0x88,0xe3,0x80,oxao;bitkey1_enter=0,key2_enter=0,key3_enter=0,countdown_mark=0,stopwatch_mark=0,count_mark=0,bell_mark=0;unsigned char program=0,program_variable=0,count_bit=0,count=0;unsigned char hour=10,minute=10,second=0;unsigned char delayed_hour=22,delayed_minute=10,dela
38、yed_second=0;unsigned char count_hour=0,count_minute=0,count_second=0;unsigned char count_time=0,count_count=0;void delay(unsigned int t)unsigned int ij;for(i=0;i<t;i+)for(j=0;j<10;j+);void timeo_init(void)ea=0;tr0=0;tmod=0x01;th0=0xec;tl0=0x73;et0=1;tr0=1;ea=1;static void timerojsr(void) inte
39、rrupt tfo_vector using 1tr0=0;th0=0xec;tl0=0x73;tr0=1;count_time+;if(count_time>=199)count_time=0;second+;if(second>=60)second=0;minute+;if(minute>=60)minute=o;hour+;if(hour=24)hour=0;if(delayed_hour=hour && delayed_minute=minute && second<4) p3_7=0else p3_7=1;if(countdow
40、n_mark=1)count_count+;if(count_count>=199 &&(count_second!=0|count_minute!=0|count_hour!=0)count_count=0;count_second-;if(count_second>=60)count_second=59;countminute-;if(count_minute>=60)count_minute=59;count_hour;if(count_hour>=100) count_hour=99;if(count_second=0&&coun
41、t_minute=0&&count_hour=0&&count_count<=12000) p3_7=0;else p3_7=1;if(count_count>=15000) count_count= 14000;if(stopwatch_mark=1)count_count+;if(count_count>=2)count_count=0;count_second+;if(count_second>=100)count_second=0;count_minute+;if(count_minute>=60)count_minute=
42、0;count_hour+;if(count_hour>=60) count_hour=0;unsigned char show_key (void)unsigned char x=o,y=o;switch (program)case 0: p1&=senen_segsecond%10;break;case 1: if(count_time>=90) p1&=senen_segsecond%10;break;case 2: if(delayed_hour=24) p1=0xfe;else p1 &=senen_segdelayed_second%10;bre
43、ak;case 3: if(count_bit>=0) p1 &=senen_segcount_second%10;else p1=0xff;break;case 4: p1&=senen_segcount_second%10;break;case 5: p1&=senen_segcount_second%10;break;delay(10);jf(p3_5=0)key1_enter=1;if(count<=254)count+;if(p3_4=0) key2_enter=1;if(p3_2=0) key3_enter=1;p3_3=1;p1|=0xff;s
44、witch (program)case 0: p1 &=senen_segsecond/10;break;case 1: if(count_time>=90) p1 &=senen_segsecond/10;break;case 2: if(delayed_hour=24) p1=0xfe;else p1 &=senen_segdelayed_second/10;break;case 3: if(count_bit=1) p1 &=senen_segcount_second/10;else p1=0xff;break;case 4: p1 &=se
45、nen_segcount_second/10;break;case 5: p1 &=senen_segcount_second/10;break;p3_1=0;delay(10);p3_1=1;p1|=0xff;switch (program)case 0: p1&=senen_segminute%10;break;case 1: if(count_time>=90) p1&=senen_segminute%10;break;case 2: if(delayed_hour=24) p1=0xfe;else p1&=senen_segdelayed_minu
46、te%10;break;case 3: if(count_bit>=2) p1 &=senen_segcount_minute%10;else p1=0xff;break;case 4: p1&=senen_segcount_minute%10;break;case 5: p1&=senen_segcount_minute%10;break;delay(10);p3_2=1;p1|=0xff;switch (program)case 0: p1 &=senen_segminute/10;break;case 1: if(count_time>=90)
47、 p1 &=senen_segminute/10;break;case 2: if(delayed_hour=24) p1=0xfe;else p1 &=senen_segdelayed_minute/10】;break;case 3: if(count_bit>=3) p1 &=senen_segcount_minute/10;else p1=0xff;break;case 4: p1 &=senen_segcount_minute/10;break;case 5: p1 &=senen_segcount_minute/10;break;p3_5
48、=0;delay(10);p3_5=1;p1|=0xff;switch (program)!case 0: p1&=senen_seghour%10;break;case 1: if(count_time>=90) p1 &=senen_seghour%10;break;case 2: if(delayed_hour=24) p1=0xfe;else p1 &=senen_segdelayed_hour%10;break;case 3: if(count_bit>=4) p1&=senen_segcount_hour%10;else p1=0xff;
49、break;case 4: p1 &=senen_segcount_hour%10;break;case 5: p1&=senen_segcount_hour%10;break;p3_0=0;delay(10);jf(p3_4=1 && key2_enter=1)x=3;3p3_0=1;p1|=0xff;switch (program)case 0: p1 &=senen_seghour/10;break;case 1: if(count_time=90) p1 &=senen_seghour/10;break;case 2: if(delaye
50、d_hour=24) p1=0xfe;else p1&=senen_segdelayed_hour/10;break;case 3: if(count_bit>=5)p1 &=senen_segcount_hour/10;else p1=0xff;break;case 4: p1 &=senen_segcount_hour/10;break;case 5: p1 &=senen_segcount_hour/10;break;p3_4=0;delay(10);if(p3_5=1 && key1_enter=1)if(count>=127
51、) x=1;else x=2;key1_enter=0;count=0;if(p3_2=1 && key3_enter=1)x=4;key3_enter=0;p3_4=1;p1|=0xff;if(program<=1 && count_time>=100) p1&=0xff;if(program<=1 && count_time<=100) p1&=0x7f;if(program=2) p1&=0x7f;if(program=3) p1&=0xff;if(program=4) p1&
52、=0x7f;if(program=5) p1&=0xff;y=x;x=0;return y;void main()p1=0xff;p3=0xff;timeo_init();while(1)switch(program)case 0: while(program=0)switch(show_key()case 0: break;case 1: program=0;break;case 2: program=1;break;break;case 1: while(program=1)switch(show_key()case 0: break;case 1: program=0;break
53、;case 2: program=2;break;case 3: hour+;if(hour=24)hour=0;case 4: minute+;if(minute=60)minute=0;break;break;case 2: while(program=2)switch(show_key()case 0: break;case 1: program=0;break;case 2: program=3;break;case 3: delayed_hour+;if(delayed_hour>=25)delayed_hour=0;break;case 4: delayed_minute+;if(delayed_minute>=60)delayed_minute=0;break;case 3: while(program=3)switch(show_key()case 0:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024石家莊公租房租賃合同編寫(xiě)指南及范本3篇
- 2024版貨物訂購(gòu)合同
- 2024英文企業(yè)海外市場(chǎng)拓展與業(yè)務(wù)洽談合同3篇
- 2025年度園林景觀沙石供應(yīng)與施工承包合同樣本4篇
- 2025年度醫(yī)藥代銷(xiāo)合同模板(醫(yī)藥供應(yīng)鏈)4篇
- 2025年度商業(yè)街區(qū)物業(yè)管理與服務(wù)合同3篇
- 2025年度商場(chǎng)家具安裝與商業(yè)空間優(yōu)化承包協(xié)議4篇
- 2024版權(quán)評(píng)估合同3篇帶眉腳
- 2025年度溫室大棚配套設(shè)施供應(yīng)與售后服務(wù)合同4篇
- 2025年度智慧城市基礎(chǔ)設(shè)施建設(shè)承包協(xié)議4篇
- 2023年日語(yǔ)考試:大學(xué)日語(yǔ)六級(jí)真題模擬匯編(共479題)
- 皮帶拆除安全技術(shù)措施
- ISO9001(2015版)質(zhì)量體系標(biāo)準(zhǔn)講解
- 《培訓(xùn)資料緊固》課件
- 黑龍江省政府采購(gòu)評(píng)標(biāo)專(zhuān)家考試題
- 成品煙道安裝施工方案
- 醫(yī)療免責(zé)協(xié)議書(shū)范本
- 2023山東春季高考數(shù)學(xué)真題(含答案)
- 2022年初中歷史課程標(biāo)準(zhǔn)電子版
- 高中生物 人教版 選修二《生態(tài)系統(tǒng)及其穩(wěn)定性》 《生態(tài)系統(tǒng)及其穩(wěn)定性》單元教學(xué)設(shè)計(jì)
- 工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)(2002年修訂本)完整版
評(píng)論
0/150
提交評(píng)論