版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計報告 課 程 名 稱 單片機(jī)原理及應(yīng)用 設(shè) 計 題 目 基于單片機(jī)的秒表系統(tǒng)設(shè)計 系 部 名 稱 機(jī)械電子工程系 專 業(yè) 班 級 電子信息工程2014級2班 姓 名 學(xué) 號 成 績 指 導(dǎo) 教 師 2016年12月摘要秒表主要有機(jī)械和電子兩大類,電子表又可分為三按鍵和四按鍵兩大類。絕大部分體育教師使用的多是電子秒表,機(jī)械秒表在很多地方已經(jīng)成為歷史。電子秒表是一種較先進(jìn)的電子計時器,國產(chǎn)的電子秒一般都是利用石英振蕩器的振蕩頻率作為時間基準(zhǔn),采用6位液晶數(shù)字顯示時間,具有顯示直觀、讀取方便、功能多等優(yōu)點(diǎn)。廣泛運(yùn)用于學(xué)校、小型比賽等計時時間較短的場所。單片機(jī)以其高可靠性、高性價比、低電壓、
2、低功耗等一系列優(yōu)點(diǎn),近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用于工業(yè)控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表,及通訊設(shè)備、日常消費(fèi)類產(chǎn)品、玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人民生活的各層次中,如車間流水線控制、自動化系統(tǒng)等、智能型家用電器(冰箱、空調(diào)、彩電)等。本課程設(shè)計以STC89C51單片機(jī)為核心,結(jié)合C語言編程及其他硬軟件相結(jié)合設(shè)計的簡易秒表,旨在學(xué)會運(yùn)用單片機(jī)解決實際生產(chǎn)生活中問題。關(guān)鍵字:STC89C51單片機(jī)、C語言、秒表等目錄摘要I目錄II第1章 設(shè)計目的、內(nèi)容及要求11.1 設(shè)計目的11.2 設(shè)計內(nèi)容11.3 設(shè)計要求11.4 設(shè)計工具11.4.1 主要軟件11.4.2
3、主要硬件2第2章 設(shè)計原理及相關(guān)硬件42.1 設(shè)計方案原理及各模塊設(shè)計42.2 硬件原理及模塊設(shè)計42.2.1 時鐘電路42.2.2 復(fù)位電路52.2.3 控制電路52.2.4 報警電路62.2.5 顯示電路62.2.6 總體電路圖72.3 軟件原理及模塊設(shè)計7第3章 程序編譯及仿真過程93.1 工程建立及原理圖繪制93.2 仿真方法93.3 仿真結(jié)果分析9第4章 設(shè)計總結(jié)12參考文獻(xiàn)15附錄1 源程序16附件1 任務(wù)書19附件2 評價表20I第1章 設(shè)計目的、內(nèi)容及要求1.1 設(shè)計目的了解并掌握一般設(shè)計方法,具備初步的獨(dú)立設(shè)計能力;掌握用C語言程序設(shè)計基本技能;提高綜合運(yùn)用所學(xué)的理論知識獨(dú)立
4、分析和解決問題的能力;進(jìn)一步掌握單片機(jī)技術(shù)的開發(fā)流程,學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法,為以后進(jìn)行工程實際問題的研究打下設(shè)計基礎(chǔ)。1.2 設(shè)計內(nèi)容1、進(jìn)行總體設(shè)計,畫出設(shè)計原理圖;2、用PROTEUS軟件畫出設(shè)計電路圖;3、用Keil軟件編寫程序;4、在PROTEUS里模擬并調(diào)試程序達(dá)到期望功能。5、撰寫單片機(jī)課程設(shè)計報告1.3 設(shè)計要求1、設(shè)計精度為1/60S的秒表系統(tǒng)。2、設(shè)置啟動、暫停、清零按鈕。3、秒表的最長計時長度為01:59:59,超過此長度,報警。1.4 設(shè)計工具1.4.1 主要軟件1、PROTEUS軟件Proteus軟件是英國Lab Center Electronics公司出版的E
5、DA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/Ds
6、PIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。2、KEIL 軟件Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(Vision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000
7、、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。1.4.2 主要硬件1、STC89C51單片機(jī)STC89C51是一種低功耗、高性能CMOS 8位微控制器,具有4K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。
8、其引腳如圖1.1所示。圖1.1 STC89C51引腳1)電源地組Vcc和Vss:Vcc(40)腳接+5V電壓;Vss(20)腳接地2)時鐘電路組XTAL1和XTAL2 3)控制信號組RST/ALE/PSEN和EA 4)I/O端口P0、P1,、P2和P3 2、數(shù)碼管數(shù)碼管也稱LED數(shù)碼管,不同行業(yè)人士對數(shù)碼管的稱呼不一樣,其實都是同樣的產(chǎn)品。數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元,也就是多一個小數(shù)點(diǎn)(DP)這個小數(shù)點(diǎn)可以更精確的表示數(shù)碼管想要顯示的內(nèi)容;按能顯示多少個(8)可分為1位、2位、3位、4位、5位、6位、7位等數(shù)碼管。按發(fā)光二極管單元連接方
9、式可分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。對應(yīng)段碼如表1.1所示,對應(yīng)符號和引腳及內(nèi)部結(jié)構(gòu)如圖1.1所示。 表1.1 常用字符字型碼(十六進(jìn)制表示)字符0123
10、456789AbCdEFP.暗共陰極3F065B4F666D7D077F6F777C395E7971738000共陽極C0F9A4B0999282F880908883C6A1868E8C7FFF圖1.1 符號和引腳及內(nèi)部結(jié)構(gòu)第2章 設(shè)計原理及相關(guān)硬件2.1 設(shè)計方案原理及各模塊設(shè)計本設(shè)計是基于AT89C51單片機(jī)設(shè)計的,分為硬件設(shè)計模塊、軟件設(shè)計模塊。秒表的硬件包括時鐘電路、控制電路以及外部顯示電路。利用89C51單片機(jī)的定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計計時器。計時精度為1/60s。秒表軟件設(shè)計采用C語言編寫程序,包括延時程序、顯示程序、按鍵掃描
11、、報警程序、定時中斷服務(wù)程序等。設(shè)計原理框圖如圖2.1所示。圖2.1 設(shè)計原理框圖2.2 硬件原理及模塊設(shè)計2.2.1 時鐘電路通過XTAL1和XTAL2外接晶體振蕩器構(gòu)成內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。51單片機(jī)內(nèi)部的振蕩電路是一個高增益反相放大器,引線 XTAL1和XTAL2分別為 反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內(nèi)振蕩器。其中石英晶振為12MHz時鐘電路如圖2.2所示。圖2.2 時鐘電路2.2.2 復(fù)位電路采用上電加按鍵復(fù)位電路,也就是手
12、動復(fù)位,上電后,由于電容充電,使RET持續(xù)一段高電平時間,當(dāng)單片機(jī)運(yùn)行時,按下復(fù)位鍵也能使RET持續(xù)一段時間的高電平,從而實現(xiàn)上電加開關(guān)復(fù)位的操作。復(fù)位電路如圖2.3所示。圖2.3 復(fù)位電路2.2.3 控制電路當(dāng)某一按鍵按下時,連接按鍵的IO口被置為低電平,通過軟件識別產(chǎn)生相應(yīng)控制指令??刂齐娐啡鐖D2.4所示。(1) 復(fù)位/暫停按鍵,按下后使得TR0取反,相應(yīng)啟動和停止T0定時器。(2) 清零按鍵,按下后使得num清零,TR0=0,即秒、分等置零,且定時計數(shù)器關(guān)閉。圖2.4 控制電路2.2.4 報警電路當(dāng)數(shù)顯顯示1-59-59時,P1.0口變?yōu)榈碗娖讲⒀訒r1s后再變?yōu)楦唠娖剑沟肔ED燈亮1s
13、后滅。報警電路如圖2.5所示。圖2.5 報警電路2.2.5 顯示電路由軟件控制單片機(jī)給P0口發(fā)送段碼,P0口P0.0-P0.7分別與A,B,C,D,E,F,G,DP相連(同時連上拉電阻),P2口發(fā)送位碼,P2口P2.0-P2.7分別與8個選通口順次相連。采用數(shù)碼管動態(tài)顯示原理,8個位碼單獨(dú)發(fā)送,每次僅選選通一位,于此同時給該位發(fā)送相應(yīng)段碼,然后延時一段時間,大約為1-10ms。雖然每次只有一個 LED 顯示,但只要掃描顯示速率夠快,由于人的視覺余輝效應(yīng),使我們?nèi)詴杏X所有的數(shù)碼管都在同時顯示。顯示電路如圖2.6所示。圖2.6 顯示電路2.2.6 總體電路圖圖2.7總體電路2.3 軟件原理及模塊
14、設(shè)計相關(guān)計算:設(shè)計要求精度為1/60s,因此定時計數(shù)器T0定時時間為1/60s,則:時鐘周期:計數(shù)值:計數(shù)初值 利用C語言編程,程序見附錄1。軟件設(shè)計框圖如圖2.8所示。圖2.8 軟件設(shè)計框圖第3章 程序編譯及仿真過程3.1 工程建立及原理圖繪制1) 啟動KEIL建立一個空白工程,然后命名為 miaobiao.uvproj。2) 新建 C語言源程序文件 miaobiao.c,寫出程序代碼并保存(程序附后),進(jìn)行編譯,若在編譯過程中發(fā)現(xiàn)錯誤,則找出并更正誤,直至編譯成功為止,點(diǎn)擊圖標(biāo),output選項下勾選Create HEX file,再次編譯生成miaobiao.hex文件3) 啟動Prot
15、eus軟件新建設(shè)計原理圖,然后命名為miaobiao.DSN。4)添加各元件繪制如圖2.7原理圖并保存。3.2 仿真方法打開miaobiao.DSN,點(diǎn)擊單片機(jī),在程序一欄添加KEIL生成的miaobiao.hex文件,點(diǎn)擊開始仿真按鈕即開始仿真。按下不同的按鈕,觀察結(jié)果有何不同,在下一節(jié)做詳細(xì)分析。3.3 仿真結(jié)果分析1、接通電源(啟動仿真時)數(shù)碼管顯示為00-00-00,如圖3.1所示。圖3.1 仿真1:初始圖2、按下啟動/暫停鍵數(shù)碼管開始計數(shù),最低位逢10進(jìn)1向高位進(jìn)1,第二位逢6向高位進(jìn)1,第三位和第六位固定顯示“-”,其余各位進(jìn)位法則與前兩位一樣,最多顯示01-59-59。再次按下時
16、停止計數(shù)。如圖3.2、3.3所示。圖3.2 仿真2:按下啟動鍵圖3.3 仿真3:按下暫停鍵3、按下清零鍵數(shù)碼管顯示為00-00-00,且停止計數(shù)。如圖3.4所示圖3.4 仿真3:按下清零鍵4、報警數(shù)碼管顯示為01-59-59,LED亮,1s后數(shù)碼管顯示00-00-00,LED燈滅。如圖3.5、3.6所示。圖3.5 仿真5:報警圖3.6 仿真6:報警結(jié)束第4章 設(shè)計總結(jié)隨著電子技術(shù)的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,如果說微型計算機(jī)的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的飛躍,那么可編程控制器的出現(xiàn)則是給現(xiàn)代工業(yè)控制測控領(lǐng)域帶來了一次新的革命。單片機(jī)作為可編程控制器的
17、代表,以高性價比、高可靠性、低電壓、低功耗的優(yōu)點(diǎn),遍布現(xiàn)代社會各個領(lǐng)域。本次課程設(shè)計所做的秒表,在各階層體育教育、中小規(guī)模體育賽事及其他需要計量時間的場合都不可缺少,設(shè)計優(yōu)良的秒表不僅要保證精度、實用性等功能要求,還要求要有好的后期制作:如包裝等,但由于時間問題并未具體制作產(chǎn)品,只做基于proteus的設(shè)計仿真。在課程設(shè)計過程中對編程做過多次修改:啟動/暫停等控制功能,可以用多種方法:中斷、for語句等,用中斷做可以穩(wěn)定實現(xiàn)啟動/暫停功能,但會因執(zhí)行中斷導(dǎo)致數(shù)碼管的動態(tài)掃描停止,只顯示一位數(shù)碼管的數(shù)字,使秒表的實用性下降,經(jīng)過減少中斷內(nèi)語句也會出現(xiàn)數(shù)顯界面閃爍;而用for語句放在主程序中,能解
18、決這個問題,但亦會出現(xiàn)功能不可靠問題。最終在控制功能方面做優(yōu)劣性分析選擇了后者。對于數(shù)碼管的動態(tài)掃描對硬件及軟件編程均有修改:有以下兩種方案:方案1:采用74系列鎖存器對IO口進(jìn)行擴(kuò)展,利用鎖存控制端對數(shù)據(jù)進(jìn)行隔離,每次送一組段碼及位碼,實現(xiàn)動態(tài)掃描。程序段如下,原理圖如4.1所示。while(1)/大循環(huán) d=1; /開位鎖存 P2=dig0;/送位碼 d=0;/關(guān)位鎖存 s=1;/開段鎖存 P0=segc1_0 ;/送段碼 s=0;/關(guān)段鎖存 delayms(1);/延時1ms d=1;/重復(fù)上訴過程,送下一位位段碼 P2=dig1; d=0; s=1; P0=segc1_1 ; s=0;
19、 delayms(1);.圖4.1 74HC573實現(xiàn)的動態(tài)掃描這種方法的優(yōu)點(diǎn)是可擴(kuò)展IO口,節(jié)約IO口資源;缺點(diǎn)是程序冗長,會造成無法正確顯示。方案2:直連法實現(xiàn)動態(tài)掃描。程序段如下,原理圖如圖4.2所示。 disp0=0; disp1=num/3600;disp2=0xa;disp3=num%3600/600;disp4=num%3600%600/60;disp5=0xa;disp6=num%3600%600%60/10;disp7=num%10;/分離各位數(shù)字while(1)uchar i;for(i=0;i<8;i+) P2=digi;/位碼P0=segdispi;/段碼dela
20、yms(5);/延時圖4.2 直連法實現(xiàn)動態(tài)掃描此方案優(yōu)點(diǎn)是程序簡短;缺點(diǎn)是IO口不可復(fù)用,浪費(fèi)IO口資源。結(jié)合優(yōu)缺點(diǎn)分析最終選擇了方案2。通過此次課程設(shè)計,我明白了單片機(jī)的要點(diǎn)就是對IO口的高低電平進(jìn)行控制,而控制手段要通過不同的單片機(jī)的資源功能進(jìn)行程序編寫,故需要軟硬件結(jié)合才能實現(xiàn)相應(yīng)功能,另外對于單片機(jī)程序無論是C語言,還是匯編語言不能僅僅只對程序本身做解讀,最精髓的一點(diǎn)要結(jié)合單片機(jī)的外部擴(kuò)展一起考慮,才能對程序理解到位,理解透徹。參考文獻(xiàn)1 李全利單片機(jī)原理及其應(yīng)用M北京:高等教育出版社,2012.122 樓然苗等51 系列單片機(jī)設(shè)計實例M北京:北京航空航天出版社,2003.33 百度
21、文庫STC89C51芯片資料 N/OL 附錄1 源程序#include<reg52.h> /頭文件#define uint unsigned int#define uchar unsigned char/ 宏定義sbit stop=P32; /暫停開始鍵sbit rst =P36; / 復(fù)位鍵sbit baojing=P10;/ 報警燈uchar code seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;/數(shù)碼管段碼uchar code dig=0x01,0x02,0x04,0x08,0x10,0x20,0x40
22、,0x80; /數(shù)碼管位碼uchar disp=0,1,2,3,4,5,6,7;uint num;/定義全局變量 void delayms(uint n)uchar j;while(n-)for(j=0;j<113;j+);/延時函數(shù)void shu()disp0=0; disp1=num/3600;disp2=0xa;/連接符“-”disp3=num%3600/600;disp4=num%3600%600/60;disp5=0xa;disp6=num%3600%600%60/10;disp7=num%10;/分離 六十分之一秒、六分之一秒、秒、十秒、分以及連接符- void displ
23、ay()uchar i;for(i=0;i<8;i+) P2=digi;P0=segdispi;delayms(5);/動態(tài)顯示函數(shù)void key()if(stop=0)delayms(5); /延時消抖TR0=TR0; /每按下一次定時計數(shù)器暫停開始,num暫停疊加 if(rst=0)delayms(5);/延時消抖TR0=0;num=0; /定時計數(shù)器停止計數(shù),且num值清零/按鍵檢測 void main()TMOD=0x01;/方式1定時TH0=(65536-16666)/256;TL0=(65536-16666)%256;IE=0x82;TR0=0;/配置定時計數(shù)器T0 while(1) key();shu();display();/主函數(shù)void add()interrupt 1 TH0=(65536-16666)/256;TL0=(65536-16666)%256;/
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年一線班組員工安全培訓(xùn)題庫
- 2025年攤鋪機(jī)租賃與施工材料保障合同范本3篇
- 除薄冰機(jī)課程設(shè)計
- 年度多媒體集成競爭策略分析報告
- 二零二五年度模板木枋行業(yè)信息化平臺建設(shè)合同4篇
- 水溝勾縫施工方案
- 文明施工方案范本
- 二零二五年度環(huán)保型門衛(wèi)室建設(shè)合同4篇
- 2025年度個人股權(quán)無償轉(zhuǎn)讓及公司資產(chǎn)評估協(xié)議2篇
- 隔聲罩課程設(shè)計模板
- 寒假作業(yè)一年級上冊《數(shù)學(xué)每日一練》30次打卡
- 2024-2025學(xué)年九年級化學(xué)上冊 第二單元 單元測試卷(人教版)
- 2024年公共衛(wèi)生基本知識考試題庫(附含答案)
- 2024多級AO工藝污水處理技術(shù)規(guī)程
- 2024年江蘇省鹽城市中考數(shù)學(xué)試卷真題(含答案)
- DZ∕T 0287-2015 礦山地質(zhì)環(huán)境監(jiān)測技術(shù)規(guī)程(正式版)
- 2024年合肥市廬陽區(qū)中考二模英語試題含答案
- 質(zhì)檢中心制度匯編討論版樣本
- 藥娘激素方案
- 提高靜脈留置使用率品管圈課件
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標(biāo)準(zhǔn)大氣條件
評論
0/150
提交評論