基于51單片機(jī)的秒表設(shè)計(jì)報(bào)告_第1頁
基于51單片機(jī)的秒表設(shè)計(jì)報(bào)告_第2頁
基于51單片機(jī)的秒表設(shè)計(jì)報(bào)告_第3頁
基于51單片機(jī)的秒表設(shè)計(jì)報(bào)告_第4頁
基于51單片機(jī)的秒表設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選文檔課程名稱: 微機(jī)原理課程設(shè)計(jì) 題 目: 基于51單片機(jī)的秒表設(shè)計(jì) 摘要隨著社會的發(fā)展,單片機(jī)已經(jīng)滲透到我們生活中的各個(gè)領(lǐng)域,廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等。本設(shè)計(jì)就是由單片機(jī)STC89C52RC芯片和四位一體LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子秒表。秒表是一種常用的測試儀器,它可以用在百米賽跑等需要精確計(jì)時(shí)的地方,為人們的生活提供了很大的方便。該單片機(jī)電子秒表布置合理,全部器件分布在7*9cm洞洞板上,看起來小巧精簡。采用的是單片機(jī)內(nèi)部定時(shí)/計(jì)數(shù)器計(jì)時(shí),走時(shí)非常精確而且不易出錯(cuò)。0.56英寸的四位數(shù)碼管發(fā)出紅光,可

2、以直觀地顯示時(shí)間。一個(gè)控制按鍵就可以控制秒表的計(jì)數(shù)與停止,按一下控制鍵,秒表工作狀態(tài)就由計(jì)時(shí)變?yōu)橛?jì)時(shí)變?yōu)橥V够蛲V棺優(yōu)橛?jì)時(shí),按一下清零鍵就可以清零,操作非常簡單。由于是四位數(shù)碼管,它的計(jì)時(shí)周期為100秒,顯示滿刻度為99:99秒,從左往右數(shù)共四位,前兩位顯示整數(shù)部分,后兩位顯示小數(shù)部分,中間兩個(gè)個(gè)秒閃燈(秒閃燈一直亮)。關(guān)鍵詞:秒表,51單片機(jī),C語言目錄一、設(shè)計(jì)任務(wù)與要求181.1 設(shè)計(jì)任務(wù)181.2 設(shè)計(jì)要求18二、方案總體設(shè)計(jì)192.1 方案一192.2 方案二192.3 系統(tǒng)采用方案19三、硬件設(shè)計(jì)213.1 單片機(jī)最小系統(tǒng)213.2 數(shù)碼管顯示模塊213.3 系統(tǒng)電源223.4 整體

3、電路22四、軟件設(shè)計(jì)244.1 keil軟件介紹244.2 系統(tǒng)程序流程24五、仿真與實(shí)現(xiàn)275.1 proteus軟件介紹275.2 仿真過程275.3 實(shí)物制作與調(diào)試295.4 使用說明31六、總結(jié)326.1設(shè)計(jì)總結(jié)326.2經(jīng)驗(yàn)總結(jié)20七、參考文獻(xiàn)21一、設(shè)計(jì)任務(wù)與要求1.1 設(shè)計(jì)任務(wù)1).對更多小器件的了解2).鞏固51單片機(jī)和C語言的知識,熟悉單片機(jī)和C語言的實(shí)際操作運(yùn)用3).掌握仿真軟件的運(yùn)用和原理圖的繪制4).加深焊接的技巧,提高焊接的能力5).熟悉調(diào)試方法和技巧,提高解決實(shí)際問題的能力6).熟悉設(shè)計(jì)報(bào)告的編寫過程1.2 設(shè)計(jì)要求1).清零鍵進(jìn)行清零2).一個(gè)獨(dú)立按鍵進(jìn)行停止與運(yùn)

4、行的操作3).秒閃燈一直亮二、方案總體設(shè)計(jì)設(shè)計(jì)一個(gè)基于51單片機(jī)的秒表。利用單片機(jī)內(nèi)部精確到微妙的定時(shí)計(jì)數(shù)器來實(shí)現(xiàn)計(jì)時(shí)功能;秒閃燈一直亮;利用引腳的電平變換來實(shí)現(xiàn)一個(gè)獨(dú)立按鍵按控制秒表的運(yùn)行與停止;利用清零按鍵功能來實(shí)現(xiàn)清零操作。2.1 方案一51單片機(jī)的定時(shí)/計(jì)數(shù)器工作在模式2時(shí)是一個(gè)可以自動重裝載的8位定時(shí)/計(jì)數(shù)器。工作時(shí)高八位和低八位裝入相同的初值,當(dāng)?shù)桶宋谎b滿時(shí),高八位的值自動裝入到第八位中,從而可以省去用戶軟件中重裝初值常數(shù)的語句,可產(chǎn)生相當(dāng)精確的定時(shí)時(shí)間。由于只有八位參與計(jì)數(shù),所以其計(jì)數(shù)周期最大為256微妙。秒表精確到0.01秒,所以采用初值裝入0x38,計(jì)數(shù)50次秒表最低位加1

5、。低位的累加進(jìn)而向高位的進(jìn)位,從而實(shí)現(xiàn)四位數(shù)碼管的秒表顯示。設(shè)置讓秒閃燈一直亮。同樣檢測TR0的值,如果TR0為0,則說明暫停。外部中斷具有實(shí)時(shí)處理的功能,所以可以利用外部中斷來進(jìn)行控制運(yùn)行與停止的操作。外部中斷有兩種觸發(fā)中斷的方式:定電平觸發(fā),跳變沿觸發(fā)。如果用低電平觸發(fā)的話,由于按鍵每按一次,導(dǎo)通的時(shí)間大約為20毫秒,在這個(gè)時(shí)間段足夠觸發(fā)好多次中斷,所以不用低電平觸發(fā),采用跳變沿觸發(fā)中斷。每按一次按鍵觸發(fā)一次中斷,在中斷程序中對TR0進(jìn)行設(shè)置,從而實(shí)現(xiàn)控制運(yùn)行與停止。清零鍵每按一次就清零一次,數(shù)碼管也就顯示初始的00:00狀態(tài),就可以重新計(jì)時(shí)。2.2 方案二51單片機(jī)的定時(shí)/計(jì)數(shù)器工作在模

6、式0時(shí)是一個(gè)16位位定時(shí)/計(jì)數(shù)器。工作時(shí)高八位和低八位各裝入初值,當(dāng)?shù)桶宋谎b滿時(shí),高八位加1。由于是16位參與計(jì)數(shù),所以其計(jì)數(shù)周期最大為65536微妙。秒表精確到0.01秒,所以采用高八位初值裝入(65536-10000)/256,低八位裝入(65536-10000)%256,計(jì)數(shù)1次秒表最低位加1 。低位的累加進(jìn)而向高位的進(jìn)位,從而實(shí)現(xiàn)四位數(shù)碼管的秒表顯示。設(shè)置讓秒閃燈一直亮。同樣檢測TR0的值,如果TR0為0,則說明暫停。按鍵可以改變引腳的電平,所以可以檢測P口的變化,根據(jù)P口的電平情況來在程序中對TR0進(jìn)行設(shè)置,從而實(shí)現(xiàn)控制運(yùn)行與停止。清零鍵每按一次就清零一次,數(shù)碼管也就顯示初始的00:

7、00狀態(tài)。2.3 系統(tǒng)采用方案1)總體設(shè)計(jì):設(shè)計(jì)總體框架圖如圖所示 圖1 系統(tǒng)總體框架2)總體工作原理由于定時(shí)器工作模式2是八位,可裝入的值太小,秒表最低位每加一次需要進(jìn)入50次定時(shí)器中斷,由于進(jìn)入中斷的次數(shù)太多,所以很容易出現(xiàn)在低八位裝滿本應(yīng)觸發(fā)而程序還在中斷子程序中運(yùn)行,而無法觸發(fā)中斷的情況,所以不采用工作模式2。工作模式0只需要進(jìn)入定時(shí)中斷一次就可以讓秒表最低位加1次,所以選擇功能模式0。由于外部中斷跳變沿方式每一次下降沿都會觸發(fā)中斷,而按鍵按下的時(shí)候,會出現(xiàn)抖動的情況,并且采用外部中斷不易進(jìn)行消抖,很不穩(wěn)定,很可能按一次出現(xiàn)幾次中斷,所以不采用外部中斷方式。用P口檢測的話,比較容易消抖

8、,并且也可以實(shí)時(shí)監(jiān)測,所以用P口檢測的方法。綜上選擇方案二。三、硬件設(shè)計(jì)3.1 單片機(jī)最小系統(tǒng)單片機(jī)要正常工作,首先要產(chǎn)生片內(nèi)時(shí)鐘信號。在單片機(jī)內(nèi)部的振蕩器的輸入端XTAL1和輸出端XTAL2之間接一個(gè)石英晶振就可以夠成一個(gè)自激振蕩器。再在兩端之間串聯(lián)接個(gè)電容并且在兩個(gè)電容之間接地以便于穩(wěn)定頻率還對振蕩頻率有微調(diào)作用。電容通常選30PF左右,振蕩脈沖頻率范圍為024MHZ。該電路中選用12MHZ晶振。時(shí)鐘電路圖如下:、圖2 時(shí)鐘電路圖單片機(jī)在啟動時(shí)與其他微處理器一樣,要讓CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始開始工作。這就需要復(fù)位操作。復(fù)位電路有兩種方式:上電自動復(fù)位和按鍵自動復(fù)位。上

9、電自動復(fù)位只是在開始接通電源瞬間復(fù)位,接下來想要再次復(fù)位就需要斷電重啟,不方便。按鍵自動復(fù)位不僅可以在開始接通電源瞬間復(fù)位還可以通過按下按鍵復(fù)位隨時(shí)復(fù)位。所以選擇按鍵復(fù)位方式。復(fù)位電路如下:圖3 復(fù)位電路圖3.2 數(shù)碼管顯示模塊該秒表計(jì)時(shí)周期為100秒,采用四位數(shù)碼管顯示??刂茢?shù)碼管的顯示有兩個(gè)部分:位選控制和段選控制。位選是控制數(shù)碼管顯示哪位,段選是控制數(shù)碼管顯示的字樣。數(shù)碼管分為共陽與共陰,內(nèi)部結(jié)構(gòu)差不多,唯一的區(qū)別就是內(nèi)部二極管方向的布置不同。在連接電路時(shí)這兩種數(shù)碼管位選與段選的連接不同。共陽數(shù)碼管的位選接高電平,段選接低電平。共陰數(shù)碼管的位選接低電平,段選接高電平。該數(shù)碼管顯示模塊采用

10、四位一體共陰數(shù)碼管,P0口八個(gè)引腳段選控制,P2口的四個(gè)引腳位選控制。數(shù)碼管顯示原理圖如下:圖4 數(shù)碼管顯示系統(tǒng)圖3.3 系統(tǒng)電源為了方便控制系統(tǒng)的上電與斷電,系統(tǒng)電源中連接了一個(gè)藍(lán)白自鎖開關(guān)。此開關(guān)兩邊各有三個(gè)引腳,不同的連接方式,開關(guān)的控制方法就不同。電源的正負(fù)極各接在此開關(guān)的兩邊。為了方便觀察電源是否接上,在電路中的VCC與GND之間接一個(gè)發(fā)光二極管并且加一個(gè)限流電阻防止發(fā)光二極管燒壞,電源通電時(shí)發(fā)光二極管亮,斷電時(shí),則暗。再接四個(gè)排針便兩邊的兩個(gè)排針用于外部電源給系統(tǒng)上電,中間的兩個(gè)排針是用于單片機(jī)燒錄程序。如圖所示:圖5 系統(tǒng)電源圖3.4 整體電路這是采用網(wǎng)絡(luò)標(biāo)號的畫出的以一張整體電

11、路圖。它將整張秒表的電路原理圖分為六個(gè)部分:電源模塊,P0口上拉電阻,四位共陰數(shù)碼管,51單片機(jī),復(fù)位晶振電路,控制按鍵。整張?jiān)砜雌饋砻烙^,并且根據(jù)標(biāo)號很容易找到與之對應(yīng)的引腳。在看原理圖的時(shí)候,我還沒有弄清楚獨(dú)立按鍵和藍(lán)白自鎖開關(guān)的內(nèi)部結(jié)構(gòu)和工作原理,我也是在最初接觸這些東西的時(shí)候請教過一些同學(xué),然后得到的了解是獨(dú)立按鍵按下時(shí)對角才相連,藍(lán)白自鎖開關(guān)我了解到的是7*7自鎖開關(guān),當(dāng)時(shí)我還不知道有藍(lán)白自鎖開關(guān)有7*7與8*8的區(qū)分。所以我在分析電路時(shí),我只認(rèn)為獨(dú)立按鍵按下時(shí)對角線才相連,并且我用7*7的藍(lán)白自鎖開關(guān)去分析8*8的藍(lán)白自鎖開關(guān)。這樣導(dǎo)致了我對電路原理圖的理解錯(cuò)誤。自己分析了半天,

12、是覺得有些地方理解不了,所以我就請教老師,經(jīng)過老師的講解,我才發(fā)現(xiàn)老師所講的電路電流的流向,并不符合我之前根據(jù)我所了解的獨(dú)立按鍵和藍(lán)白自鎖開關(guān)的知識所分析的電流流向。這是我才意識到可能我之前錯(cuò)誤的了解了獨(dú)立按鍵和藍(lán)白自鎖開關(guān)的知識。后來我就用萬用電表去測了一下獨(dú)立按鍵和8*8的藍(lán)白自鎖開關(guān),果然發(fā)現(xiàn)我之前對獨(dú)立按鍵和8*8的藍(lán)白自鎖開關(guān)的理解是錯(cuò)誤的。重新對獨(dú)立按鍵和8*8的藍(lán)白自鎖開關(guān)有了正確的認(rèn)識之后,我再去分析一下原理圖,分析的結(jié)果和老師講的一模一樣。所以對要使用元器件一定要有一個(gè)正確的認(rèn)識,能測的元器件就親自去測一下,也不需要花很多的時(shí)間,不要碰到不了解的就去問,有時(shí)候別人也會講錯(cuò),或

13、者講的不夠全面,就像我之前拿一個(gè)8*8的藍(lán)白自鎖開關(guān)去問別人藍(lán)白自鎖開關(guān)是什么工作原理,他可能一般接觸的是7*7藍(lán)白自鎖開關(guān)所以告訴我的就是7*7的藍(lán)白自鎖開關(guān)的工作原理。然后我就沒有正確認(rèn)識8*8的藍(lán)白自鎖開關(guān),導(dǎo)致了后面對原理圖的錯(cuò)誤理解。圖6 整體電路圖四、軟件設(shè)計(jì)4.1 keil軟件介紹Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows

14、界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種Keil軟件圖標(biāo)是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MC

15、S-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而

16、僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。4.2 系統(tǒng)程序流程圖7 主程序流程圖圖8 定時(shí)器中斷程序流程圖五、仿真與實(shí)現(xiàn)5.1 proteus軟件介紹Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目

17、前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持KEIL,IAR和MPLAB等多種編譯器。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的

18、單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。使用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真軟件的操作能力;在單片機(jī)課程設(shè)計(jì)和全國大學(xué)生電子設(shè)計(jì)競賽中,我們使用 Proteus 開發(fā)環(huán)境對學(xué)生進(jìn)行培訓(xùn),在不需要硬件投入的條件下,學(xué)生普遍反映,對單片機(jī)的學(xué)習(xí)比單純學(xué)習(xí)書本知識更容易接受,更容易提高。實(shí)踐證明,在使用Proteus進(jìn)行系統(tǒng)仿真開發(fā)成功之后再進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。因此,Proteus有較高的推廣利用價(jià)值。5.2 仿真過程圖9為使用kei

19、l軟件編寫程序時(shí)的調(diào)試過程圖。我用的是C語言來編寫。第一次編寫完程序后,然后編譯一下,出現(xiàn)的對話框中顯示有幾個(gè)錯(cuò)誤,點(diǎn)擊錯(cuò)誤提示,主程序會出現(xiàn)光標(biāo)只向錯(cuò)誤的地方,根據(jù)這個(gè)錯(cuò)誤提示,然后進(jìn)行更改,再編譯一下,程序還是顯示有錯(cuò)誤,再重復(fù)上次的操作,進(jìn)過了幾次修改后,就如圖所示沒有錯(cuò)誤提示了。編寫程序就是這樣,需要不斷修改,程序才能準(zhǔn)確。程序編寫好,還要編譯成HEX文件。只有HEX文件才能燒錄到到單片機(jī)上。圖9 keil軟件仿真圖圖10為proteus仿真原理圖。連接好電路圖后,箭頭放在單片機(jī)上單擊右鍵,在出現(xiàn)的對話框中點(diǎn)擊EDIT PROPOTES再在出現(xiàn)的對話框中點(diǎn)擊program file那行

20、的那個(gè)文件圖標(biāo),從里面找出先前已經(jīng)在KEIL軟件中編譯的HEX文件。點(diǎn)擊文件后,然后在單擊edit component對話框的右上角的OK選項(xiàng)。然后點(diǎn)擊Proteus的首界面的左下角形狀是黑色三角型的play鍵,仿真圖上的顯示系統(tǒng)就出現(xiàn)了初始狀態(tài),單擊控制開關(guān),秒表開始計(jì)數(shù),再單擊一下控制開關(guān)后,計(jì)時(shí)停止。也可以點(diǎn)擊play鍵右邊那個(gè)step鍵,讓程序一步一步執(zhí)行step鍵右邊是pause鍵,按一下這個(gè)鍵程序就暫停運(yùn)行,再按一下程序就又開始運(yùn)行。仿真完后按一下stop鍵結(jié)束仿真。當(dāng)看到仿真電路上出現(xiàn)現(xiàn)象和操作時(shí)所達(dá)到的效果和我在編程時(shí)所預(yù)想的情況一樣后,再保存所畫的電路圖,單擊左上角的file

21、中,再在出現(xiàn)的選項(xiàng)中單擊save,可以選擇自己想要保存的地方。下次打開proteus時(shí)可以單擊file,再在出現(xiàn)的選項(xiàng)中單擊open design的選項(xiàng),可以從保存的地方直接選擇所畫的電路圖打開,并且可以直接仿真。在要用proteus仿真軟件的時(shí)候,剛開始不會使用,因?yàn)槲译娔X里有學(xué)習(xí)這款軟件的視頻,然后我就看視頻學(xué)習(xí)。老師看到我在看視頻學(xué)習(xí)時(shí),就要我不要通過看視頻學(xué)習(xí),直接看文檔,先簡單的學(xué)一些,夠現(xiàn)在用就行,以后邊用邊學(xué)。確實(shí)通過看文檔,邊看邊操作,再問一下同學(xué),沒花多少時(shí)間我就可以使用了。要不是老師指導(dǎo)一下,我可能要花上好多時(shí)間在學(xué)習(xí)proteus軟件上面。在以后學(xué)習(xí)中,我盡量多看書,看視

22、頻雖說細(xì)致但太費(fèi)時(shí)間,看書實(shí)在看不懂再去看看詳細(xì)講解的視頻,特別是學(xué)習(xí)軟件,看視頻不單費(fèi)時(shí)間,看了還容易忘,看文檔邊看邊操作,花的時(shí)間少還記得牢。圖10 proteus仿真圖5.3 實(shí)物制作與調(diào)試圖11為實(shí)物圖的背面,圖12為實(shí)物圖的正面。在選器件的時(shí)候,有些器件我也沒有去看型號,藍(lán)白自鎖開關(guān)我就是隨便拿的,當(dāng)時(shí)我還不知道有有7*7與8*8的區(qū)分,是碰巧拿到8*8型號的。我拿的時(shí)候都沒想到這個(gè)藍(lán)白自鎖開關(guān)還有其他型號,以后碰到不熟悉的元器件要多想一想,大概有哪些型號,自己是否選對了型號。避免出現(xiàn)元器件使用的問題。在焊接的時(shí)候,出現(xiàn)了許多問題,錫上的有點(diǎn)多,有時(shí)候焊得太久把銅片焊了,并且我居然把

23、IC插座焊反了。我明明分辨得出IC插座的正反方向,但是我還是犯了錯(cuò)誤。我在安上IC插座的時(shí)候沒有看是否方向正確,就直接焊,等我想到的時(shí)候已經(jīng)來不及改了。以后在焊接的時(shí)候,無論焊什么都要問一下自己焊接的方向是否正確,位置是否正確。不能把問題以后解決,特別是這種問題做錯(cuò)了都不能更改。剛焊好板子之后,我就通上電去試一下,按下藍(lán)白自鎖按鍵,結(jié)果什么現(xiàn)象都沒有。開始有點(diǎn)不知所措,想了一下,既然電源指示燈沒亮,說明沒通上電,可能的情況有四種:1.藍(lán)白自鎖開關(guān)安反了2.發(fā)光二極管有問題3.焊接出現(xiàn)問題4.電源有問題。我逐一排查,結(jié)果是發(fā)光二極管那個(gè)腳,出現(xiàn)虛焊,我再用電烙鐵焊幾下之后,發(fā)光二極管才亮。發(fā)光二

24、極管亮了,但燒錄不進(jìn)去程序。我首先想到其他的先不管如果最小系統(tǒng)焊接完整無誤的話,程序應(yīng)該就可以燒錄進(jìn)去。于是我首先檢查一下時(shí)鐘電路和復(fù)位電路是否連接正確,檢查完沒有問題,我再用萬用電表檢查是否焊接有問題。果然晶振的一個(gè)腳和單片機(jī)的XTAL2是斷路的,我就仔細(xì)查看一下,一個(gè)地方?jīng)]有焊接上,我再電烙鐵稍微焊一下。通電后就可以燒錄程序了。焊這塊板子,我出現(xiàn)了兩個(gè)焊接上的失誤,其中一個(gè)很不應(yīng)該的錯(cuò)誤就是沒有焊的連接好。還好這是一塊比較簡單板子,錯(cuò)誤還比較好查出來,如果是一塊很復(fù)雜的板子,那在調(diào)試的時(shí)候肯定要花很多時(shí)間。所以在焊得時(shí)候一定要細(xì)心,盡量減少錯(cuò)誤,這樣可以為以后的調(diào)試節(jié)省更多的時(shí)間。程序下是

25、進(jìn)了,但是數(shù)碼管顯示的狀態(tài)卻不理想,數(shù)字不停得閃動,不清晰,我想可能是變化的太快的原因,于是我就加長了延時(shí)的時(shí)間,數(shù)字的顯示就清楚多了。當(dāng)我按下控制鍵時(shí),數(shù)字正常計(jì)時(shí),我又接著按幾下時(shí),發(fā)現(xiàn)秒表的計(jì)時(shí)與停止并不能準(zhǔn)確的控制。我想肯定是按鍵抖動的問題引起的,我嘗試消抖,依然沒有效果,于是我請教學(xué)長,原因是我采用外部中斷控制的問題。外部中斷不易消抖,應(yīng)采用P口進(jìn)行電平檢測來控制秒表的計(jì)時(shí)與停止。我換成電平檢測后,果然穩(wěn)定了許多。其實(shí)我是知道電平檢測的方法也可以進(jìn)行控制的,但是我當(dāng)時(shí)就沒有去想到用這種方法去嘗試一下,我以為外部中斷是可以控制的并且可以很及時(shí)的控制,就鉆在外部中斷控制的方法里,沒有跳出

26、來想問題。其實(shí)實(shí)現(xiàn)一個(gè)功能往往有不同的方法,當(dāng)使用一種方法遇到阻礙沒有頭緒時(shí),可以選擇用另外一種方法解決,再回過頭來比較這幾種方法,往往能更好的找出問題的所在。在整個(gè)的制作當(dāng)中出現(xiàn)過許多問題,其實(shí)很多老師也講過,但有時(shí)候在忙著自己的,沒有仔細(xì)聽,以至于后來又要根據(jù)老師的要求改動,耽誤更多的時(shí)間。所以我覺得,老師在講的時(shí)候就應(yīng)該立馬停止手頭的一切,好好挺清楚,尤其是剛做課題設(shè)計(jì),好多東西不清楚,更需要注意很多細(xì)節(jié)。圖11 實(shí)物圖背面圖12 實(shí)物圖正面5.4 使用說明如圖12所示:此秒表包含的元器件有:STC89C52單片機(jī)一塊,IC插座一個(gè),排阻一個(gè),排母若干,四位一體數(shù)碼管一個(gè),四個(gè)排針,三個(gè)

27、獨(dú)立按鍵,兩個(gè)電阻,一個(gè)電解電容,兩個(gè)瓷片電容,一個(gè)紅色的放光二極管,一個(gè)藍(lán)白自鎖開關(guān),一個(gè)晶振。整個(gè)秒表布置在一塊70×90大小的洞洞板上。四位一體數(shù)碼管用于顯示計(jì)時(shí)時(shí)刻,單片機(jī)下方的按鍵為控制按鍵,每按一次控制鍵,秒表的狀態(tài)由開始停止或停止開始。控制按鍵左邊是具有清零功能的清零按鍵。數(shù)碼管右邊的那個(gè)按鍵為復(fù)位按鍵,每按一次系統(tǒng)就復(fù)位一次,回到初始狀態(tài)。復(fù)位按鍵上方的四個(gè)排針從左至右依次接5V的VCC,RXD,TXD,GND。復(fù)位按鍵下方的藍(lán)白自鎖開關(guān)為電源開關(guān),當(dāng)排針接好電源后,按下藍(lán)白自鎖開關(guān)則系統(tǒng)上電,按起藍(lán)白自鎖開關(guān)則系統(tǒng)斷電。藍(lán)白自鎖開關(guān)上方的紅色發(fā)光二極管為電源指示燈,

28、當(dāng)系統(tǒng)接通電源時(shí),指示燈亮,當(dāng)系統(tǒng)斷開電源時(shí),指示燈暗。使用前應(yīng)先上電。接上電源后由于開關(guān)斷開系統(tǒng)還未上電,按下藍(lán)白自鎖開關(guān)后,電源接通。此時(shí)四位一體數(shù)碼管顯示00:00的字樣。當(dāng)你要開始計(jì)時(shí),則按下單片機(jī)下方的那個(gè)獨(dú)立控制按鍵。數(shù)碼管立刻開始計(jì)數(shù)。右邊兩位的整數(shù)部分開始計(jì)數(shù),在計(jì)數(shù)的時(shí)候中間的兩個(gè)秒閃燈一直。當(dāng)你想要停止計(jì)時(shí)時(shí),只需再按一下單片機(jī)下方的那個(gè)獨(dú)立控制按鍵了,當(dāng)你按下時(shí),數(shù)碼管立即停止計(jì)時(shí)并且此時(shí)數(shù)碼管會顯示××:××的字樣。如果你又想要繼續(xù)計(jì)時(shí),你只需再按一下這個(gè)控制按鍵了。如果你想要再次計(jì)時(shí),你可以按下清零鍵,此時(shí)數(shù)碼管又顯示為初始時(shí)的

29、狀態(tài)00:00了。由于此數(shù)碼管為顯示左邊兩位為整數(shù)部分,右邊兩位為小數(shù)部分,所以你最多只能計(jì)時(shí)100秒,當(dāng)數(shù)碼管計(jì)時(shí)到99:99時(shí)數(shù)碼管緊接著顯示為00:00。當(dāng)你使用這個(gè)秒表時(shí),你會發(fā)現(xiàn)此秒表操作非常簡單,計(jì)時(shí)準(zhǔn)確,并且便于觀察時(shí)間。六、總結(jié)6.1設(shè)計(jì)總結(jié)我的課題是基于51單片機(jī)秒表的設(shè)計(jì)。當(dāng)我選擇了這個(gè)課題的時(shí)候,我就先開始想在平常生活中秒表的功能是怎樣的,需要一些什么器件來實(shí)現(xiàn)這些功能。在確定了自己要設(shè)計(jì)一個(gè)怎樣的秒表之后就開始列出做這個(gè)秒表所需要的元器件。這個(gè)秒表是基于給定的顯示系統(tǒng)上設(shè)計(jì)的,所以在設(shè)計(jì)電路原理圖之前,我先要掌握給定的顯示系統(tǒng)原理圖的連接方式和連接原理。這一些都弄明白之

30、后,我再考慮如何在現(xiàn)有的基礎(chǔ)上進(jìn)行外圍設(shè)計(jì)使之達(dá)到預(yù)想的功能。經(jīng)過一番斟酌,確定我的外圍硬件只需添加一個(gè)獨(dú)立按鍵就可以實(shí)現(xiàn)秒表的功能。由于我的秒表元器件是焊接在一個(gè)70×90大小的洞洞板上,所以為了以后方便焊接,減少焊接錯(cuò)誤,需要在洞洞板軟件中的一個(gè)70×90大小的洞洞板底圖上畫出洞洞板圖,設(shè)計(jì)線路的時(shí)候要盡量減少飛線的使用,畫完之后和給出的圖進(jìn)行對照,確定我沒有連接錯(cuò)誤之后,修正洞洞板圖,使線路沒有斷路并且更加筆直,接點(diǎn)處沒有連線出頭,修正完后保存洞洞板圖。硬件設(shè)想好了,接下來,我就要給我所要設(shè)計(jì)的秒表進(jìn)行軟件設(shè)計(jì),使之實(shí)現(xiàn)智能化。進(jìn)過了幾次調(diào)試之后,在keil軟件中我的

31、程序顯示0 error。沒有錯(cuò)誤的程序,不代表它就能實(shí)現(xiàn)我預(yù)期的功能。為了初步驗(yàn)證我的編寫的程序所達(dá)到的效果,就需要用仿真軟件在電腦進(jìn)行仿真。而在前面已經(jīng)介紹過了,在仿真軟件當(dāng)中,proteus軟件是一款非常適合我們的軟件,所以我們一般選擇使用proteus軟件進(jìn)行仿真。在proteus軟件界面畫好電路圖之后,檢查一下,確定連接符合洞洞板原理圖后,再加載之前在keil軟件中編譯好的HEX文件,單擊play鍵開始程序運(yùn)行,觀察數(shù)碼管顯示的初始狀態(tài),操作秒表的原理圖上的控制按鍵,觀察運(yùn)行過程中數(shù)碼管顯示出的狀態(tài),以及藍(lán)色和紅色小方點(diǎn)所顯示的電平變化。根據(jù)現(xiàn)象進(jìn)行調(diào)試,直到仿真軟件上的秒表和預(yù)想的一致。仿真的步驟完成后,就開始畫DXP原理圖,采用網(wǎng)絡(luò)標(biāo)號的形式更加方便,只需要把系統(tǒng)分成各個(gè)小模塊,在元器件的接口上標(biāo)明該接口所連接單片機(jī)的對應(yīng)的引腳,再分區(qū)放置標(biāo)明模塊。圖的大體結(jié)構(gòu)畫完之后再和給出的圖進(jìn)行對照,確定我沒有連接錯(cuò)誤之后,修正DXP原理圖,使線路沒有斷路并且更加筆直。DXP原理圖畫完后,整個(gè)電路設(shè)計(jì)就算完成了。我的設(shè)計(jì)過程與思路大體就是這樣子。6.2經(jīng)驗(yàn)總結(jié)我覺得一個(gè)課題設(shè)計(jì)中的心得體會是非常重要的一部分,這是一個(gè)經(jīng)驗(yàn)的積累與總結(jié)。在剛開始設(shè)計(jì)這個(gè)秒表時(shí),我只是自己根據(jù)生活經(jīng)驗(yàn)來設(shè)想這個(gè)秒表的功能,而自己所想到的卻只是比較接觸多的,所想到的會比較單

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論