




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告課題名稱多通道秒定時(shí)器設(shè)計(jì)學(xué)院自動(dòng)控制與機(jī)械工程專業(yè)電氣工程及其自動(dòng)化班級(jí)姓名學(xué)號(hào)時(shí)間2015年7月目錄一、課程設(shè)計(jì)的目的3二、課程設(shè)計(jì)要求3三、設(shè)計(jì)任務(wù)31、總體要求32、設(shè)計(jì)要求33、設(shè)計(jì)提示4四、設(shè)計(jì)步驟5五、設(shè)計(jì)思路5六、硬件設(shè)計(jì)61、單片機(jī)的選擇62、74HC的選擇93、顯示電路11(1)時(shí)鐘電路11(2)復(fù)位電路11(3)開關(guān)電路12(4)顯示LED電路13表1-3共陰極接法八段LED代碼13(5)小燈電路13七、軟件設(shè)計(jì)14八、部分重要源程序代碼171.通道號(hào)的設(shè)置172.定時(shí)值的設(shè)置17九、單片機(jī)秒表的安裝與調(diào)試181、通道選擇仿真結(jié)果:192、清零
2、仿真結(jié)果:20十、心得體會(huì)21十一、參考文獻(xiàn)22十二、程序清單22一、課程設(shè)計(jì)的目的單片機(jī)原理及應(yīng)用課程設(shè)計(jì)作為獨(dú)立的教學(xué)環(huán)節(jié),是自動(dòng)化及相關(guān)專業(yè)集中實(shí)踐性環(huán)節(jié)系列之一,是學(xué)習(xí)完單片機(jī)原理及應(yīng)用課程后,并在進(jìn)行相關(guān)課程設(shè)計(jì)基礎(chǔ)上進(jìn)行的一次綜合練習(xí)。單片機(jī)課程設(shè)計(jì)過程中,學(xué)生通過查閱資料、接口設(shè)計(jì)、程序設(shè)計(jì)、安裝調(diào)試等環(huán)節(jié),完成一個(gè)基于MCS-51系列單片機(jī),涉及多種資源應(yīng)用,并具有綜合功能的小應(yīng)用系統(tǒng)設(shè)計(jì)。使學(xué)生不但能夠?qū)⒄n堂上學(xué)到的理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐?、電子元器件等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),同時(shí)在軟件編程、調(diào)試、相關(guān)儀器設(shè)備和相關(guān)軟件的使用技能等方面得到較全面的鍛煉
3、和提高。使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解,加深單片機(jī)的內(nèi)部功能模塊的應(yīng)用,如定時(shí)器/計(jì)數(shù)器、中斷、片內(nèi)外存貯器、I/O接口、串行口等。使學(xué)生了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn),強(qiáng)化單片機(jī)應(yīng)用電路的設(shè)計(jì)與分析能力。提高學(xué)生在單片機(jī)應(yīng)用方面的實(shí)踐技能和科學(xué)作風(fēng);培育學(xué)生綜合運(yùn)用理論知識(shí)解決問題的能力。二、課程設(shè)計(jì)要求課程設(shè)計(jì)以學(xué)生認(rèn)知為主體,充分調(diào)動(dòng)學(xué)生的積極性,重視學(xué)生自學(xué)能力的培養(yǎng),根據(jù)具體課題安排時(shí)間確定課題的設(shè)計(jì)、編程和調(diào)試內(nèi)容,分團(tuán)隊(duì)開展課程設(shè)計(jì)活動(dòng),按時(shí)完成每部分工作。堅(jiān)持獨(dú)立完成,實(shí)現(xiàn)課題規(guī)定的各項(xiàng)指標(biāo),并寫出設(shè)計(jì)報(bào)告。要求學(xué)生自己查閱資料和
4、充分利用所學(xué)知識(shí),根據(jù)所要設(shè)計(jì)系統(tǒng)所要達(dá)到的功能,劃分軟硬件功能、選擇器件、編寫相關(guān)程序,用Proteus 在計(jì)算機(jī)上繪圖并用Keil進(jìn)行程序邊編寫進(jìn)行防真,再對(duì)整個(gè)系統(tǒng)做調(diào)試運(yùn)行,培養(yǎng)學(xué)生在遇到問題時(shí)能進(jìn)行獨(dú)立、系統(tǒng)、認(rèn)真的思考,并進(jìn)一步培養(yǎng)學(xué)生在團(tuán)隊(duì)中的合作精神,不斷調(diào)試修改,直至達(dá)到設(shè)計(jì)的要求和取得滿意的效果,最后編寫系統(tǒng)說明書,其內(nèi)容包括系統(tǒng)的功能介紹,使用范圍,主要性能指標(biāo),使用方法,注意事項(xiàng)等。三、設(shè)計(jì)任務(wù)1、總體要求基于AT89C51設(shè)計(jì)一個(gè)3位的LED數(shù)碼作為“4通道秒定時(shí)器”。2、設(shè)計(jì)要求1)顯示時(shí)間為00-99秒。2)各通道定時(shí)時(shí)間到,點(diǎn)亮對(duì)應(yīng)的LED。3)設(shè)計(jì)一
5、個(gè)有4個(gè)按鍵的鍵盤。K1:“設(shè)置”/“定時(shí)啟動(dòng)”。K2: “減一”和“打開通道設(shè)置”。K3:“加一”。K4: “通道”/“定時(shí)設(shè)置”。4)設(shè)計(jì)每到一秒鐘有聲音或LED提示提醒功能,可通過按鈕打開及關(guān)閉該提醒功能.5)其他功能.3、設(shè)計(jì)提示1)用4位7段LED數(shù)碼管作為顯示設(shè)備,最高位顯示通道號(hào),第2位顯示時(shí)間.2)可采用定時(shí)器,定時(shí)時(shí)間100ms.3)參考 Proteus Pro仿真效果圖:圖1-1 Proteus Pro仿真效果圖四、設(shè)計(jì)步驟1、制定相應(yīng)的設(shè)計(jì)方案;2、硬件的初步設(shè)計(jì);3選擇設(shè)計(jì)所用元器件和參數(shù);4在Proteus 7.8中設(shè)計(jì)和連接電路圖;5軟件的初步設(shè)計(jì);6編寫
6、程序?qū)崿F(xiàn)其功能;7在keil_v4中進(jìn)行調(diào)試運(yùn)行;8硬件和軟件聯(lián)合調(diào)試。五、設(shè)計(jì)思路為使數(shù)碼管同時(shí)顯示通道號(hào)和定時(shí)值(099秒),選用4位7段LED數(shù)碼管,當(dāng)定時(shí)時(shí)間到時(shí)點(diǎn)亮對(duì)應(yīng)的LED燈,課程中我們選用LED-BLUE燈,并設(shè)計(jì)有四位按鍵的鍵盤,分別為K1、K2、K3、K4來控制定時(shí)啟動(dòng)/停止、通道號(hào)和定時(shí)時(shí)間的切換設(shè)置、通道號(hào)/定時(shí)時(shí)間加一、通道號(hào)/定時(shí)時(shí)間減一。通過這四個(gè)按鍵來控制整個(gè)電路的運(yùn)行、LED燈的點(diǎn)亮和數(shù)碼管的顯示。根據(jù)系統(tǒng)的設(shè)計(jì)要求,選擇AT89C51單片機(jī)作為系統(tǒng)的核心來完成定時(shí)、計(jì)數(shù)的功能,用74HC244來完成數(shù)據(jù)的鎖存和對(duì)LED的刷新控制,用74HC245來完成數(shù)據(jù)的
7、鎖存和對(duì)小燈的刷新控制,用外圍開關(guān)電路實(shí)現(xiàn)對(duì)單片機(jī)的外圍輸入,用小燈來實(shí)現(xiàn)對(duì)于計(jì)時(shí)等功能的提示。開關(guān)K1把開始信號(hào)傳輸給AT89C51單片機(jī),單片機(jī)開始計(jì)數(shù),然后在P2口輸出信號(hào),通過74HC244后傳輸給LED數(shù)碼管控制數(shù)碼管位數(shù)是否啟用,然后P0口傳輸相對(duì)應(yīng)的信號(hào)控制啟用的數(shù)碼管輸出位數(shù)的具體信號(hào)。同理,其余開關(guān)的信號(hào)分別控制了AT89C51的開始、停止、復(fù)位和通道的加減。單片機(jī)開始計(jì)數(shù),然后在P3口輸出信號(hào),通過74HC245后傳輸給小燈是否啟用。具體控制如下:(1)通道號(hào)為14,對(duì)應(yīng)LED燈為L(zhǎng)ED1LED4,執(zhí)行程序前可任意選擇通道號(hào);定時(shí)值可在099S內(nèi)任意設(shè)置;(2)當(dāng)程序運(yùn)行初
8、始化化后,如果K2按下,則切換至通道號(hào)的設(shè)置,通過K3、K4來增加或減小通道號(hào);當(dāng)選擇好通道號(hào)后如果按下K2則切換至定時(shí)值的設(shè)置,通過K3、K4來增加或減小定時(shí)值;當(dāng)定時(shí)值設(shè)置好之后按下K1則程序執(zhí)行所選通道的秒表定時(shí);當(dāng)定時(shí)時(shí)間到時(shí),對(duì)應(yīng)通道的LED燈點(diǎn)亮;(3)當(dāng)程序運(yùn)行初始化后直接按下K3、K4進(jìn)行定時(shí)時(shí)間的設(shè)置,通過K3、K4來增加或減小定時(shí)值;當(dāng)設(shè)置好之后按下K1后直接執(zhí)行一通道的秒表定時(shí);當(dāng)定時(shí)時(shí)間到時(shí),對(duì)應(yīng)通道的LED燈點(diǎn)亮;(4)當(dāng)程序運(yùn)行初始化后直接按下K3、K4進(jìn)行定時(shí)時(shí)間的設(shè)置,通過K3、K4來增加或減小定時(shí)值;當(dāng)設(shè)置好之后按下K2則切換至通道號(hào)的設(shè)置,通過K3、K4來增
9、加或減小通道號(hào);當(dāng)設(shè)置好后按下K1則執(zhí)行對(duì)應(yīng)通道的定時(shí);當(dāng)定時(shí)時(shí)間到時(shí),對(duì)應(yīng)通道的LED燈點(diǎn)亮;(5)當(dāng)程序運(yùn)行初始化后直接按下K3、K4進(jìn)行定時(shí)時(shí)間的設(shè)置,通過K3、K4來增加或減小定時(shí)值;當(dāng)設(shè)置好之后按下K2則切換至通道號(hào)的設(shè)置,通過K3、K4來增加或減小通道號(hào);當(dāng)設(shè)置好后按下按下K2則又切換至定時(shí)時(shí)間的設(shè)置, 通過K3、K4來增加或減小定時(shí)值;依次可不斷循環(huán)通道號(hào)和定時(shí)時(shí)間的切換設(shè)置,直至達(dá)到自己所想要的定時(shí)時(shí)間,此時(shí)按下K1則執(zhí)行對(duì)應(yīng)通道的秒表定時(shí),當(dāng)定時(shí)時(shí)間到時(shí)點(diǎn)亮對(duì)應(yīng)的LED燈。六、硬件設(shè)計(jì)1、單片機(jī)的選擇AT89C51 是秒表計(jì)時(shí)系統(tǒng)的核心器件。該器件是 INTEL 公司生產(chǎn)的
10、MCS51系列單片機(jī)的基礎(chǔ)產(chǎn)品,采用了可靠的 CMOS 工藝制造技術(shù),具 有高性能的 8位單片機(jī),屬于標(biāo)準(zhǔn)的 MCS51 的 CMOS 產(chǎn)品。不僅結(jié)合了 HMOS 的高速和高密度技術(shù)及 HMOS 的低功耗特征,而且繼承和擴(kuò)展了 MCS48 單片機(jī)的體系結(jié)構(gòu)和指令系統(tǒng)。AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器
11、件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖所示。AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32 個(gè)I/O 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的
12、節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。單片機(jī)小系統(tǒng)的電路圖如圖所示:圖1-2 AT89C51管腳說明P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1
13、口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2
14、口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。K頂P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下: P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計(jì)時(shí)器0外部輸入)P3.5 T1(計(jì)時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通
15、)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,
16、該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2、74H
17、C的選擇由74HC245和74HC244芯片和電阻,導(dǎo)線構(gòu)成,控制鎖存單片機(jī)輸出信號(hào)。(1)74HC244是一款高速CMOS器件,74HC244引腳兼容低功耗肖特基TTL(LSTTL)系列。 74HC244是八路正相緩沖器/線路驅(qū)動(dòng)器,具有三態(tài)輸出。該三態(tài)輸出由輸出使能端1OE和2OE控制。任意nOE上的高電平將使輸出端呈現(xiàn)高阻態(tài)。 74HC244與74HC240邏輯功能相似,只不過74HC244帶有正相輸出。如果輸入的數(shù)據(jù)可以保持比較長(zhǎng)的時(shí)間(比如鍵盤),簡(jiǎn)單輸入接口擴(kuò)展通常使用的典型芯片為74HC244,由該芯片可構(gòu)成三態(tài)數(shù)據(jù)緩沖器。由于AT的51系列單片機(jī)一般用并口進(jìn)行編程,理論上可以直
18、接用單片機(jī)的幾根I/O口接并口線,但如果電路板沒做好,可能會(huì)連帶把計(jì)算機(jī)并口燒壞,所以要加個(gè)74HC244芯片隔離一下。74HC244芯片的引腳排列如圖所示:圖1-3 74HC244(2)74HC245元件的引腳圖如下:圖1-4 74HC2451第1腳DIR,為輸入輸出端口轉(zhuǎn)換用,DIR“1”高電平是信號(hào)由“A”端輸入“B”端輸出。2第29腳A信號(hào)輸入輸出端,A0=B0、A7=B7,A0與B0是一組,如果DIR=“1”O(jiān)E=“0”則A0輸入B0輸出,其他類同。如果DIR=“0”O(jiān)E=“0”則B0輸入A0輸出,其他類同。3第1118腳“B”信號(hào)輸入輸出端,功能與端一樣。4第19腳OE,使能端,若
19、該腳為“1”時(shí)A/B端的信號(hào)將不導(dǎo)通,只有為“0”時(shí)A/B端才被啟用,該腳也就是起到開關(guān)的作用。5第10腳GND,電源地。6第20腳VCC,電源正極。Control Inputs控制輸入Operation運(yùn)行DIRLLB數(shù)據(jù)到A總線LHA數(shù)據(jù)到B總線HX隔開表1-1 74HC245真值表(H高電平 L=低電平 X不定)3、顯示電路(1)時(shí)鐘電路 時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn)電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。在AT89C51芯片內(nèi)部有一個(gè)高增益反相放大器其輸入端為芯片引腳XTAL1輸出端為引腳TXAL
20、2在芯片的外部通過這兩個(gè)引角跨接晶體振蕩器和微調(diào)電容形成反饋電路就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。此電路采用12MHz的石英晶體。圖1-5 時(shí)鐘電路(2)復(fù)位電路復(fù)位是單片機(jī)的初始化操作其主要功能是把PC初始化為0000H使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤是系統(tǒng)處于死鎖狀態(tài)時(shí)為擺脫困境也需要按復(fù)位鍵以重新啟動(dòng)。 RST引腳是單片機(jī)復(fù)位信號(hào)的輸入端復(fù)位信號(hào)是高電平有效其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期即2個(gè)機(jī)器周期以上若使用頻率為12MHz的晶振則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4us才能完成復(fù)位操作。復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電自
21、動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的。在本設(shè)計(jì)中采用了按鍵電平復(fù)位方式。 圖1-6復(fù)位電路(3)開關(guān)電路由電源、導(dǎo)線、電阻、開關(guān)(K1、K2、K3、K4 4個(gè)開關(guān))構(gòu)成,使用獨(dú)立式鍵盤接在單片機(jī)的P1口上但通過軟件賦予其中五個(gè)按鍵功能如下:K 1連接 P1.3 端口“設(shè)置”/“定時(shí)啟動(dòng)”。;K 2連接 P1.2 端口“減一”和“打開通道設(shè)置”。K3連接 P1.1 端口“加一”。K4 連接 P1.0 端口“通道”/“定時(shí)設(shè)置”。K4 連接 P1.0 端口“通道”/“定時(shí)設(shè)置”。 圖1-7開關(guān)電路 (4)顯示LED電路 用4位7段LE
22、D數(shù)碼管構(gòu)成圖1-8 4位7段LED數(shù)碼管顯示字符共陰極接法八段狀態(tài)段碼共陰DPGFEDCBA0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH表1-2共陰極接法八段狀態(tài)真值表為綜上可知顯示0123456789段碼3FH06H5BH4FH66H6DH7DH07H7FH6FH表1-3共陰極接法八段LED代碼(5)小燈電路采用了5個(gè)LED,分別為:D1、D2、D3、D4、D5,當(dāng)電路運(yùn)行時(shí),5個(gè)LED小燈接入電
23、路,接口為:D1通過74HC245接到P3.0端口:;D2通過74HC245接到P3.1端口;D3通過74HC245接到P3.2端口;D4通過74HC245接到P3.3端口;D5通過74HC245接到P3.4端口;每到一秒鐘LED燈亮一次,可通過按鈕打開及關(guān)閉該提醒功能。圖1-9小燈電路七、軟件設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的軟件設(shè)計(jì)是研制過程中任務(wù)關(guān)鍵的一項(xiàng)工作。沒有軟件,就無法實(shí)現(xiàn)單片機(jī)的控制;不同軟件可以實(shí)現(xiàn)功能不同的控制,所以,要編寫軟件一定要把要實(shí)現(xiàn)的控制對(duì)象及其功能全面掌握,要做到心中有數(shù)。 單片機(jī)應(yīng)用的軟件千差萬別,不存在統(tǒng)一的模式。開發(fā)一個(gè)軟件的基本方法是盡可能采用模塊化機(jī)構(gòu)。根據(jù)系統(tǒng)軟件
24、的總體構(gòu)思按照先粗后細(xì)的方法,把整個(gè)系統(tǒng)軟件分成多個(gè)功能獨(dú)立模塊。應(yīng)明確規(guī)定各模塊的功能,模塊間的接口信息,盡可能使各模塊的聯(lián)系減少到最低限度。這樣,模塊可以分別獨(dú)立設(shè)計(jì)、編制和調(diào)試、最后在將各個(gè)程序模塊連接成一個(gè)完整的程序進(jìn)行調(diào)試。 較為復(fù)雜軟件的設(shè)計(jì),是建立在各個(gè)基本模塊的基礎(chǔ)上的,如果對(duì)基本模塊熟悉了,編寫一個(gè)較為復(fù)雜的軟件相對(duì)較容易,各個(gè)基本模塊都是課程中相關(guān)章節(jié)的內(nèi)容,系統(tǒng)主要有主程序、中斷子程序、顯示子程序、加 1 子程序、記錄翻頁子程序、減1子程序組成。開始初始化計(jì)時(shí)啟動(dòng)按下k4減一 YES NO按下k3加一 YES NO通道設(shè)置按下k2 YES NO設(shè)置啟動(dòng)按下k1YES N
25、NO計(jì)時(shí)定時(shí)時(shí)間對(duì)應(yīng)通道燈亮 YES結(jié)束圖1-10主程序結(jié)構(gòu)圖加一/減一加一按下k3 YES按下k4 NO減一 YES NO啟動(dòng)計(jì)時(shí)計(jì)時(shí)圖1-11子程序通道設(shè)置按下k2 NO YES開始設(shè)置通道號(hào)加一按下k3 YES NO通道號(hào)減一按下k4 YES NO圖1-12 按鍵程序八、部分重要源程序代碼1.通道號(hào)的設(shè)置uchar set_thax() /設(shè)置通道函數(shù) key_set(); if(set_2=2) delay(10);if(k3=0) /K3加1 delay(30);if(k3=0)delay(300);sec+;if(sec=5)sec=1; if(k4=0) /K4減1 delay(
26、30); if(k4=0)delay(300);sec-;if(sec=0)sec=4; a=sec;return a; 2.定時(shí)值的設(shè)置void set_time() /設(shè)置時(shí)間函數(shù) key_set(); if(set_2=1) delay(10); if(k3=0) /K3加1 delay(30); if(k3=0) delay(300); minu+; if(minu=100) minu=1; if(k4=0) /K4減1 delay(30); if(k4=0) delay(300); minu-; if(minu=-1) minu=99;九、單片機(jī)秒表的安裝與調(diào)試軟件的仿真與調(diào)試Pro
27、teus Pro仿真軟件它可以仿真、分析SPICE各種模擬器件和集成電路。該軟件的主要特點(diǎn)總結(jié)后有以下四點(diǎn)(1)實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合的功能。(2)支持目前主流單片機(jī)系統(tǒng)的仿真。(3)提供了軟件調(diào)試功能并可以與WAVE聯(lián)合仿真調(diào)試。(4)具有強(qiáng)大的原理圖繪制功能。該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件功能極其強(qiáng)大。在電子領(lǐng)域中也起到了很大的作用它的出現(xiàn)仿真不需要先焊接電路可以先仿真調(diào)試通過后在焊電路節(jié)省了不少在硬件調(diào)試上所花的時(shí)間。首先打開已經(jīng)畫好的Proteus Pro文件雙擊圖中的AT89C51芯片就彈出一個(gè)窗口在他TOOLS項(xiàng)中通過路徑選擇在ASEM51
28、中生成的ASEM.EXE文件雙擊選中后確定這樣仿真圖中的AT89S52芯片就已經(jīng)讀取了本設(shè)計(jì)中的EXE文件。單擊“三角形按鈕”進(jìn)行仿真。通過對(duì)仿真結(jié)果的觀察來對(duì)程序進(jìn)行修改最終使程序到達(dá)設(shè)計(jì)要求。部分功能運(yùn)行結(jié)果如下:1、通道選擇仿真結(jié)果:圖1-13通道1選擇仿真結(jié)果圖1-14通道3選擇仿真結(jié)果2、清零仿真結(jié)果:圖1-15初始仿真結(jié)果圖1-16清零仿真結(jié)果十、心得體會(huì)通過這次單片機(jī)課程設(shè)計(jì),我獲益良多,它不僅加深了我對(duì)理論知識(shí)的理解,而且學(xué)會(huì)將所學(xué)的理論知識(shí)應(yīng)用到實(shí)際當(dāng)中去,提高動(dòng)手能力,使得課程設(shè)計(jì)更能達(dá)到我們的設(shè)計(jì)要求,我還學(xué)會(huì)了如何去培養(yǎng)我的創(chuàng)新精神,動(dòng)手操作的能力,學(xué)會(huì)獨(dú)立自主完成設(shè)計(jì)
29、要求。 這個(gè)課程設(shè)計(jì)的主要內(nèi)容包括單片機(jī)的選擇,震蕩電路,時(shí)鐘電路,顯示電路,這些基本電路的設(shè)計(jì)都是老師在課堂上講到的重要內(nèi)容。該課題的關(guān)鍵是軟件部分的設(shè)計(jì),如果把握不好的話思路就會(huì)很凌亂, 讓人一時(shí)摸不著頭腦。 經(jīng)過幾天的思索和上網(wǎng)查詢和搜索,和同學(xué)間的交流,最后還是把整個(gè)程序設(shè)計(jì)出來了,當(dāng)整個(gè)程序出來后我就懷著激動(dòng)的心情進(jìn)行仿真,然而還是存在很多錯(cuò)誤,但經(jīng)過多次調(diào)試后終于成功了。這次設(shè)計(jì)也讓我深深的感到僅在課堂上的學(xué)到的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,課下我們應(yīng)該多到圖書館或網(wǎng)上多了解一下其它的東西,多和同學(xué)交流,才能更好的學(xué)好這門知識(shí),同時(shí)更應(yīng)該加強(qiáng)我們的動(dòng)手能力的訓(xùn)練,把理論知識(shí)運(yùn)用到實(shí)際生活中。十
30、一、參考文獻(xiàn)(1)單片機(jī)原理與接口技術(shù)吳亦峰 陳德為 馮維杰 曹雙貴 許艷 編造 出版社 電子工業(yè)出版社(2) MCS-51單片機(jī)原理及應(yīng)用實(shí)例南建輝 熊鳴 王軍茹 編著 出版社 北京清華大學(xué)出版社 版次 2004年3月第1版 2006年2月第3版次印刷(3)單片機(jī)原理、微機(jī)原理與接口技術(shù)黃建新 北京化學(xué)工業(yè)出版社 2009十二、程序清單#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit QB1=P20; /選擇數(shù)碼管sbit QB2=P21;sbit QB3=P22;sbit QB4=
31、P23;sbit k1=P10; /k1按鍵,sbit k2=P11; /k2按鍵,sbit k3=P12; /k3按鍵,加1sbit k4=P13; /k4按鍵,減1sbit led4=P30; /LED燈sbit led3=P31;sbit led2=P32;sbit led1=P33;sbit what=P0;uchar sec=1,minu,mstcnt; / 定義初始量uchar set_2=1,set_1=1;uchar mis,mig,ss,sg;uchar code table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;
32、/共陰顯示uchar code tabl=0x3F,0x06,0x5B,0x4F,0x66; int a;void delay(uint); /延時(shí)函數(shù)void key_change(); / 掃描K1void key_set(); / 掃描K2void disp(uchar,uchar,uchar,uchar); /顯示函數(shù)void set_time(); /設(shè)置時(shí)間函數(shù)uchar set_thax(); /設(shè)置通道函數(shù)void timer0();void haap();void main() /主函數(shù) EA=1; /系統(tǒng)允許有開放的中斷 ET0=1; /允許T0中斷 TR0=1; /開啟中
33、斷,啟動(dòng)定時(shí)器 TMOD=0x01; TH0=0x00; TL0=0x01; while(1) sg=sec%10; /通道個(gè)位 mis=minu/10; /顯示時(shí)間十位 mig=minu%10; key_set(); /掃描K2 key_change(); /掃描K1 if(set_1=1) /設(shè)置顯示條件 haap(); if(k1=1&&k2=1) /正常顯示 delay(10); if(k1=1&&k2=1) sg=sec; disp(sg,mis,mig,ss); key_change(); if(set_1 =2)/啟動(dòng)條件 timer0(); ke
34、y_change(); if(set_1=3) minu=0; void haap() /設(shè)置顯示函數(shù) if(set_1=1) delay(10); key_set(); if(set_2=1) delay(10); set_time(); key_set(); if(set_2=2) delay(10); set_thax(); void timer0() interrupt 1 using 0 /啟動(dòng)函數(shù) TH0=0x01; TMOD = 0x01; if(set_1=2) delay(10); mstcnt+; if(mstcnt=20) mstcnt=0;if (minu=0)minu=0; set_thax();if(a=1)led1=0;led2=1;led3=1 ;led4=1;elseif(a=2)led1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際貿(mào)易與實(shí)務(wù)協(xié)議
- 2025年公務(wù)員錄用考試申論試卷:湖北地區(qū)版
- 三年級(jí)的作文寫景14篇
- 一例登革熱合并凝血功能障礙患者的個(gè)案護(hù)理
- 2025年法語TCF考試試卷寫作實(shí)戰(zhàn)技巧與案例分析試題
- 2025年超高壓復(fù)合膠管項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年安全生產(chǎn)消防安全應(yīng)急處置人員培訓(xùn)試題集
- 那場(chǎng)難忘的演講激情四溢的演講稿8篇范文
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)數(shù)字簽名技術(shù)規(guī)范報(bào)告:2025年技術(shù)挑戰(zhàn)與解決方案
- 紡織服裝行業(yè)智能化生產(chǎn)設(shè)備市場(chǎng)分析報(bào)告001
- 牙科技術(shù)入股合作協(xié)議書
- 外墻保溫層熱橋防治要點(diǎn)
- 廣州市天河區(qū)2024-2025學(xué)年八年級(jí)英語滬教版下冊(cè)期末模擬練習(xí)題【含答案解析】
- 兒童支氣管哮喘診斷與防治指南(2025)解讀課件
- 2024-2025學(xué)年貴州省貴陽一中高一(下)第三次月考數(shù)學(xué)試卷(含答案)
- 【MOOC答案】《大學(xué)物理I力學(xué)、相對(duì)論、電磁學(xué)》(北京交通大學(xué))章節(jié)作業(yè)慕課答案
- 纖支鏡護(hù)理試題及答案
- 水電工培訓(xùn)試題及答案
- 烏魯木齊市既有建筑改造消防設(shè)計(jì)審查工作指南
- 2025至2030中國混凝土外加劑市場(chǎng)供需發(fā)展及經(jīng)營管理風(fēng)險(xiǎn)預(yù)警報(bào)告
- 青海中考地理試題及答案
評(píng)論
0/150
提交評(píng)論