版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 課程設計報告 課 程 名 稱 單片機原理及應用 設 計 題 目 基于單片機的秒表系統(tǒng)設計 系 部 名 稱 機械電子工程系 專 業(yè) 班 級 電子信息工程2014級2班 姓 名 學 號 成 績 指 導 教 師 2016年12月摘要秒表主要有機械和電子兩大類,電子表又可分為三按鍵和四按鍵兩大類。絕大部分體育教師使用的多是電子秒表,機械秒表在很多地方已經(jīng)成為歷史。電子秒表是一種較先進的電子計時器,國產(chǎn)的電子秒一般都是利用石英振蕩器的振蕩頻率作為時間基準,采用6位液晶數(shù)字顯示時間,具有顯示直觀、讀取方便、功能多等優(yōu)點。廣泛運用于學校、小型比賽等計時時間較短的場所。單片機以其高可靠性、高性價比、低電壓、
2、低功耗等一系列優(yōu)點,近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應用于工業(yè)控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表,及通訊設備、日常消費類產(chǎn)品、玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人民生活的各層次中,如車間流水線控制、自動化系統(tǒng)等、智能型家用電器(冰箱、空調(diào)、彩電)等。本課程設計以STC89C51單片機為核心,結(jié)合C語言編程及其他硬軟件相結(jié)合設計的簡易秒表,旨在學會運用單片機解決實際生產(chǎn)生活中問題。關鍵字:STC89C51單片機、C語言、秒表等目錄摘要I目錄II第1章 設計目的、內(nèi)容及要求11.1 設計目的11.2 設計內(nèi)容11.3 設計要求11.4 設計工具11.4.1 主要軟件11.4.2
3、主要硬件2第2章 設計原理及相關硬件42.1 設計方案原理及各模塊設計42.2 硬件原理及模塊設計42.2.1 時鐘電路42.2.2 復位電路52.2.3 控制電路52.2.4 報警電路62.2.5 顯示電路62.2.6 總體電路圖72.3 軟件原理及模塊設計7第3章 程序編譯及仿真過程93.1 工程建立及原理圖繪制93.2 仿真方法93.3 仿真結(jié)果分析9第4章 設計總結(jié)12參考文獻15附錄1 源程序16附件1 任務書19附件2 評價表20I第1章 設計目的、內(nèi)容及要求1.1 設計目的了解并掌握一般設計方法,具備初步的獨立設計能力;掌握用C語言程序設計基本技能;提高綜合運用所學的理論知識獨立
4、分析和解決問題的能力;進一步掌握單片機技術的開發(fā)流程,學習較復雜的數(shù)字系統(tǒng)設計方法,為以后進行工程實際問題的研究打下設計基礎。1.2 設計內(nèi)容1、進行總體設計,畫出設計原理圖;2、用PROTEUS軟件畫出設計電路圖;3、用Keil軟件編寫程序;4、在PROTEUS里模擬并調(diào)試程序達到期望功能。5、撰寫單片機課程設計報告1.3 設計要求1、設計精度為1/60S的秒表系統(tǒng)。2、設置啟動、暫停、清零按鈕。3、秒表的最長計時長度為01:59:59,超過此長度,報警。1.4 設計工具1.4.1 主要軟件1、PROTEUS軟件Proteus軟件是英國Lab Center Electronics公司出版的E
5、DA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持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系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(Vision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000
7、、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。1.4.2 主要硬件1、STC89C51單片機STC89C51是一種低功耗、高性能CMOS 8位微控制器,具有4K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C51在眾多嵌入式控制應用系統(tǒ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ù)點(DP)這個小數(shù)點可以更精確的表示數(shù)碼管想要顯示的內(nèi)容;按能顯示多少個(8)可分為1位、2位、3位、4位、5位、6位、7位等數(shù)碼管。按發(fā)光二極管單元連接方
9、式可分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。對應段碼如表1.1所示,對應符號和引腳及內(nèi)部結(jié)構如圖1.1所示。 表1.1 常用字符字型碼(十六進制表示)字符0123
10、456789AbCdEFP.暗共陰極3F065B4F666D7D077F6F777C395E7971738000共陽極C0F9A4B0999282F880908883C6A1868E8C7FFF圖1.1 符號和引腳及內(nèi)部結(jié)構第2章 設計原理及相關硬件2.1 設計方案原理及各模塊設計本設計是基于AT89C51單片機設計的,分為硬件設計模塊、軟件設計模塊。秒表的硬件包括時鐘電路、控制電路以及外部顯示電路。利用89C51單片機的定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設計計時器。計時精度為1/60s。秒表軟件設計采用C語言編寫程序,包括延時程序、顯示程序、按鍵掃描
11、、報警程序、定時中斷服務程序等。設計原理框圖如圖2.1所示。圖2.1 設計原理框圖2.2 硬件原理及模塊設計2.2.1 時鐘電路通過XTAL1和XTAL2外接晶體振蕩器構成內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。51單片機內(nèi)部的振蕩電路是一個高增益反相放大器,引線 XTAL1和XTAL2分別為 反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內(nèi)振蕩器。其中石英晶振為12MHz時鐘電路如圖2.2所示。圖2.2 時鐘電路2.2.2 復位電路采用上電加按鍵復位電路,也就是手
12、動復位,上電后,由于電容充電,使RET持續(xù)一段高電平時間,當單片機運行時,按下復位鍵也能使RET持續(xù)一段時間的高電平,從而實現(xiàn)上電加開關復位的操作。復位電路如圖2.3所示。圖2.3 復位電路2.2.3 控制電路當某一按鍵按下時,連接按鍵的IO口被置為低電平,通過軟件識別產(chǎn)生相應控制指令??刂齐娐啡鐖D2.4所示。(1) 復位/暫停按鍵,按下后使得TR0取反,相應啟動和停止T0定時器。(2) 清零按鍵,按下后使得num清零,TR0=0,即秒、分等置零,且定時計數(shù)器關閉。圖2.4 控制電路2.2.4 報警電路當數(shù)顯顯示1-59-59時,P1.0口變?yōu)榈碗娖讲⒀訒r1s后再變?yōu)楦唠娖?,使得LED燈亮1s
13、后滅。報警電路如圖2.5所示。圖2.5 報警電路2.2.5 顯示電路由軟件控制單片機給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個位碼單獨發(fā)送,每次僅選選通一位,于此同時給該位發(fā)送相應段碼,然后延時一段時間,大約為1-10ms。雖然每次只有一個 LED 顯示,但只要掃描顯示速率夠快,由于人的視覺余輝效應,使我們?nèi)詴杏X所有的數(shù)碼管都在同時顯示。顯示電路如圖2.6所示。圖2.6 顯示電路2.2.6 總體電路圖圖2.7總體電路2.3 軟件原理及模塊
14、設計相關計算:設計要求精度為1/60s,因此定時計數(shù)器T0定時時間為1/60s,則:時鐘周期:計數(shù)值:計數(shù)初值 利用C語言編程,程序見附錄1。軟件設計框圖如圖2.8所示。圖2.8 軟件設計框圖第3章 程序編譯及仿真過程3.1 工程建立及原理圖繪制1) 啟動KEIL建立一個空白工程,然后命名為 miaobiao.uvproj。2) 新建 C語言源程序文件 miaobiao.c,寫出程序代碼并保存(程序附后),進行編譯,若在編譯過程中發(fā)現(xiàn)錯誤,則找出并更正誤,直至編譯成功為止,點擊圖標,output選項下勾選Create HEX file,再次編譯生成miaobiao.hex文件3) 啟動Prot
15、eus軟件新建設計原理圖,然后命名為miaobiao.DSN。4)添加各元件繪制如圖2.7原理圖并保存。3.2 仿真方法打開miaobiao.DSN,點擊單片機,在程序一欄添加KEIL生成的miaobiao.hex文件,點擊開始仿真按鈕即開始仿真。按下不同的按鈕,觀察結(jié)果有何不同,在下一節(jié)做詳細分析。3.3 仿真結(jié)果分析1、接通電源(啟動仿真時)數(shù)碼管顯示為00-00-00,如圖3.1所示。圖3.1 仿真1:初始圖2、按下啟動/暫停鍵數(shù)碼管開始計數(shù),最低位逢10進1向高位進1,第二位逢6向高位進1,第三位和第六位固定顯示“-”,其余各位進位法則與前兩位一樣,最多顯示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章 設計總結(jié)隨著電子技術的發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現(xiàn)使現(xiàn)代的科學研究得到了質(zhì)的飛躍,那么可編程控制器的出現(xiàn)則是給現(xiàn)代工業(yè)控制測控領域帶來了一次新的革命。單片機作為可編程控制器的
17、代表,以高性價比、高可靠性、低電壓、低功耗的優(yōu)點,遍布現(xiàn)代社會各個領域。本次課程設計所做的秒表,在各階層體育教育、中小規(guī)模體育賽事及其他需要計量時間的場合都不可缺少,設計優(yōu)良的秒表不僅要保證精度、實用性等功能要求,還要求要有好的后期制作:如包裝等,但由于時間問題并未具體制作產(chǎn)品,只做基于proteus的設計仿真。在課程設計過程中對編程做過多次修改:啟動/暫停等控制功能,可以用多種方法:中斷、for語句等,用中斷做可以穩(wěn)定實現(xiàn)啟動/暫停功能,但會因執(zhí)行中斷導致數(shù)碼管的動態(tài)掃描停止,只顯示一位數(shù)碼管的數(shù)字,使秒表的實用性下降,經(jīng)過減少中斷內(nèi)語句也會出現(xiàn)數(shù)顯界面閃爍;而用for語句放在主程序中,能解
18、決這個問題,但亦會出現(xiàn)功能不可靠問題。最終在控制功能方面做優(yōu)劣性分析選擇了后者。對于數(shù)碼管的動態(tài)掃描對硬件及軟件編程均有修改:有以下兩種方案:方案1:采用74系列鎖存器對IO口進行擴展,利用鎖存控制端對數(shù)據(jù)進行隔離,每次送一組段碼及位碼,實現(xiàn)動態(tài)掃描。程序段如下,原理圖如4.1所示。while(1)/大循環(huán) d=1; /開位鎖存 P2=dig0;/送位碼 d=0;/關位鎖存 s=1;/開段鎖存 P0=segc1_0 ;/送段碼 s=0;/關段鎖存 delayms(1);/延時1ms d=1;/重復上訴過程,送下一位位段碼 P2=dig1; d=0; s=1; P0=segc1_1 ; s=0;
19、 delayms(1);.圖4.1 74HC573實現(xiàn)的動態(tài)掃描這種方法的優(yōu)點是可擴展IO口,節(jié)約IO口資源;缺點是程序冗長,會造成無法正確顯示。方案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)點是程序簡短;缺點是IO口不可復用,浪費IO口資源。結(jié)合優(yōu)缺點分析最終選擇了方案2。通過此次課程設計,我明白了單片機的要點就是對IO口的高低電平進行控制,而控制手段要通過不同的單片機的資源功能進行程序編寫,故需要軟硬件結(jié)合才能實現(xiàn)相應功能,另外對于單片機程序無論是C語言,還是匯編語言不能僅僅只對程序本身做解讀,最精髓的一點要結(jié)合單片機的外部擴展一起考慮,才能對程序理解到位,理解透徹。參考文獻1 李全利單片機原理及其應用M北京:高等教育出版社,2012.122 樓然苗等51 系列單片機設計實例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; / 復位鍵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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年一線班組員工安全培訓題庫
- 2025年攤鋪機租賃與施工材料保障合同范本3篇
- 除薄冰機課程設計
- 年度多媒體集成競爭策略分析報告
- 二零二五年度模板木枋行業(yè)信息化平臺建設合同4篇
- 水溝勾縫施工方案
- 文明施工方案范本
- 二零二五年度環(huán)保型門衛(wèi)室建設合同4篇
- 2025年度個人股權無償轉(zhuǎn)讓及公司資產(chǎn)評估協(xié)議2篇
- 隔聲罩課程設計模板
- 導尿及留置導尿技術
- 情人合同范例
- 建筑公司勞務合作協(xié)議書范本
- 安徽省合肥市2023-2024學年高一上學期物理期末試卷(含答案)
- 《基于杜邦分析法的公司盈利能力研究的國內(nèi)外文獻綜述》2700字
- 儒家思想講解課程設計
- 2024年個人汽車抵押借款合同范本(四篇)
- 2024-2025學年九年級化學上冊 第二單元 單元測試卷(人教版)
- 軌道交通設備更新項目可行性研究報告-超長期國債
- 2024-2030年中國一氧化二氮氣體行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- NB/T 11446-2023煤礦連采連充技術要求
評論
0/150
提交評論