




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄1 實驗設計的目的和任務1.1 單片機秒表實驗的概述1.2 系統設計思路及描述1.3 系統設計任務和要求2 軟件與硬件設計2.1 系統硬件方案設計2.2 軟件方案設計3 程序流程及實驗效果3.1 源程序及說明3.2 原理圖分析3.3 實驗效果1.實驗設計的目的和任務1.1單片機秒表實驗的概述一、實驗題目秒表系統設計用STC89C52RC設計一個3位LED數碼顯示“秒表,顯示時間為00.059.9秒,每毫秒自動加一,每十毫秒自動加一秒.二、增加功能增加一個“復位00.0按鍵即清零,一個“暫停和“開始按鍵,一個“復位60.0按鍵用來60秒倒計時,一個倒計時“逐漸自減按鍵.三,實驗難點單片機電子
2、秒表需要解決三個主要問題,一是有關單片機定時器一個限制順序計時,一個限制倒計時的使用;二是如何實現LED的動態掃描顯示;三是如何對鍵盤輸入進行編程.四、實驗內容提要本實驗利用單片機的定時器/計數器定時和記數的原理,結合集成電路芯片8051、LED數碼管以及實驗板上的按鍵來設計計時器.將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,數碼管能夠正確地顯示時間.其中本實驗設計了四個開關按鍵:其中key2按鍵按下去時開始計時,即秒表開始鍵同時也用作暫停鍵,key1按鍵按下去時數碼管清零,復位為“00.0,key3按鍵按下去時數碼管復位為“60.0用于倒計時,key4按鍵按下去那么是數碼管開始“逐
3、漸自減倒計時.實驗的意義1) 通過本次課程設計加深對單片機課程的全面熟悉復習和掌握,對單片機課程的應用進一步的了解.2) 掌握定時器、外部中斷的設置和編程原理.3) 通過此次課程設計能夠將單片機軟硬件結合起來,對程序進行編輯,校驗.4) 該實驗通過單片機的定時器/計數器定時和計數原理,設計簡單的計時器系統,擁有正確的計時、暫停、清零,并同時可以用數碼管顯示,在現實生活中應用廣泛,具有現實意義實驗儀器集成電路芯片8051,七段數碼管,51hei單片機開發板,MCS-51系列單片機微機仿真實驗系統中的軟件Keiluvision21.2 系統設計思路及描述該實驗要求進行計時并在數碼管上顯示時間,那么
4、可利用MCS-51系列單片機的芯片AT89C52的P34P3.5,P3.6,P3.7作為按鍵的入口;定時器T0作為每0.1秒減一的定時器;定時器T1作為每0.1秒加一的定時器.其中“開始按鍵當開關由上向下撥時開始計時,此時假設再撥“開始按鍵那么數碼管暫停;“清零按鍵當開關由上向下撥時數碼管清零,此時假設再撥“開始按鍵那么又可重新開始計時.方框圖如下列圖:數字秒表設計導向圖1.3 系統設計任務和要求1 .設計指標.了解8051芯片的的工作原理和工作方式,使用該芯片對LED數碼管進行顯示限制,實現用單片機的端口限制數碼管,顯示分、秒,并能用按鈕實現秒表起動、停止、60秒、倒計時清零等功能,精確到0
5、.1秒.要求選用定時器的工作方式,畫出使用單片機限制LED數碼管顯示的電路圖,并實現其硬件電路,并編程完成軟件局部,最后調試秒表起動、停止、清零等功能.2.設計要求畫出電路原理圖或仿真電路圖;電路仿真與調試;2.軟件與硬件設計2.1 系統硬件方案設計單片機應用系統由硬件系統和軟件系統兩局部組成.硬件系統是指單片機以及擴展的存儲器、io接口、外圍擴展的功能芯片以及接口電路.軟件系統包括監控程序和各種應用程序.在單片機應用系統中,單片機是整個系統的核心,對整個系統的信息輸入、處理、信息輸出進行限制.與單片機配套的有相應的復位電路、時鐘電路以及擴展的存儲器和IO接口,使單片機應用系統能夠運行.在一個
6、單片機應用系統中,往往都會輸入信息和顯示信息,這就涉及鍵盤和顯示器.在單片機應用系統中,一般都根據系統的要求配置相應的鍵盤和顯示器.配置鍵盤和顯示器一般都沒有統一的規定,有的系統功能復雜,需輸入的信息和顯示的信息量大,配置的鍵盤和顯示器功能相對強大,而有些系統輸入/輸出的信息少,這時可能用幾個按鍵和幾個LED旨示燈就可以進行處理了.在單片機應用系統在中配置的鍵盤可以是獨立鍵盤,也可能是矩陣鍵盤.3個數碼管顯示2.2 軟件方案設計此次選用C51來編程,首先要有初始化程序,通過初始化程序,將對主程序所用到的變量、常量以及各個參數和所調用的子函數定義.其次還有顯示程序、按鍵掃描及處理程序、時鐘程序和
7、倒計時程序,系統軟件流程圖圖如圖2.2所示:圖2.23程序流程及實驗效果3.1源程序及說明#include<reg52.h>52#defineucharunsignedchar/#defineuintunsignedintsbitdula=P2A6;/sbitwela=P2A7;/sbitkey1=P3A2;/sbitkey2=P3A4;sbitkey3=P3A6;sbitkey4=P3A7;ucharcodetable=/0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;voiddelayms(uint);/voiddisplay
8、(uchar,uchar,uchar);/voidkeyscan();/ucharnum1,num2,bai,shi,ge;/uintnum;voidmain()/TMOD=0x11;/TH0=(65536-45872)/256;/裝未TL0=(65536-45872)%256;系列單片機頭文件宏定義中明U1鎖存器的鎖存端中明U2鎖存器的鎖存端中明四個按鍵的鎖存端含有09的數字數組聲明延時函數聲明顯示函數聲明按鍵函數變量聲明主函數入口設置TO,T1定時器11.05992M晶振定時50ms數為45872TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=
9、1;ET0=1;ET1=1;/開總中斷/開啟定時器T0中斷/開啟定時器T1中斷while(1)/程序停在這里等待中斷的發生,這個大循環也是實現數據顯示的主體keyscan();/三個數碼管要選送的數據bai=num/100;/百位shi=(num-100*bai)/10;/十位ge=num-100*bai-shi*10;/個位/直接把第二只數碼管的小數點燒出來dula=1;/翻開段選P0=0x80;/送段選數據dula=0;/關閉斷選P0=0xff;/送位選數據前關閉所有顯示,預防翻開位選鎖存時原來段選數據通過位鎖存端造成混亂wela=1;/翻開位選P0=0xfd;/送位選數據wela=0;/
10、關閉位選delayms(5);/延時display(bai,shi,ge);voiddisplay(ucharbai,ucharshi,ucharge)dula=1;/翻開段選P0=tablebai;/送段選數據dula=0;/關閉斷選P0=0xff;/送位選數據前關閉所有顯示,預防翻開位選鎖存時原來段選數據通過位鎖存端造成混亂wela=1;/翻開位選P0=0xfe;/送位選數據wela=0;/關閉位選delayms(5);/延時dula=1;/翻開段選P0=tableshi;/送段選數據dula=0;/關閉斷選P0=0xff;/送位選數據前關閉所有顯示,預防翻開位選鎖存時原來段選數據通過位鎖
11、存端造成混亂wela=1;/翻開位選P0=0xfd;/送位選數據wela=0;/關閉位選delayms(5);/延時dula=1;/翻開段選P0=tablege;/送段選數據dula=0;/關閉斷選P0=0xff;/送位選數據前關閉所有顯示,預防翻開位選鎖存時原來段選數據通過位鎖存端造成混亂wela=1;/翻開位選P0=0xfb;/送位選數據wela=0;/關閉位選delayms(5);/延時voiddelayms(uintxms)/延時子函數uinti,j;for(i=xms;i>0;i-)for(j=110;j>0;j-);/i=xmsvoidkeyscan()if(key1=
12、0)delayms(10);if(key1=0)/while(!key1)/TR0=0TR1=1num=0TR1=0/if(key2=0)delayms(10);if(key2=0)/即延時約xms毫秒清零延時去抖等待按下定時器TR0關閉定時器TR1翻開送數據num=0定時器TR1關閉暫停和開始while(!key2);TR0=0;TR1=TR1;/每次按下,TR1的狀態時相反的if(key3=0)/使計數器顯示為60.0delayms(10);if(key3=0)while(!key3);TR0=0;TR1=1;num=600;TR1=0;實現計數器的倒數功能if(key4=0)/delay
13、ms(10);if(key4=0)while(!key4);TR1=0;TR0=1;voidT0_time()interrupt1TH0=(65536-45872)/256;/TL0=(65536-45872)%256;num2+;if(num2=2)/num2=0;/num1+;if(num1=10)num1=0;if(num=0)/num=600;num-;/num重裝初值如果到了2次,說明0.1秒的時間到然后把num2清零重新再計2次當num自減為0時,重新為60.0,再開始倒計時逐漸自減voidT1_time()interrupt3TH1=(65536-45872)/256;/重裝初值
14、TL1=(65536-45872)%256;num2+;if(num2=2)num2=0;num1+;if(num1=10)num1=0;num+;/if(num=600)num=0;/num/如果到了2次,說明0.1秒的時間到然后把num2清零重新再計2次逐漸自加這個數十用來送給數碼管顯示的,到了60.0后歸零3.2原理圖分析開類I按鍵原理圖見開發板的電路圖電源電路原理圖.hex下載到TX-1C開3.3實驗效果通過最后軟件對程序的編譯,組建,執行,還有最終生成.hex文件,把發板的STC89C52RC片機上的最終效果圖如下:圖1.復位“00.0BQBB圖2.復位“60.0圖3.“開始自加運行圖4.“開始自減運行通過對本次實驗的課程設計,使自己深刻的熟悉到自己的很多缺乏之處,在實際動手操作水平的缺乏,在進行程序編程時,自己需要,認真審題,看懂題目的要求!對于軟件編程不益太簡單或者太難.做到既能把課題完成又能鍛煉自己的水平!根據課題要求,復習相關的知識,查詢相關的資料.根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗.心得體會根據課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的根底上,根據芯片的功能寫出相應的程序和增加額外的功能程序.然后再進行程序調試和相應的修改,以到達能夠實現所要求的功能的目的.還要根據實驗的實際情況,添加些額外程序來使系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路信號設備更新改造項目實施考核試卷
- 石棉水泥制品企業運營管理考核試卷
- 礦產勘查中的勘查設備維護與管理考核試卷
- 保健食品營養均衡發展策略實施效果考核試卷
- 安全監控在物流行業的應用案例分析考核試卷
- 異物卡喉急救處理指南
- 兒科急診常見疾病案例
- 口腔科院感防控與管理體系
- 蚊子傳播疾病機制與防控
- 麻醉質控總結報告
- 2025年氨水市場需求分析
- 做課件教學視頻
- 2025年特種設備安全考試題庫特種設備安全管理人員法規應用試卷
- 普法試題及答案初中
- 中控崗位考試題及答案
- 商鋪退押金協議書
- 碘對比劑護理應用與安全管理
- 2025-2030年中國航空密封件行業市場現狀供需分析及投資評估規劃分析研究報告
- 知識產權租賃協議書
- GB 45673-2025危險化學品企業安全生產標準化通用規范
- 醫院培訓課件:《新生兒早期基本保健專家共識(2020)解讀》
評論
0/150
提交評論