




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、前言本設(shè)計是基于單片機(jī)的定時鬧鐘設(shè)計。單片機(jī)是在一塊半導(dǎo)體芯片上集成了CPU、存儲器以及輸入和輸出接口電路的微型計算機(jī);其集成度高、功能強(qiáng)、通用性好,特別是它具有體積小、重量輕、能耗低、價格便宜、抗擾、能力強(qiáng)和使用方便,軟硬件結(jié)合、靈活穩(wěn)定、軟件硬化、硬件軟化,適合應(yīng)用于多種環(huán)境、可在惡劣環(huán)境中工作等特點。它不僅僅是一項技術(shù)性上的突破,同時也是對能源方面的有效節(jié)約與有效利用,因此深受國家有關(guān)技術(shù)部門和能源部門的重視和支持。其組合而成的配件產(chǎn)品在日常生活的使用過程中非常方便、簡單且實用,深受著廣大消費者的喜愛,從而使單片機(jī)技術(shù)在社會中得到了廣泛的發(fā)展和應(yīng)用。目前,已成為測量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)
2、種和新電子產(chǎn)品的關(guān)鍵部件。特別是20世紀(jì)70年代問世以來,以其極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快,推廣率高,市場利潤率高。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。 本次設(shè)計的定時鬧鐘在硬件方面就采用了AT89C51芯片,用2個LED數(shù)碼管來進(jìn)行顯示。第一個LED用P0口進(jìn)行驅(qū)動,第二個LED用P2口進(jìn)行驅(qū)動,能夠比較準(zhǔn)確顯示分鐘數(shù)。通過S1、S2、S3、和S4四個功能按鍵可以實現(xiàn)對定時鬧鐘的啟動、復(fù)位和定時,定時時間到喇叭可以發(fā)出鬧鈴聲。在軟件方面采用匯編語言編程。整個定時鬧鐘系統(tǒng)能完成時間的顯示,調(diào)時和定時鬧鐘、復(fù)位等功能,并經(jīng)過系統(tǒng)
3、仿真后得到了正確的結(jié)果目 錄前言第一章 設(shè)計目的及要求41.1、設(shè)計目的41.2、設(shè)計要求41.2.1、課程設(shè)計要求41.2.2、基本設(shè)計功能要求主要分為以下幾個部分:4第二章 方案設(shè)計52.1、幾種常見的定時鬧鐘52.1.1、普通機(jī)械鬧鐘52.1.2、晶體管鬧鐘52.1.3、石英電子鬧鐘52.2、研究背景52.3、本文研究的主要內(nèi)容52.4、方案論證62.4.1、方案6第三章 主要元器件介紹73.1、 AT89C51單片機(jī)介紹73.1.1、 AT89C51芯片簡介73.1.2、 引腳說明73.2、時鐘電路93.3、7SEG-BCD9第四章 硬件電路設(shè)計104.1、晶振時鐘電路設(shè)計104.2、
4、復(fù)位電路設(shè)計104.3、定時輸入電路設(shè)計104.4、顯示電路設(shè)計114.5、啟動和復(fù)位計時電路124.6、鬧鐘響鈴電路設(shè)計12第五章 軟件設(shè)計及主要子程序135.1、軟件設(shè)計思路135.2、主程序模塊135.3、定時輸入子程序設(shè)計145.4、顯示子程序設(shè)計145.5、啟動和復(fù)位子程序設(shè)計145.6、計時響鈴子程序設(shè)計14第六章 系統(tǒng)仿真與調(diào)試156.1、Keil編譯156.2、Protues仿真平臺156.2.1、Protues仿真簡介及部分模塊仿真156.2.2、硬件電路總圖與仿真16第七章 操作方法及效果17第八章 課程設(shè)計總結(jié)20參考文獻(xiàn)21附錄122匯編程序22附錄225PCB生成圖2
5、5附錄326定時鬧鐘原理圖26第一章 設(shè)計目的及要求1.1、設(shè)計目的本次課程設(shè)計目的在于真正的把所學(xué)單片機(jī)理論知識應(yīng)用于實際,更加熟悉51單片機(jī)的硬件與軟件。能靈活運用Keil進(jìn)行軟件編程調(diào)試以及用proteus軟件仿真。本次設(shè)計組成定時鬧鐘系統(tǒng),畫出系統(tǒng)硬件電路圖,設(shè)計編寫開關(guān)控制定時、LED顯示、聲響鈴、定時啟動及復(fù)位等子程序。在調(diào)試程序時,要求整個系統(tǒng)工作正常、顯示正確、結(jié)果滿意,掌握該芯片的工作原理并完成讀、寫程序的設(shè)計、編寫和調(diào)試。1.2、設(shè)計要求1.2.1、課程設(shè)計要求 能熟練運用51單片機(jī)實現(xiàn)硬件與軟件結(jié)合完成電子產(chǎn)品的設(shè)計,把理論真正運用于實踐,會用Keil等軟件編程調(diào)試運行,
6、熟悉應(yīng)用Proteus軟件仿真。強(qiáng)化編程練習(xí),注意查詢方式與中斷方式的區(qū)別等等。1.2.2、基本設(shè)計功能要求主要分為以下幾個部分:1)由于要顯示數(shù)字時間,所以需要2個數(shù)碼管。 2)時間的定時用時鐘電路,修改時間和定時用手動按鍵控制,鬧鈴聲通過喇叭發(fā)出3)記時完成后,通過復(fù)位鍵將整個鬧鐘變?yōu)槌跏紶顟B(tài) 4)AT89C51單片機(jī)加上外圍器件(數(shù)字顯示器7SEG-MPX6-CC-BLUE,RESPACK-8排阻和SPEAKER喇叭)和應(yīng)用程序(ISIS 6 Professional軟件和WAVE6000編譯軟件),構(gòu)成相應(yīng)的應(yīng)用系統(tǒng)。第二章 方案設(shè)計2.1、幾種
7、常見的定時鬧鐘2.1.1、普通機(jī)械鬧鐘這種機(jī)械鬧鐘結(jié)構(gòu)簡單、使用方便、價格便宜,其中的原動系以發(fā)條為貯能元件,機(jī)械式音樂鬧鐘上還帶有以鬧發(fā)條驅(qū)動的帶撥針的滾輪,撥針按曲譜排列,撥動音簧,演奏出音樂,但在使用中暴露了很多缺點:機(jī)械鬧鐘的發(fā)條是靠金屬制成的,經(jīng)過較長時間的磨損會影響到計時的精度。 2.1.2、晶體管鬧鐘一種電機(jī)械鐘。又稱擺輪游絲式電子鐘。它采用機(jī)械式鐘的擺輪游絲振動系統(tǒng),但以電池為能源。電池的能量通過一個晶體管開關(guān)電路直接傳遞給擺輪游絲系統(tǒng),從而維持?jǐn)[輪的不衰減振動。通過快慢針調(diào)節(jié)游絲的工作長度,可調(diào)節(jié)振動周期。擺輪通過計數(shù)機(jī)構(gòu)驅(qū)動齒輪傳動系統(tǒng)和指針系統(tǒng),以指示時間。晶體管鐘可帶鬧
8、時機(jī)構(gòu)和日歷機(jī)構(gòu),并可與收音機(jī)結(jié)合構(gòu)成鐘控收音機(jī)。但是這種鬧鐘在實際應(yīng)用中的計時很不準(zhǔn)確,并且耗電量也比較大,現(xiàn)在基本上已經(jīng)很少有人使用2.1.3、石英電子鬧鐘 該類定時鬧鐘采用單片機(jī)作為基礎(chǔ),通過將程序?qū)懭雴纹瑱C(jī)中,來對鬧鐘進(jìn)行多功能的控制,所需要的硬件電路很少,采用這種鬧鐘具有極大的優(yōu)勢,它的結(jié)構(gòu)簡單,維修方便,并且造價低,功耗低,可以長時間工作,并且計時準(zhǔn)確,誤差很小,在現(xiàn)在的生產(chǎn)和生活中的到了廣泛的應(yīng)用。2.2、研究背景 電子鬧鐘是采用數(shù)字電路實現(xiàn)對時間數(shù)字顯示的機(jī)械裝置,廣泛應(yīng)用于個人家庭,車站,碼頭,辦公室等公共場合,稱為人們?nèi)粘I钪胁豢苫蛉钡牡谋匦杵?,由于?shù)字集成電路的發(fā)展和石
9、英晶體振蕩器的廣泛應(yīng)用,是的數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超于老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)和生活帶來了極大的方便,而且大大地拓展了鐘表的報時功能。諸如定時自動報警、自動按時打鈴、時間程序自動控制、定時廣播、自動啟閉路燈、定慧寺開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。數(shù)字鐘已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,給人們的生活、學(xué)習(xí)、工作、娛樂帶來了極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的技術(shù),是數(shù)字鐘具有走時準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)勢,它還用于計時自動報時及自動控制領(lǐng)域。因此,研究定時數(shù)字鬧鐘及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實的意義。 2.3、本文研
10、究的主要內(nèi)容設(shè)計內(nèi)容完全按照前面的設(shè)計要求完成,完全滿足前面的設(shè)計要求。2.4、方案論證2.4.1、方案方案:設(shè)計選用單片機(jī)AT89C51作為本設(shè)計的核心元件,利用單片機(jī)靈活的編程設(shè)計和豐富的I/O端口,及其控制的準(zhǔn)確性,實現(xiàn)基本的電子鬧鐘功能。方案完全按照第1章的基本設(shè)計要求設(shè)計。 AT89C51顯示模塊啟動電路鬧鐘響鈴復(fù)位電路置數(shù)分鐘數(shù)圖2.1 單片機(jī)控制方案第三章 主要元器件介紹3.1、 AT89C51單片機(jī)介紹3.1.1、 AT89C51芯片簡介AT89C51是MCS51系列單片機(jī)中的一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器的8位CMOS微控制器,使用高密度、非易失
11、存儲技術(shù)制造,并且與80C51引腳和指令系統(tǒng)完全兼容。 主要性能:與MCS-51 微控制器產(chǎn)品系列兼容。 片內(nèi)有4KB可在線重復(fù)編程的快閃擦寫存儲器存儲數(shù)據(jù)保存時間為10年。寬工作電壓范圍:Vcc可為2.7V到6V全靜態(tài)工作;可從0Hz至16MHz 程序存儲器具有3級加密保護(hù) 128*8位內(nèi)部RAM 32條可編程I/O線、兩個16位定時器/計數(shù)器、中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級、可編程全雙工串行通道、空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。89C51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲器
12、、程序存儲器、并行I/O口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。微處理器、數(shù)據(jù)存儲器、程序存儲器、并行I/O口、串行口、定時器/計數(shù)器、中斷系統(tǒng)各部分功能及說明類似于8051單片機(jī)內(nèi)部結(jié)構(gòu)說明。 特殊功能寄存器共有21個,用于對片內(nèi)的各功能的部件進(jìn)行管理、控制、監(jiān)視。實際上是一些控制寄存器和狀態(tài)寄存器,是一個具有特殊功能的RAM區(qū)。 由上可見, 89C51單片機(jī)的硬件結(jié)構(gòu)具有功能部件種類全,功能強(qiáng)等特點。特別值得一提的是該單片機(jī)CPU中的位
13、處理器,它實際上是一個完整的1位微計算機(jī),這個1位微計算機(jī)有自己的CPU、位寄存器、I/O口和指令集。1位機(jī)在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而8位機(jī)在數(shù)據(jù)采集,運算處理方面有明顯的長處。MCS-51單片機(jī)中8位機(jī)和1位機(jī)的硬件資源復(fù)合在一起,二者相輔相承,它是單片機(jī)技術(shù)上的一個突破,這也是MCS-51單片機(jī)設(shè)計的精美之處。3.1.2、 引腳說明 圖3.1是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片。圖3.1 AT89C51引腳圖P00P07 P0口8位雙向口線(在引腳的3932號端子)。P10P17 P1口8位雙向口線(在引腳的18號端子)。P20P27 P2口8位雙向口線(在引腳的
14、2128號端子)。P30P37 P3口8位雙向口線(在引腳的1017號端子)。1、P0口有三個功能: (1)外部擴(kuò)展存儲器時,用作數(shù)據(jù)總線(如圖中的D0D7為數(shù)據(jù)總線接口)(2)外部擴(kuò)展存儲器時,用作地址總線(如圖中的A0A7為地址總線接口)(3)不擴(kuò)展時,可做一般的I/O口使用,但內(nèi)部無上拉電阻,作為輸入或輸出時應(yīng)在外部接上拉電阻。2、P1口功能:P1口只做I/O口使用,其內(nèi)部有上拉電阻。3、P2口有兩個功能:(1)擴(kuò)展外部存儲器時,當(dāng)作地址總線使用;(2)做一般I/O口使用,其內(nèi)部有上拉電阻。4、P3口有兩個功能:除了作為I/O口使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來
15、設(shè)置。當(dāng)作為輸入時,上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口作為輸入時,處在高阻抗?fàn)顟B(tài),只有外接一個上拉電阻才能有效。5、ALE/PROG 地址鎖存控制信號:在系統(tǒng)擴(kuò)展時,ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。PROG為編程脈沖的輸入端,在89C51單片機(jī)內(nèi)部有一個4KB的程序存儲器(ROM),ROM的作用就是用來存放用戶需要執(zhí)行的程序的,那么我們是怎樣把編寫好的程序存入進(jìn)這個ROM中的呢?實際上是通過編程脈沖輸入才能寫進(jìn)去的,這個脈沖的輸入端口就是PROG。6、PSEN 外部程序存儲器讀選通信號:在讀外部ROM時PSEN
16、低電平有效,以實現(xiàn)外部ROM單元的讀操作:(1)內(nèi)部ROM讀取時,PSEN不動作;(2)外部ROM讀取時,在每個機(jī)器周期會動作兩次;(3)外部RAM讀取時,兩個PSEN脈沖被跳過不會輸出;(4)外接ROM時,與ROM的EA腳相接。7、EA/VPP 訪問程序存儲器控制信號:(1)接高電平時:CPU讀取內(nèi)部程序存儲器(ROM)(2)接低電平時:CPU讀取外部程序存儲器(ROM)。8031單片機(jī)內(nèi)部是沒有ROM的,那么在應(yīng)用8031單片機(jī)時,這個腳是一直接低電平的。8、RST 復(fù)位信號:當(dāng)輸入的信號連續(xù)2個機(jī)器周期以上高電平時即為有效,用以完成單片機(jī)的復(fù)位初始化操作,當(dāng)復(fù)位后程序計數(shù)器PC=0000
17、H,即復(fù)位后將從程序存儲器的0000H單元讀取第一條指令碼。9、XTAL1和XTAL2 :外接晶振引腳。當(dāng)使用芯片內(nèi)部時鐘時,此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。10、VCC:電源端接+5V電壓輸入。11、GND:接地端。3.2、時鐘電路 單片機(jī)的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用內(nèi)部時鐘方式。最常用的內(nèi)部時鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體為12MHz。電容值無嚴(yán)格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pF100pF之間取值。
18、上拉電阻:RESPACK8 控制按鍵:BUTTON 本系統(tǒng)要進(jìn)行時間的調(diào)整和定時,因此用4個手動按鍵對其進(jìn)行控制。3.3、7SEG-BCD 7SEG-BCD是1位4段共陰數(shù)碼管,顯示為紅色。它共有四個引腳,自帶譯碼器,只要將要輸入的二進(jìn)制編碼輸入這四個引腳,就會顯示數(shù)輸入的二進(jìn)制數(shù)對應(yīng)的數(shù)。這里使用了兩個7SEG-BCD ,一個接在P0口,顯示分鐘數(shù)的十位,一個接在P2口,顯示分鐘數(shù)的個位。第四章 硬件電路設(shè)計硬件電路的設(shè)計主要包括、晶振時鐘電路設(shè)計、復(fù)位電路設(shè)計、定時輸入電路設(shè)計、顯示電路設(shè)計、啟動和復(fù)位計時電路以及鬧鐘響鈴電路的設(shè)計。4.1、晶振時鐘電路設(shè)計單片機(jī)XTA
19、L1和XTAL2分別接30pF的電容,中間再并一個12MHZ的晶振,形成單片機(jī)的晶振電路。圖4.1 晶振電路4.2、復(fù)位電路設(shè)計圖4.2 復(fù)位電路4.3、定時輸入電路設(shè)計定時輸入電路由兩個按鍵構(gòu)成,一個按鍵接在外部中斷0上,每次按下這個鍵,定時的分鐘數(shù)的十位數(shù)就加一,另一個按鍵接在外部中斷1上,每次按下這個鍵,定時分鐘數(shù)的個位數(shù)就加一。由這兩個鍵來控制定時的置數(shù)功能。圖4.3 定時輸入電路4.4、顯示電路設(shè)計7SEG-BCD是1位4段共陰數(shù)碼管,顯示為紅色。它共有四個引腳,自帶譯碼器,只要將要輸入的二進(jìn)制編碼輸入這四個引腳,就會顯示出輸入的二進(jìn)制數(shù)對應(yīng)的數(shù)。這里使用了兩個7SEG-BCD ,一
20、個接在P0口,顯示分鐘數(shù)的十位,一個接在P2口,顯示分鐘數(shù)的個位。如下圖所示:圖4.4.1 顯示電路 同時P0口作為輸入輸出口使用時需要用到上拉電阻,這里用RESPACK8 圖4.4.2 上拉電阻4.5、啟動和復(fù)位計時電路定時輸入電路由兩個按鍵構(gòu)成,一個按鍵是啟動計時電路按鈕,接在P1.0上,每次按下這個鍵,定時就開始了,另一個按鍵是復(fù)位計時按鈕,接在P1.1上,每次按下這個鍵,整個定時鬧鐘系統(tǒng)就恢復(fù)到開機(jī)時的初始狀態(tài)。由這兩個鍵來控制定時鬧鐘的啟動和復(fù)位功能。圖4.5 啟動和復(fù)位計時電路4.6、鬧鐘響鈴電路設(shè)計圖4.6 鬧鐘響鈴電路第五章 軟件設(shè)計及主要子程序5.1、軟件設(shè)計思路定
21、時鬧鐘工作的主要過程是LED數(shù)碼管顯示初始化的時間分鐘數(shù)的值為59,通過按鍵輸入定時的分鐘數(shù),同時LED實時顯示時間分鐘數(shù),按下啟動計時鍵后,定時鬧鐘開始計時,每計時一分鐘,LED顯示的分鐘數(shù)減一,當(dāng)時間減到0后,蜂鳴器發(fā)出聲音表示鬧鐘已響,并且此時的LED顯示為0F,并停止繼續(xù)計數(shù),當(dāng)按下復(fù)位鍵后,定時鬧鐘恢復(fù)到初始化后的值。5.2、主程序模塊主程序主要完成初始化、設(shè)置中斷向量、檢查有無按鍵以及調(diào)用顯示等,當(dāng)初始化后就會自動等待有無定時操作、啟動操作和復(fù)位操作。主程序流程圖如下,(此模塊程序見附錄)。開始初始化顯示時間復(fù)位操作有誤?啟動按鍵鍵?鍵?各位恢復(fù)到初始狀態(tài)NYNY計時響鈴程序開定時
22、/計數(shù)器0中斷開外部中斷0和1圖5.1 主程序流程圖5.3、定時輸入子程序設(shè)計定時輸入程序采用中斷的方式,一個按鍵接在外部中斷0上,每次按下這個鍵,定時的分鐘數(shù)的十位數(shù)就加一,當(dāng)加到6時自動跳變到0;另一個按鍵接在外部中斷1上,每次按下這個鍵,定時分鐘數(shù)的個位數(shù)就加一,當(dāng)加到10,也就是0AH時自動跳變到0。由這兩個鍵來控制定時的置數(shù)功能,完成了從060min的定時置數(shù)。(此模塊程序見附錄)5.4、顯示子程序設(shè)計由于是采用兩個7SEG-BCD分別做分鐘數(shù)的十位和各位,并且這兩個7SEG-BCD分別接在P0口和P2口上,因此直接將要輸出的數(shù)據(jù)輸入到P0口和P2口上即可。 (此模塊程序見附錄)5.
23、5、啟動和復(fù)位子程序設(shè)計啟動和復(fù)位子程序都采用查詢的方式,先檢測P1.1口是否為1,當(dāng)復(fù)位鍵按下時,P1.1口的值為0,若為0,則跳轉(zhuǎn)到復(fù)位子程序,將各個寄存器的值恢復(fù)成開機(jī)時的狀態(tài);若為1,則跳轉(zhuǎn)到M0子程序,檢測P1.0口是否為1,當(dāng)啟動鍵按下后,P1.0口的值為0,若為0,則跳轉(zhuǎn)到啟動子程序,打開定時/計數(shù)器中斷,并開啟計數(shù)器;若為1,則跳回主程序的開始部分循環(huán)。(此模塊程序見附錄)5.6、計時響鈴子程序設(shè)計給計數(shù)器計入的處置為3CB0H,也就是說每計時50ms,定時/計數(shù)器產(chǎn)生一次中斷,每執(zhí)行一次中斷,在中斷中對寄存器R5中的值減一,因此給R5中寫入20,當(dāng)R5減到0時,正好計時為一秒
24、鐘,R5每次減到0,就給它重新賦值20,并且將R4中的值減1,給R4中計入60,當(dāng)R4減為0時正好計時一分鐘,此時給R4重新賦值60,并將P2口的輸出值減1,當(dāng)該口也減到0后,給他重新賦值10,并且給P0口輸出值減1,當(dāng)這些寄存器中的值均為0時,給P1.7位置1,此時蜂鳴器發(fā)出響聲,并且把定時/計數(shù)器中斷關(guān)閉。(此模塊程序見附錄) 第六章 系統(tǒng)仿真與調(diào)試6.1、Keil編譯Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢, Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功
25、能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。如果使用C語言編程,那么Keil幾乎就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。本次設(shè)計采用匯編語言編程,生成.hex文件以供裝載到Protues中的單片機(jī)進(jìn)行仿真。圖6.1 程序代碼編寫6.2、Protues仿真平臺6.2.1、Protues仿真簡介及部分模塊仿真Protues軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前
26、最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。迄今為止是世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯。目標(biāo)代碼的加載方法為,在Protues編輯環(huán)境雙擊AT89C51,彈出下圖所示的對話框,在PROGRAM FILM一欄中單擊
27、打開按鈕,選中Keil中生成的naozhong.hex文件,在CLOCK FREQUENCY欄中設(shè)置系統(tǒng)工作頻率為12MHZ,單擊OK完成目標(biāo)代碼的加載。圖6.2程序代碼加載6.2.2、硬件電路總圖與仿真點擊運行按鈕啟動系統(tǒng)仿真,初始狀態(tài)顯示的分鐘數(shù)為59。硬件總圖如下:圖6.2 總圖第七章 操作方法及效果點擊運行后,開機(jī)是自動顯示的分鐘數(shù)是59圖7.1 定時鬧鐘開機(jī)通過對定時輸入電路的兩個按鍵,一個按鍵接在外部中斷0上,每次按下這個鍵,定時的分鐘數(shù)的十位數(shù)就加一,另一個按鍵接在外部中斷1上,每次按下這個鍵,定時分鐘數(shù)的個位數(shù)就加一。由這兩個鍵來控制定時的置數(shù)功能。圖7.2 定時鬧鐘定時置數(shù)之
28、后如果按下啟動計時鍵,則開始計時,如果按下復(fù)位鍵,則進(jìn)行復(fù)位操作,將各個寄存器的值變?yōu)槌跏蓟瘯r的值,并將P1.7位清0,即關(guān)閉蜂鳴器。圖7.3 定時鬧鐘啟動計時圖7.4 定時鬧鐘復(fù)位第八章 課程設(shè)計總結(jié)通過本次單片機(jī)原理及應(yīng)用課程設(shè)計使我充分認(rèn)認(rèn)到了課程設(shè)計的理要性和必要性,本次設(shè)計使我對已學(xué)過的基礎(chǔ)知識有了更深入的理解。單片機(jī)課程設(shè)計,從理論到實踐,對所學(xué)的課本知識有了更深一步的認(rèn)識,掌握的更加全面、深入。實驗過程中,遇到了不少困難的問題:對單片機(jī)匯編語言的理解不夠深刻,對于簡短的程序可以明白,但是,到一個大的程序中,理解掌握就有一定的難度了,這樣就需要更近一步地理解其中的知識點。
29、;實驗的設(shè)計當(dāng)中有很多的程序調(diào)用,這就需要認(rèn)真處理好內(nèi)部的程序之間的使用。通過這次的課程設(shè)計加深了對單片機(jī)理論的理解,將理論很好地應(yīng)用到實際當(dāng)中去。 實驗過程的細(xì)節(jié)讓我更加地確定做什么事情都要細(xì)心、仔細(xì),不放過任何一個小小的點,只有這樣,我們才以最高的效率完成任務(wù)。同時,不要忽視了同伴的作用,當(dāng)自己在一個問題上懸而未決,這時同伴的一句話提醒,就可以讓你豁然開朗,柳暗花明。很多實驗當(dāng)中遇到的問題讓我明白:1. 在設(shè)計程序之前,務(wù)必要對所學(xué)單片機(jī)課程的內(nèi)容有一個系統(tǒng)的了解,知道單片機(jī)片內(nèi)片外的內(nèi)容及其功能。 2. 設(shè)計程序關(guān)鍵要有一個清晰的思路和一個完整的軟
30、件流程圖。模塊化的設(shè)計思想在程序設(shè)計中的作用是重大的,它可以為你提供一個比較清晰的思路,并且很容易找到頭緒,不至于在編寫一個程序時感覺到無從下手。 3. 在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,"反復(fù)修改,不斷改進(jìn)"是程序設(shè)計的必經(jīng)之路。程序剛開始編好時,一般情況下會存在很多錯誤,要不斷地修改,不斷的改進(jìn)才能達(dá)到預(yù)期的目的,編寫程序的時間并不是很長,主要是花很多時間去修改程序。 4. 要養(yǎng)成注釋程序的好習(xí)慣,讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便。剛開始我在編寫程序時,很不習(xí)慣于寫注釋,感覺很麻煩,而且沒用
31、,但是在修改的過程中我就遇到了較大的麻煩,以至于不得不重新的作了注釋,以增加程序的易讀性,從而使修改過程變得容易一些。總之,通過這次課程設(shè)計不僅使我鞏固了本課程所學(xué)的基本知識,還使我具有了撰寫科研報告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué)習(xí)中一定會起到不小的作用,一切的辛苦和艱難都是值得的參考文獻(xiàn)1.郭文川主編. MCS-51單片機(jī)原理、接口及應(yīng)用 .北京:電子工業(yè)出版社,2012 2. 余發(fā)山主編.單片機(jī)原理及應(yīng)用技術(shù) .中國礦業(yè)大學(xué)出版社2003.123. 張毅剛. 單片機(jī)原理及接口技術(shù) .哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990
32、60;4.何立民.單片機(jī)應(yīng)用技術(shù)大全 .北京:北京航空航天大學(xué)出版社, 1994 5.譚浩強(qiáng).單片機(jī)課程設(shè)計. 北京:清華大學(xué)出版社,1989 6. 李廣弟.單片機(jī)基礎(chǔ) .北京:北京航空航天大學(xué)出版社,1992 附錄1匯編程序;*ORG 0000HLJMP MAINORG 0003H LJMP SETTIME1 ORG 000BHLJMP TIMEORG 0013HLJMP SETTIME2ORG 0100HMAIN: MOV SP,#30HMOV R0,#05HMOV R1,#09HMOV R4,#3CHMOV R5,#14HMOV TMOD,#01H ;采用定時/計數(shù)器0,方式1MOV TH0,#3CHMOV TL0,#0B0HSETB EA ;中斷總
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣場擋墻施工方案
- 城市道路水穩(wěn)混凝土采購3篇
- 宿舍安全我們的承諾3篇
- 全新和公司簽訂勞動合同3篇
- 成績單代領(lǐng)委托書寫法3篇
- 2025總經(jīng)理個人述職報告(10篇)
- 高速公路收費員個人思想工作總結(jié)(29篇)
- 銷售協(xié)議書集錦(18篇)
- 初二教師實習(xí)自我鑒定(20篇)
- 中國光大銀行濟(jì)南分行招聘崗位筆試真題2024
- 【華為】通信行業(yè):華為下一代鐵路移動通信系統(tǒng)白皮書2023
- Python 程序設(shè)計智慧樹知到期末考試答案章節(jié)答案2024年四川師范大學(xué)
- 03D201-4 10kV及以下變壓器室布置及變配電所常用設(shè)備構(gòu)件安裝
- 城鄉(xiāng)環(huán)衛(wèi)保潔投標(biāo)方案(技術(shù)標(biāo))
- 充值合同范本
- 湖南省炎德英才名校聯(lián)考聯(lián)合體2024年4月春季高一年級下學(xué)期第二次(期中)聯(lián)考數(shù)學(xué)試卷
- MSDS中文版(鋰電池電解液)
- 《職業(yè)病防治法》知識考試題庫160題(含答案)
- 全國初中數(shù)學(xué)青年教師優(yōu)質(zhì)課一等獎《反比例函數(shù)的圖象和性質(zhì)》教學(xué)設(shè)計
- 2023-2024學(xué)年人教版數(shù)學(xué)八年級下冊期中復(fù)習(xí)卷
- 環(huán)境監(jiān)測儀器安裝施工方案(更新版)
評論
0/150
提交評論