版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE課程設(shè)計(jì)說(shuō)明書(shū)(2012/2013學(xué)年第二學(xué)期)課程名稱(chēng):?jiǎn)纹瑱C(jī)應(yīng)用題目:基于單片機(jī)的簡(jiǎn)易數(shù)字鐘專(zhuān)業(yè)班級(jí):自動(dòng)化10-自動(dòng)化(3)班學(xué)生姓名:倪設(shè)計(jì)成績(jī):2013年6月26日6基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)報(bào)告摘要目錄第1章緒論 1.1課題背景……………11.2課題來(lái)源……………2 1.3本章小結(jié)……………2第2章相關(guān)器件的結(jié)構(gòu) 2.1MCS-51的結(jié)構(gòu)………………………32.2CD4511…………………42.37段數(shù)碼管……………62.4三極管結(jié)構(gòu)……………72.5本章小結(jié)…………… 8第3章總體設(shè)計(jì)方案 3.1原始數(shù)據(jù)及主要任務(wù)…………………83.2技術(shù)要求………………83.3器件清單………………8 3.4設(shè)計(jì)方案………………9 3.5總電路原理圖…………9第4章電路的硬件設(shè)計(jì) 4.1復(fù)位電路………………10 4.2時(shí)鐘電路………………114.3按鍵電路………………114.4整點(diǎn)報(bào)時(shí)電路…………124.5數(shù)碼管顯示電路………………………134.6本章小結(jié)…………… 14第5章電路的軟件設(shè)計(jì) 115.1軟件程序內(nèi)容……………155.2軟件流程圖……………155.3定時(shí)程序設(shè)計(jì)……………175.3.1實(shí)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法……………175.3.2實(shí)時(shí)時(shí)鐘程序設(shè)計(jì)步驟………………175.4程序說(shuō)明…………………185.5本章小結(jié)…………………18第6章系統(tǒng)仿真6.1PROTUES軟件介紹………………………186.2電子鐘系統(tǒng)PROTUES仿真………………18第7章調(diào)試與功能說(shuō)明7.2系統(tǒng)性能測(cè)試與功能說(shuō)明………………207.3系統(tǒng)時(shí)鐘誤差分析………………………207.1硬盤(pán)調(diào)試…………………207.4軟件調(diào)試問(wèn)題及解決……………………20第8章結(jié)論與展望 158.1結(jié)束語(yǔ)…………………218.2單片機(jī)的發(fā)展趨勢(shì)……………………21參考文獻(xiàn)……………………23附錄…………………………23致謝…………………………35摘要單片機(jī)自1976年由Intel公司推出MCS-48開(kāi)始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無(wú)處不在,無(wú)所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車(chē)電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。本論文基于單片機(jī)原理技術(shù)介紹了一款于MCS-51芯片作為核心控制器的單片機(jī)簡(jiǎn)易數(shù)字鐘的設(shè)計(jì)與制作,包括硬件電路原理的實(shí)現(xiàn)方案設(shè)計(jì)、軟件程序編輯的實(shí)現(xiàn)、數(shù)字鐘正常工作的流程、原理圖仿真實(shí)現(xiàn)、硬件實(shí)物的安裝制作與硬件實(shí)物的調(diào)試過(guò)程。該單片機(jī)數(shù)字電子鐘采用LED數(shù)碼管能夠準(zhǔn)確顯示時(shí)間(顯示格式為:時(shí)時(shí),分分),可隨時(shí)進(jìn)行時(shí)間調(diào)整,時(shí)間可采用24小時(shí)制顯示。不僅能滿(mǎn)足所需要求而且還有很多功能可供開(kāi)發(fā),有著廣泛的應(yīng)用領(lǐng)域關(guān)鍵詞:?jiǎn)纹瑱C(jī)
;數(shù)字電子鐘
;數(shù)碼管
第1章緒論1.1課題背景單片機(jī)自1976年由Intel公司推出MCS-48開(kāi)始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無(wú)處不在,無(wú)所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車(chē)電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。單片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計(jì)算機(jī)中廣泛采用的,將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱(chēng)為普林斯頓結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),分別尋址的結(jié)構(gòu),一般需要較大的程序存儲(chǔ)器,目前的單片機(jī)以采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi)的結(jié)構(gòu)為多。20世紀(jì)80年代中期以后,Intel公司以專(zhuān)利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準(zhǔn)確地說(shuō)是與MCS-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用CMOS工藝,因而,常用80C51系列來(lái)稱(chēng)呼所有具有8051指令系統(tǒng)的單片機(jī),它們對(duì)8051單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)。其功能和市場(chǎng)競(jìng)爭(zhēng)力更強(qiáng),不該把它們直接稱(chēng)呼為MCS-51系列單片機(jī),因?yàn)镸CS只是Intel公司專(zhuān)用的單片機(jī)系列型號(hào)。MCS-51系列及80C51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的1.2課題來(lái)源現(xiàn)代生活的人們?cè)絹?lái)越重視起了時(shí)間觀念,可以說(shuō)是時(shí)間和金錢(qián)劃上了等號(hào)。對(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ī)械式的依賴(lài)于晶體震蕩器,可能會(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),因此得到了廣泛的使用。1.3本章小結(jié)本文介紹的設(shè)計(jì)是針對(duì)教學(xué)所用的單片機(jī),可以完成教學(xué)所需的功能,也可以達(dá)到實(shí)驗(yàn)要求。第2章相關(guān)器件的結(jié)構(gòu)2.1MCS-51的結(jié)構(gòu)MCS-51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過(guò)片內(nèi)單一總線(xiàn)連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對(duì)各種功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。單片機(jī)的40個(gè)引腳大致可分為4類(lèi):電源、時(shí)鐘、控制和I/O引腳。⒈電源:⑴VCC-芯片電源,接+5V;⑵VSS-接地端⒉時(shí)鐘:XTAL1、XTAL2-晶體振蕩電路反相輸入端和輸出端。⒊控制線(xiàn):控制線(xiàn)共有4根,⑴ ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖①ALE功能:用來(lái)鎖存P0口送出的低8位地址②PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。⑵ PSEN:外ROM讀選通信號(hào)。⑶ RST/VPD:復(fù)位/備用電源。RST(Reset)功能:復(fù)位信號(hào)輸入端。②VPD功能:在Vcc掉電情況下,接備用電源。⑷ EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。①EA功能:內(nèi)外ROM選擇端。②Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。⒋I/O線(xiàn)80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線(xiàn))。2.2CD4511CD4511是一個(gè)用于驅(qū)動(dòng)共陰極LED(數(shù)碼管)顯示器的BCD碼—七段碼譯碼器,特點(diǎn):具有BCD轉(zhuǎn)換、消隱和鎖存控制、七段譯碼及驅(qū)動(dòng)功能的CMOS電路能提供較大的拉電流。可直接驅(qū)動(dòng)LED顯示器。CD4511是一片CMOSBCD—鎖存/7段譯碼/驅(qū)動(dòng)器。其中abcd為BCD碼輸入,a為最低位。LT為燈測(cè)試端,加高電平時(shí),顯示器正常顯示,加低電平時(shí),顯示器一直顯示數(shù)碼“8”,各筆段都被點(diǎn)亮,以檢查顯示器是否有故障。BI為消隱功能端,低電平時(shí)使所有筆段均消隱,正常顯示時(shí),B1端應(yīng)加高電平。另外CD4511有拒絕偽碼的特點(diǎn),當(dāng)輸入數(shù)據(jù)越過(guò)十進(jìn)制數(shù)9(1001)時(shí),顯示字形也自行消隱。LE是鎖存控制端,高電平時(shí)鎖存,低電平時(shí)傳輸數(shù)據(jù)。a~g是7段輸出,可驅(qū)動(dòng)共陰LED數(shù)碼管。另外,CD4511顯示數(shù)“6”時(shí),a段消隱;顯示數(shù)“9”時(shí),d段消隱,所以顯示6、9這兩個(gè)數(shù)時(shí),字形不太美觀圖3是CD4511和CD4518配合而成一位計(jì)數(shù)顯示電路,若要多位計(jì)數(shù),只需將計(jì)數(shù)器級(jí)聯(lián),每級(jí)輸出接一只CD4511和LED數(shù)碼管即可。所謂共陰LED數(shù)碼管是指7段LED的陰極是連在一起的,在應(yīng)用中應(yīng)接地。限流電阻要根據(jù)電源電壓來(lái)選取,電源電壓5V時(shí)可使用300Ω的限流電阻。CD4511的工作原理1.CD4511的工作真值表如下表表3-2CD4511的真值表2.鎖存功能譯碼器的鎖存電路由傳輸門(mén)和反相器組成,傳輸門(mén)的導(dǎo)通或截止由控制端LE的電平狀態(tài)。當(dāng)LE為“0”電平導(dǎo)通,TG2截止;當(dāng)LE為“1”電平時(shí),TG1截止,TG2導(dǎo)通,此時(shí)有鎖存作用。
(3)譯碼
CD4511譯碼用兩級(jí)或非門(mén)擔(dān)任,為了簡(jiǎn)化線(xiàn)路,先用二輸入端與非門(mén)對(duì)輸入數(shù)
據(jù)B、C進(jìn)行組合,得出四項(xiàng),然后將輸入的數(shù)據(jù)A、D一起用或非門(mén)譯碼。
(4)消隱
BI為消隱功能端,該端施加某一電平后,迫使B端輸出為低電平,字形消隱。消隱控制電路。
消隱輸出J的電平為J==(C+B)D+BI如不考慮消隱BI項(xiàng),便得J=(B+C)D
據(jù)上式,當(dāng)輸入BCD代碼從10101111時(shí),J端都為“1”電平,從而使顯示器中的字形消隱。2.37段數(shù)碼管LED數(shù)碼管及引腳圖資料7段LED數(shù)碼管是利用7個(gè)LED(發(fā)光二極管)外加一個(gè)小數(shù)點(diǎn)的LED組合而成的顯示設(shè)備,可以顯示0~9等10個(gè)數(shù)字和小數(shù)點(diǎn),使用非常廣泛,它的外觀如下:這類(lèi)數(shù)碼管可以分為共陽(yáng)極與共陰極兩種,共陽(yáng)極就是把所有LED的陽(yáng)極連接到共同接點(diǎn)com,而每個(gè)LED的陰極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn));共陰極則是把所有LED的陰極連接到共同接點(diǎn)com,而每個(gè)LED的陽(yáng)極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn)),如下圖所示。圖中的8個(gè)LED分別與上面那個(gè)圖中的A~DP各段相對(duì)應(yīng),通過(guò)控制各個(gè)LED的亮滅來(lái)顯示數(shù)字。2.4三極管三極管的基本結(jié)構(gòu)是兩個(gè)反向連結(jié)的pn接面,如圖1所示,可有pnp和npn兩種組合。三個(gè)接出來(lái)的端點(diǎn)依序稱(chēng)為射極(emitter,E)、基極(base,B)和集極(collector,C),名稱(chēng)來(lái)源和它們?cè)谌龢O管操作時(shí)的功能有關(guān)。圖中也顯示出npn與pnp三極管的電路符號(hào),射極特別被標(biāo)出,箭號(hào)所指的極為n型半導(dǎo)體,和二極體的符號(hào)一致。在沒(méi)接外加偏壓時(shí),兩個(gè)pn接面都會(huì)形成耗盡區(qū),將中性的p型區(qū)和n型區(qū)隔開(kāi)。晶體三極管的用途主要是交流信號(hào)放大,直流信號(hào)放大和電路開(kāi)關(guān)。使用晶體管作放大用途時(shí),必須在它的各電極上加上適當(dāng)極性的電壓,稱(chēng)為“偏置電壓”簡(jiǎn)稱(chēng)“偏壓”,又“偏置偏流”。電路組成上叫偏置電路。晶體管各電極加上適當(dāng)?shù)钠秒妷褐?,各電極上便有電流流動(dòng)。通過(guò)發(fā)射極的電流稱(chēng)為“射極電流”,用IE表示;通過(guò)基極的電流稱(chēng)為“基極電流”,用IB表示;通過(guò)集電極的電流稱(chēng)為“集極電流”,用IC表示。2.5本章小結(jié)本章介紹了一些基本器件結(jié)構(gòu),MCS-51,7段數(shù)碼管,三極管。只有了解這些器件的結(jié)構(gòu)、功能,才可以更好地更簡(jiǎn)潔地設(shè)計(jì)電路。第3章總體設(shè)計(jì)方案3.1原始數(shù)據(jù)及主要任務(wù) 本次課程設(shè)計(jì)的任務(wù)是采用AT89S51作為控制單元,實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì)。(1)設(shè)計(jì)鍵盤(pán)輸入電路(2)設(shè)計(jì)顯示電路(3)合理分配地址,編寫(xiě)系統(tǒng)程序(4)利用Protel設(shè)計(jì)硬件電路原理圖和PCB圖(5)軟硬件聯(lián)機(jī)調(diào)試3.2技術(shù)要求設(shè)計(jì)一臺(tái)以MCS-51為核心的簡(jiǎn)易數(shù)字鐘。用p2口控制4只段碼管,四位數(shù)碼管顯示小時(shí)和分鐘,中間的那個(gè)點(diǎn)來(lái)區(qū)分小時(shí)和分鐘;每秒用一個(gè)LED閃爍一下;用了四個(gè)按鍵,分別是:選擇鍵,確認(rèn)鍵,加1鍵和減1鍵。時(shí)間要精準(zhǔn),整點(diǎn)報(bào)時(shí),聲音間隔一秒,并且可以調(diào)整時(shí)間、調(diào)整閃爍提示。3.3器件清單電阻:200(1個(gè))330(7個(gè))4.7K(1個(gè))470(1個(gè))1K(5個(gè))10K(4個(gè))按鍵開(kāi)關(guān):5個(gè)電容:30pF(2個(gè))電解電容:22μF(1個(gè))晶振:6MHZ(1個(gè))CD4511:(1個(gè))三極管:NPN(4個(gè))PNP(1個(gè))共陰極數(shù)碼管:(4個(gè))底座:DIP40(2個(gè))DIP16(1個(gè))萬(wàn)能電路板:1個(gè)AT89S51(1片)導(dǎo)線(xiàn)若干3.4設(shè)計(jì)方案數(shù)字鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。標(biāo)準(zhǔn)的頻率時(shí)間信號(hào)必須做到準(zhǔn)確穩(wěn)定,通常使用石英晶體振蕩電路構(gòu)成數(shù)字鐘。本次課程設(shè)計(jì)的內(nèi)容是設(shè)計(jì)一個(gè)數(shù)字鐘,由單片機(jī)通過(guò)編輯的程序控制電路,實(shí)現(xiàn)顯示時(shí)、分的一個(gè)電子時(shí)鐘。并且可以通過(guò)按鍵選擇調(diào)整時(shí)鐘時(shí)間,以及暫停的功能。按鍵輸入單元控制單元MCS-C51P1.4-P1.7按鍵輸入單元控制單元MCS-C51P1.4-P1.7顯示單元P0.0-P0.3按鍵單元P2.4-P2.7譯碼單元報(bào)時(shí)單元圖3-1電路方框圖3.5電路原理圖第4章電路的硬件設(shè)計(jì)4.1復(fù)位電路MCS-51單片機(jī)的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處開(kāi)始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6MHz時(shí),C取22μF,Rs約為200Ω,Rk約為1K。復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。常用的復(fù)位電路如下圖所示:圖復(fù)位電路圖4.2時(shí)鐘電路時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。本文用的是內(nèi)部時(shí)鐘方式。電路圖如下:MCS-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。4.3按鍵電路按鍵的開(kāi)關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。閉合和釋放過(guò)程都要經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定,這一過(guò)程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱(chēng)為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵,直接用I/O口線(xiàn)構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線(xiàn),每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生互相影響。電路圖如下:輸入信號(hào)主要是各種模式選擇和調(diào)整信號(hào),由按鍵開(kāi)關(guān)提供。在本實(shí)驗(yàn)中主要用用P0口輸入按鍵信號(hào),對(duì)于P0口,由于其存在高阻狀態(tài),為了實(shí)現(xiàn)開(kāi)關(guān)功能,給其添加上拉電阻。P0.0能選擇鍵,按鍵選擇要調(diào)整的時(shí)十位、時(shí)個(gè)位、分十位或分個(gè)位。P0.1字“+“鍵,按一下則對(duì)應(yīng)的數(shù)字加1。P0.2字“-”鍵,按一下則對(duì)應(yīng)的數(shù)字減1。P0.3能確認(rèn)鍵,。4.4整點(diǎn)報(bào)時(shí)電路電路圖如下:4.5數(shù)碼管顯示電路數(shù)碼管顯示器成本低,配置靈活,與單片機(jī)接口簡(jiǎn)單,在單片機(jī)應(yīng)用系統(tǒng)中廣泛應(yīng)用。數(shù)碼管的工作原理用CD4511實(shí)現(xiàn)LED與單片機(jī)的并行接口方法如圖所示。數(shù)碼管共陰極接單片機(jī)P0口輸出的片選信號(hào)選擇點(diǎn)亮的數(shù)碼管,從而達(dá)到了顯示輸出動(dòng)態(tài)顯示的效果。由于CD4511的驅(qū)動(dòng)電流,數(shù)碼管共陰極不用外加三極管或者74LS245等裝置驅(qū)動(dòng)數(shù)碼管。當(dāng)P2口低4位某位置1時(shí),與其相連的三極管導(dǎo)通,集電極為低電平,因?yàn)槭枪碴帢O數(shù)碼管,所以與該三極管相連的數(shù)碼管選通,顯示P2口輸出的數(shù)。4.6本章小結(jié)本章介紹的是本設(shè)計(jì)的硬件結(jié)構(gòu),單片機(jī)的相關(guān)I/O口輸入輸出就可以實(shí)現(xiàn)相應(yīng)的控制功能。還介紹了單片機(jī)的復(fù)位電路和時(shí)鐘電路。第5章電路的軟件設(shè)計(jì)5.1軟件程序內(nèi)容本設(shè)計(jì)的軟件程序包括主程序、中斷子程序、整點(diǎn)報(bào)時(shí)子程序、時(shí)鐘顯示子程序和延時(shí)子程序等等。另外由于電路中有四個(gè)按鍵,還另外設(shè)計(jì)了防抖動(dòng)程序來(lái)防止干擾。5.2軟件流程圖軟件程序整個(gè)流程圖如下:開(kāi)始開(kāi)始初始化初始化是是是否按時(shí)間確認(rèn)鍵是否按時(shí)間確認(rèn)鍵切換時(shí)間表切換時(shí)間表選擇鍵選擇被調(diào)時(shí)間選擇鍵選擇被調(diào)時(shí)間否否調(diào)整時(shí)間調(diào)整時(shí)間是是否與時(shí)間表時(shí)間匹配是是否與時(shí)間表時(shí)間匹配調(diào)用揚(yáng)聲器程序調(diào)用揚(yáng)聲器程序否否T0中斷服務(wù)子程序T0中斷服務(wù)子程序重置T0定時(shí)初值1s到?Y秒加11min到?Y分加1,秒清零1小時(shí)到?Y分清零,秒清零NNN返回5.3定時(shí)程序設(shè)計(jì)單片機(jī)的定時(shí)功能也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,此時(shí)的計(jì)數(shù)脈沖來(lái)自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖,也就是每經(jīng)過(guò)1個(gè)機(jī)器周期的時(shí)間,計(jì)數(shù)器加1。如果MCS-51采用的12MHz晶體,則計(jì)數(shù)頻率為1MHz,即每過(guò)1us的時(shí)間計(jì)數(shù)器加1。這樣可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以根據(jù)定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的初值。MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器具有4種工作方式,其控制字均在相應(yīng)的特殊功能寄存器中,通過(guò)對(duì)特殊功能寄存器的編程,可以方便的選擇定時(shí)器/計(jì)數(shù)器兩種工作模式和4種工作方式。定時(shí)器/計(jì)數(shù)器工作在方式0時(shí),為13位的計(jì)數(shù)器,由TLX(X=0、1)的低5位和THX的高8位所構(gòu)成。TLX低5位溢出則向THX進(jìn)位,THX計(jì)數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX.當(dāng)定時(shí)器/計(jì)數(shù)器工作于方式1,為16位的計(jì)數(shù)器。本設(shè)計(jì)單片機(jī)定時(shí)器,所以MCS-51內(nèi)部的定時(shí)器/計(jì)數(shù)器被選定為定時(shí)器工作模式,計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖使計(jì)數(shù)器增1。5.3.1實(shí)時(shí)時(shí)鐘實(shí)現(xiàn)的基本方法時(shí)鐘的最小計(jì)時(shí)單位是秒,但使用定時(shí)器的方式1,最大的定時(shí)時(shí)間也只能達(dá)到131ms。我們可把定時(shí)器的定時(shí)時(shí)間定為50ms。這樣,計(jì)數(shù)溢出20次即可得到時(shí)鐘的最小計(jì)時(shí)單位:秒。而計(jì)數(shù)20次可以用軟件實(shí)現(xiàn)。秒計(jì)時(shí)是采用中斷方式進(jìn)行溢出次數(shù)的累積,計(jì)滿(mǎn)20次,即得到秒計(jì)時(shí)。從秒到分,從分到時(shí)是通過(guò)軟件累加并進(jìn)行比較的方法來(lái)實(shí)現(xiàn)的。要求每滿(mǎn)1秒,則“秒”單元中的內(nèi)容加1;“秒”單元滿(mǎn)60,則“分”單元中的內(nèi)容加1;“分”單元滿(mǎn)60,則“時(shí)”單元中的內(nèi)容加1;“時(shí)”單元滿(mǎn)24,則將時(shí)、分、秒的內(nèi)容全部清零。5.3.2實(shí)時(shí)時(shí)鐘程序設(shè)計(jì)步驟(1)選擇工作方式,計(jì)算初值;(2)采用中斷方式進(jìn)行溢出次數(shù)累計(jì);(3)從秒——分——時(shí)的計(jì)時(shí)是通過(guò)累加和數(shù)值比較實(shí)現(xiàn)的;(4)時(shí)鐘顯示緩沖區(qū):時(shí)鐘時(shí)間在方位數(shù)碼管上進(jìn)行顯示,為此在內(nèi)部RAM中要設(shè)置顯示緩沖區(qū),共4個(gè)地址單元。顯示緩沖區(qū)從左到右依次存放時(shí)、分?jǐn)?shù)值;(5)主程序:主要進(jìn)行定時(shí)器/計(jì)數(shù)器的初始化編程,然后反復(fù)調(diào)用顯示子程序的方法等待中斷的到來(lái)。(6)中斷服務(wù)程序:進(jìn)行計(jì)時(shí)操作(7)加1子程序:用于完成對(duì)時(shí)、分的加操作,中斷服務(wù)程序在分、時(shí)加1時(shí)共有三種條調(diào)用加1子程序,包括三項(xiàng)內(nèi)容:合字、加1并進(jìn)行十進(jìn)制調(diào)整、分字。5.4程序說(shuō)明在整個(gè)系統(tǒng)中,在單片機(jī)的30H、31H中存儲(chǔ)當(dāng)前時(shí)間的小時(shí)、分鐘。由于要用數(shù)碼管顯示當(dāng)前的時(shí)間,必須用到分字和合字,因此在33H、34H、35H和36H中存儲(chǔ)當(dāng)前時(shí)間的時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位,方便顯示。本設(shè)計(jì)有由四個(gè)輕觸按鍵組成的小鍵盤(pán),這些按鍵可以任意改變當(dāng)前的狀態(tài)。按功能移位鍵一次,表示當(dāng)前要校對(duì)小時(shí)的十位;按第二次,表示當(dāng)前校對(duì)的是小時(shí)的個(gè)位;按第三次,則表示校對(duì)的是分鐘的十位;第四次,表示的校對(duì)的是分鐘的個(gè)位。按下數(shù)字“+”鍵和數(shù)字“-”鍵可在當(dāng)前校對(duì)的數(shù)字上相應(yīng)加上1或者減去1。5.5本章小結(jié)這一章介紹了本設(shè)計(jì)的軟件設(shè)計(jì),所有的功能在流程圖里清晰的表現(xiàn)了出來(lái),體現(xiàn)了設(shè)計(jì)的合理性、可實(shí)現(xiàn)性。第6章系統(tǒng)仿真6.1PROTUES軟件介紹Proteus軟件是LabcenterElectronics公司的一款電路設(shè)計(jì)與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來(lái)完成PCB的設(shè)計(jì),而ISIS模塊用來(lái)完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢(shì)就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤(pán)、LED、LCD等等。通過(guò)Proteus軟件的使用我們能夠輕易地獲得一個(gè)功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。6.2數(shù)字鐘鐘系統(tǒng)PROTUES仿真用PROTUES軟件,根據(jù)數(shù)字鐘的原理圖,畫(huà)出仿真圖,得到的圖如下所示。第7章調(diào)試與功能說(shuō)明單片機(jī)應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開(kāi)。一般的方法是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟/硬件故障。7.1硬盤(pán)調(diào)試拿到電路板后,首先要檢查加工質(zhì)量,并確保沒(méi)有任何方面的錯(cuò)誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬(wàn)用表測(cè)其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬(wàn)用表的探針?lè)诺絾纹瑱C(jī)接電源的引腳上檢測(cè)一下,看是否符合要求。7.2系統(tǒng)性能測(cè)試與功能說(shuō)明走時(shí):默認(rèn)為走時(shí)狀態(tài),按24小時(shí)制分別顯示“時(shí)時(shí)-分分”,有2個(gè)“-”動(dòng)態(tài)顯示,時(shí)間會(huì)按實(shí)際時(shí)間以秒為最少單位變化。走時(shí)調(diào)整:按kmin對(duì)分進(jìn)行調(diào)整,按一下加一分;按khour對(duì)時(shí)進(jìn)行調(diào)整,按一下加一小時(shí),從而達(dá)到快速設(shè)定時(shí)間的目的。7.3系統(tǒng)時(shí)鐘誤差分析時(shí)間是一個(gè)基本物理量,具有連續(xù)、自動(dòng)流逝、不重復(fù)等特性。我國(guó)時(shí)間基準(zhǔn)來(lái)自國(guó)家授時(shí)中心,人們?nèi)粘J褂玫臅r(shí)鐘就是以一定的精度與該基準(zhǔn)保持同步的。結(jié)合時(shí)間概念和誤差理論,可以定義電子鐘的走時(shí)誤差S=S1-S2,S1表示程序?qū)嶋H運(yùn)行計(jì)算所得的秒;S2表示客觀時(shí)間的標(biāo)準(zhǔn)秒。S>0時(shí)表示電子鐘秒單元數(shù)值刷新滯后,即走時(shí)誤差為“慢”;反之,S<0表示秒單元數(shù)值的刷新超前,即走時(shí)誤差為“快”。本次設(shè)計(jì)的單片機(jī)電子鐘系統(tǒng)中,其誤差主要來(lái)源包括晶體頻率誤差,定時(shí)器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時(shí)誤差;定時(shí)器溢出的時(shí)間誤差,本應(yīng)這一秒溢出,但卻在下一秒溢出,造成走時(shí)誤差;延遲時(shí)間過(guò)長(zhǎng)或過(guò)短,都會(huì)造成與基準(zhǔn)時(shí)間產(chǎn)生偏差,造成走時(shí)誤差。7.4軟件調(diào)試問(wèn)題及解決軟件程序的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線(xiàn)調(diào)試和在線(xiàn)調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課題,Keil軟件來(lái)調(diào)試程序,通過(guò)各個(gè)模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。第8章結(jié)論與展望8.1結(jié)束語(yǔ)學(xué)習(xí)的時(shí)候只是做過(guò)幾次很簡(jiǎn)單的實(shí)驗(yàn),現(xiàn)在知道要做課程設(shè)計(jì)并拿到題目時(shí),才發(fā)現(xiàn)原來(lái)我們學(xué)的欠缺太多。通過(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é)合的重要性,,也從中得知了很多書(shū)本上無(wú)法得知的知識(shí)。我們的學(xué)習(xí)不但要立足于書(shū)本,以解決理論和實(shí)際教學(xué)中的實(shí)際問(wèn)題為目的,還要以實(shí)踐相結(jié)合,理論問(wèn)題即實(shí)踐課題,解決問(wèn)題即課程研究,學(xué)生自己就是一個(gè)專(zhuān)家,通過(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)題的能力。8.2單片機(jī)的發(fā)展趨勢(shì)自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過(guò)了幾十年的發(fā)展路程。縱觀幾十年來(lái)單片機(jī)發(fā)展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),拉動(dòng)廣泛的應(yīng)用領(lǐng)域,表現(xiàn)出比微處理器更具個(gè)性的發(fā)展趨勢(shì):1.采用先進(jìn)結(jié)構(gòu)以實(shí)現(xiàn)高性能在過(guò)去的一段時(shí)間內(nèi),單片機(jī)的指令運(yùn)行速度一直在10MIPS以下,這對(duì)于應(yīng)用在工業(yè)控制領(lǐng)域內(nèi)的單片機(jī)來(lái)說(shuō)是足夠了,但當(dāng)單片機(jī)被應(yīng)用在通訊及DSP領(lǐng)域作為高速運(yùn)算、編碼或解碼時(shí),就會(huì)出現(xiàn)因指令運(yùn)行速度不夠而限制單片機(jī)應(yīng)用的情形,因此提高單片機(jī)指令運(yùn)行速度已經(jīng)成為迫切需要解決的問(wèn)題。2.進(jìn)一步降低功耗、基于80C51的飛利浦低功率、低系統(tǒng)成本微控制器51LPC系列是業(yè)界推動(dòng)單片機(jī)向低功耗方向發(fā)展的主導(dǎo)單片機(jī)系列之一。51LPC系列單片機(jī)采用以下三種方法降低功耗:(1)使系統(tǒng)進(jìn)入空閑模式,在空閑模式下,只有外圍器件在工作,任意的復(fù)位及中斷均可結(jié)束空閑模式;(2)使系統(tǒng)進(jìn)入低功耗模式,在低功耗模式下,振蕩器停止工作,是功耗降到最小(3)使系統(tǒng)進(jìn)入低電壓EPROM操作;EPROM包含了模擬電路,當(dāng)Vcc高于4V時(shí),可通過(guò)軟件使這些模擬電路掉電以降低功耗,在上電情況下可使系統(tǒng)退出該模式。3.采用FlashMemory隨著半導(dǎo)體工藝技術(shù)的不斷進(jìn)步,MPU的Flash版本逐漸替代了原有的OTP版本。FlashMPU具有以下優(yōu)點(diǎn):與多次可編程的窗口式EPROM相比,F(xiàn)lashMPU的成本要低得多;在系統(tǒng)編程能力以及產(chǎn)品生產(chǎn)方面提供了靈活性,因?yàn)镕lashMPU可在編程后面再次以新代碼重新編程;可減少已編程器件的報(bào)廢和庫(kù)存;有助于生產(chǎn)廠商縮短設(shè)計(jì)周期,使終端用戶(hù)產(chǎn)品和、更具有競(jìng)爭(zhēng)力。4.集成更多功能及兼容性目前單片機(jī)的另一個(gè)發(fā)展趨勢(shì)是在芯片上集成更多的功能。如模擬功能,包括模擬比較器、A/D和D/A轉(zhuǎn)換器等。具體表現(xiàn)在:兼容性作為設(shè)計(jì)的第一考慮;額外的新的特點(diǎn)是透明的;使用同一種編程器;OTP使器件快速提升及標(biāo)準(zhǔn)化成為可能。5.強(qiáng)抗干擾能力不斷加強(qiáng)抗干擾能力是單片機(jī)進(jìn)一步發(fā)展的必然趨勢(shì)。STMicroelectronics公司推出的ST62系列單片機(jī)在這方面是佼佼者,其優(yōu)良的抗干擾能力使得許多大公司將其應(yīng)用在系統(tǒng)中的關(guān)鍵部件上。許多單片機(jī)開(kāi)發(fā)商也正朝著這個(gè)方向努力。6.朝系列化、全面化方向發(fā)展各大單片機(jī)開(kāi)發(fā)商在增加產(chǎn)品功能的同時(shí)效力于形成產(chǎn)品的系列化=全面化,以滿(mǎn)足各種控制領(lǐng)域的要求,這也是單片機(jī)發(fā)展的趨勢(shì)之一。日本TOSHBA公司開(kāi)發(fā)了從4位到64位的多系列單片機(jī),日立公司也有從4.位到32位的單片機(jī),目前還沒(méi)有哪個(gè)廠家生產(chǎn)的單片機(jī)比東芝公司的種類(lèi)多。隨著單片機(jī)性能的不斷提高,不斷的克服和彌補(bǔ)自身的不足。在各種控制領(lǐng)域,單片機(jī)將擁有更加廣闊的使用天地。在很長(zhǎng)的一段時(shí)間內(nèi),它將一直是工程設(shè)計(jì)人員的首選控制芯片之一。參考文獻(xiàn)[1]權(quán)明富,齊佳音,舒華英.客戶(hù)價(jià)值評(píng)價(jià)指標(biāo)體系設(shè)計(jì)[J].南開(kāi)管理評(píng)論,2004,7(3):17-18.[2]張景元.基于單片機(jī)的多用途定時(shí)器的設(shè)計(jì)與實(shí)現(xiàn).電子工程師2000年第8期[3]李洪濤.一種單片機(jī)控制的定時(shí)打鈴器.電子世界.1990年第2期[4]何業(yè)軍李超.基于單片機(jī)控制的高精度定時(shí)打鈴器的設(shè)計(jì).電子技術(shù).2001年第7期[5]關(guān)宗安仲叢久.基于單片機(jī)實(shí)現(xiàn)的多路定時(shí)控制器的設(shè)計(jì).沈陽(yáng)航空工業(yè)學(xué)院學(xué)報(bào).2004年6月.第21卷第3期[6]ATMEL.MicrocontrollerDatabook.2002[7]Mark1.Montrose.PRINTEDCircuitBoardDesignTechniquesforEMCcompliance.IEEPressseries.2000[8]范立南.單片微機(jī)接口與控制技術(shù).沈陽(yáng):遼寧大學(xué)出版社.1996[9]張友德.單片微型機(jī)原理、應(yīng)用與實(shí)踐.上海:復(fù)旦大學(xué)出版社.1992[10]李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù),北京:北京航空航天大學(xué)出版社.1993[11]何希慶,高偉.MCS-51單片機(jī)原理、實(shí)驗(yàn)、實(shí)例[M].山東:山東大學(xué)出版社.1989[12]張毅剛,彭喜源,潭曉昀.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社.1997[13]胡漢才.單片機(jī)原理及接口技術(shù)[M],北京:清華大學(xué)出版社.1996[14]余永權(quán),單片機(jī)與家用電器智能化設(shè)計(jì)[M].北京:電子工業(yè)出版社.1995[15]房小翠,王金鳳.單片微型計(jì)算機(jī)與機(jī)電接口技術(shù)[M].北京國(guó)防工業(yè)出版社.2002[16]皮紅梅,李英順.單片機(jī)開(kāi)發(fā)中的定時(shí)方法.沈陽(yáng)石油化工高等專(zhuān)科學(xué)校學(xué)報(bào).2002年12月[17]Maxim公司.NewreleasesDataBook1996附錄連接方法:P1口與JP5,P0口與J12,P2口與J16,用8PIN排線(xiàn)連接 ************************************************************************************/#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={~0xC0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90,~0x88,~0x83,~0xc6,~0xa1,~0x86,~0x8e,~0xff,~0x0c,~0xbf};/*0-F、滅(16)、P.-*/uchart0,t1,min,hour,function,a0,a1,a2,a3;bitshan;voiddelay(uintcount);ucharkeychuli();ucharkey();voiddisplay(uchar,uchar,uchar,uchar);voidsend();voidini();voidchuli();//***************主函數(shù)**********************************************voidmain(){ ini(); while(1) { display(16,16,16,17); //沒(méi)有鍵按下是俠士P. if(key()==1) //當(dāng)k1按下后則定時(shí)器驅(qū)動(dòng)時(shí)鐘開(kāi)始走 {TR0=1;function=1;shan=0; while(1) { send(); //送數(shù) display(a0,a1,a2,a3);//顯示 chuli(); //處理 } } }}//*************初始化程序******************************************void ini(){ TMOD=0x01, TH0=0x3c,TL0=0xb0;TH1=0x3c,TL1=0xb0; //定時(shí)50ms中斷一次 EA=1,ET0=1,TR0=0;ET1=1;TR1=0;}//**************鍵值處理程序*************************voidchuli(){ switch(key()) { case0: break; case1: //當(dāng)按鍵k1按下后 {function++; //判斷按下的次數(shù) switch(function) {case1:TR0=1;TR1=0;shan=0;break; //一次條秒同時(shí)閃爍 case2: //兩次調(diào)分同時(shí)閃爍 case3: //三次調(diào)分同時(shí)閃爍 case4: TR0=0;TR1=1;shan=1;break; //四次跳出調(diào)整狀態(tài)時(shí)鐘繼續(xù)走時(shí) case5: function=1;TR0=1;TR1=0;shan=0;break; //輪流循環(huán) } } break; case2: //k2鍵上調(diào) { switch(function) { case1: break; //case2: sec++; if(sec==60) sec=0;break; case3: min++; if(min==60) min=0;break; case4: hour++; if(hour==24)hour=0;break; } } break; case4: //k3鍵下調(diào) { switch(function) { case1: break; //case2: sec--; if(sec==255)sec=59;break; case2: min--; if(min==255)min=59;break; case3: hour--; if(hour==255)hour=23;break; } } break; } }//*************定時(shí)器0的中斷服務(wù)程序************************voidtimer0()interrupt1using3{ TH0=0x3c,TL0=0xb0; t0++; if(t0==1200) { t0=0; //sec++; //if(sec==60) //{ //sec=0; min++; if(min==60) { min=0; hour++; {if(hour==24) hour=0; } } } } //*************定時(shí)器1的中數(shù)服務(wù)程序,對(duì)shan取反,以使燈閃爍***************voidtimer1()interrupt3using2{ TH0=0x3c,TL0=0xb0; t1++; if(t1==40) { t1=0; shan=~shan; } }//***********************************************ucharkeychuli(){uchark; k=P1;//P1口內(nèi)容送K k=~k;//取反 k=(k&0xff);//屏蔽高4位,如果掃描8鍵,屏蔽該句。 return(k);//返回鍵值}/*************************************************************************函數(shù)原型:key();*功能:鍵盤(pán)掃描函數(shù),函數(shù)返回值即鍵值。************************************************************************/ucharkey(){ucharkeyzhi,keyzhii;//電子鐘鍵盤(pán)按鍵鍵值臨時(shí)存放keyzhi=keychuli();//調(diào)P1口處理函數(shù)if(keyzhi!=0)//有鍵動(dòng)作延時(shí)去抖動(dòng),否則函數(shù)返回 { send(); display(a0,a1,a2,a3); display(a0,a1,a2,a3); keyzhi=keychuli();//再次調(diào)P1口處理函數(shù) if(keyzhi!=0)//真正有鍵按下,取鍵值并暫存 { keyzhii=keyzhi; while(keyzhi!=0)//判按鍵是否釋放,沒(méi)有釋放延時(shí)去抖動(dòng)等待釋放 { send(); display(a0,a1,a2,a3); display(a0,a1,a2,a3);keyzhi=keychuli(); } keyzhi=keyzhii;//按鍵釋放后恢復(fù)按鍵鍵值 } }return(keyzhi);//返回按鍵鍵值}//***************顯示子程序*******************************************************************voiddisplay(uchara3,uchara2,uchara1,uchara0){ P2=table[a3]; P1=0x80; delay(1); P2=table[a2]; P1=0xb0; delay(1); P2=table[a1]; P1=0xd0; delay(1); P2=table[a0]; P1=0xe0; delay(1);}//******************將數(shù)送至緩沖單元,當(dāng)shan的標(biāo)志位為1時(shí),再根據(jù)此時(shí)的此時(shí)的功能標(biāo)示,對(duì)該位熄滅**************************voidsend() { //a0=sec%10; //a1=sec/10; //a2=18; a0=min%10; a1=min/10; //a5=18; a2=hour%10; a3=hour/10; if(shan==1) {switch(function) { case2: a0=16,a1=16;break; case3: a2=16,a3=16;break; //case4: a6=16,a7=16;break; } }}//**************************延時(shí)子程序基數(shù)為1毫秒*************************************************voiddelay(uintcount){uintj;while(count--!=0){for(j=0;j<80;j++);}}致謝首先衷心地感謝我的指導(dǎo)老師。本文從理論上的探討到實(shí)際問(wèn)題的解決,韓昱等的悉心指導(dǎo)和建議給了我極大的幫助和支持,使我受益匪淺,在此論文完成之際,謹(jǐn)向韓昱等老師課程設(shè)計(jì)評(píng)語(yǔ)課程設(shè)計(jì)成績(jī)指導(dǎo)教師(簽字)年月日目錄摘要 ⅡAbstract ⅢTOC\o"1-3"\h\u第1章緒論 11.1課題的研究其意義 11.2火災(zāi)報(bào)警的發(fā)展趨勢(shì) 21.3報(bào)警系統(tǒng)的特點(diǎn) 21.4系統(tǒng)的研究范圍 3第2章自動(dòng)火災(zāi)報(bào)警系統(tǒng)整體方案設(shè)計(jì) 42.1火災(zāi)發(fā)生的條件 42.2自動(dòng)火災(zāi)報(bào)警系統(tǒng)的組成 52.3系統(tǒng)的總體方案設(shè)計(jì) 6HYPERLINK"file:///H:\\準(zhǔn)備修改傳百度文檔\\合并2016121020160713\\lyy2017.11.11zqq11.2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度工業(yè)廠房交易全程服務(wù)合同4篇
- 2024音樂(lè)制作方與影視制作公司版權(quán)許可合同
- 二零二五年度交通樞紐害蟲(chóng)防治與消毒作業(yè)合同3篇
- 專(zhuān)業(yè)水電安裝及消防系統(tǒng)承包合同2024年版版B版
- 2025年度12年首次智慧旅游項(xiàng)目合作協(xié)議3篇
- 2025年度叉車(chē)租賃合同范本(叉車(chē)租賃與維護(hù))4篇
- 2025年度智慧城市基礎(chǔ)設(shè)施場(chǎng)地平整與物聯(lián)網(wǎng)協(xié)議4篇
- 2025年度奶牛養(yǎng)殖牛場(chǎng)租賃合同范本3篇
- 2025年廠房租賃合同風(fēng)險(xiǎn)評(píng)估與管理規(guī)范4篇
- 2024年04月廣西桂林銀行南寧分行社會(huì)招考筆試歷年參考題庫(kù)附帶答案詳解
- GB/T 27662-2011激光光束指向和位置穩(wěn)定性測(cè)試方法
- GB/T 18101-2013難燃膠合板
- 根因分析(huangyan)課件
- 圓形蓄水池工程量及配筋Excel計(jì)算
- 浙教版初中科學(xué)八下《表示元素的符號(hào)》課件
- 總住院醫(yī)師管理制度
- 八年級(jí)上冊(cè)歷史 第二單元 社會(huì)主義制度的建立與社會(huì)主義建設(shè)的探索
- DB31T 360-2020 住宅物業(yè)管理服務(wù)規(guī)范
- 園林綠化工程大樹(shù)移植施工方案
- 應(yīng)收賬款最高額質(zhì)押擔(dān)保合同模版
- 基于新型光彈性實(shí)驗(yàn)技術(shù)的力學(xué)實(shí)驗(yàn)教學(xué)方法探索
評(píng)論
0/150
提交評(píng)論