版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、這里可以加學校 LOGAL 單片機課程設計報告單片機課程設計報告院系院系: 12 級物信系班別:班別: 光信息科學與技術光信息科學與技術 7 班班課程名稱:課程名稱: 秒表設計 姓名:姓名: 龔俊才 歐一景 學號:學號: 1210407033 1210407041指導老師指導老師:張濤目錄目錄1 課程設計的目的和任務課程設計的目的和任務1.1 單片機秒表課程設計的概述設計思路及描述1.3 課程設計任務和要求2 硬件與軟件的設計流程硬件與軟件的設計流程3 程序編寫流程程序編寫流程及課程設計效果及課程設計效果4 心得體會心得體會5 相關查閱資料相關查閱資料1. 課程設計的目的和任務課程設計的目的和
2、任務一、課程設計題目一、課程設計題目秒表系統(tǒng)設計用 STC89C52RC 設計一個 4 位 LED 數(shù)碼顯示“秒表,顯示時間為00.0099.99 秒,每 10 毫秒自動加一,每 1000 毫秒自動加一秒。二、增加功能二、增加功能增加一個“復位按鍵即清零 ,一個“暫停和“開始按鍵。三、課程設計的難點三、課程設計的難點單片機電子秒表需要解決三個主要問題,一是有關單片機定時器的使用;二是如何實現(xiàn)LED 的動態(tài)掃描顯示;三是如何對鍵盤輸入進行編程。四、課程設計內容提要四、課程設計內容提要本課程利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,結合集成電路芯片 8051、LED 數(shù)碼管以及課程箱上的按鍵來設
3、計計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行計時,數(shù)碼管能夠正確地顯示時間。其中本課程設計有兩個開關按鍵:其中 key1 按鍵按下去時開始計時,即秒表開始鍵(同時也用作暫停鍵),key2 按鍵按下去時數(shù)碼管清零,復位為“.五、課程設計的意義五、課程設計的意義1)通過本次課程設計加深對單片機課程的全面認識復習和掌握,對單片機課程的應用進一步的了解。2)掌握定時器、外部中斷的設置和編程原理。3)通過此次課程設計能夠將單片機軟硬件結合起來,對程序進行編輯,校驗。4)該課程通過單片機的定時器/計數(shù)器定時和計數(shù)原理,設計簡單的計時器系統(tǒng),擁有正確的計時、暫停、清零,并同時可以用數(shù)碼管顯示,
4、在現(xiàn)實生活中應用廣泛,具有現(xiàn)實意義六六、課程設計儀器課程設計儀器a) 集成電路芯片 8051,七段數(shù)碼管,89C51 單片機開發(fā)板b) MCS-51 系列單片機微機仿真課程系統(tǒng)中的軟件Keil uvision2 。設計思路及描述設計思路及描述該課程設計要求進行計時并在數(shù)碼管上顯示時間,那么可利用 MCS-51 系列單片機的芯片AT89C52 的;定時器 T1 作為的定時器。其中“開始按鍵當開關由上向下?lián)軙r開始計時,此時假設再撥“開始按鍵那么數(shù)碼管暫停;“清零按鍵當開關由上向下?lián)軙r數(shù)碼管清零,此時假設再撥“開始按鍵那么又可重新開始計時。方框圖如下列圖方框圖如下列圖 1 1:開關MCS-51AT8
5、9C52RCLED 顯示 圖圖 1 1 數(shù)字秒表設計導向數(shù)字秒表設計導向1.3 課程設計任務和要求課程設計任務和要求1.3.1 設計指標設計指標 。了解 8051 芯片的的工作原理和工作方式 ,使用該芯片對 LED 數(shù)碼管進行顯示控制,實現(xiàn)用單片機的端口控制數(shù)碼管,顯示分、秒,并能用按鈕實現(xiàn)秒表起動、停止、99 秒、清零等功能,精確到 0.01 秒。要求選用定時器的工作方式,畫出使用單片機控制 LED 數(shù)碼管顯示的電路圖,并實現(xiàn)其硬件電路,并編程完成軟件局部,最后調試秒表起動、停止、清零等功能。1.3.2 設計要求設計要求 畫出電路原理圖或仿真電路圖 ; 軟件編程與調試; 電路仿真與調試;2軟
6、件與硬件設計軟件與硬件設計計計單片機應用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩局部組成。硬件系統(tǒng)是指單片機以及擴展的存儲器、IO 接口、外圍擴展的功能芯片以及接口電路。軟件系統(tǒng)包括監(jiān)控程序和各種應用程序。在單片機應用系統(tǒng)中,單片機是整個系統(tǒng)的核心,對整個系統(tǒng)的信息輸入、處理、信息輸出進行控制。與單片機配套的有相應的復位電路、時鐘電路以及擴展的存儲器和 IO 接口,使單片機應用系統(tǒng)能夠運行。 在一個單片機應用系統(tǒng)中,往往都會輸入信息和顯示信息,這就涉及鍵盤和顯示器。在單片機應用系統(tǒng)中,一般都根據系統(tǒng)的要求配置相應的鍵盤和顯示器。配置鍵盤和顯示器一般都沒有統(tǒng)一的規(guī)定,有的系統(tǒng)功能復雜,需輸入的信息和顯示的信息
7、量大,配置的鍵盤和顯示器功能相對強大,而有些系統(tǒng)輸入/輸出的信息少,這時可能用幾個按鍵和幾個 LED 指示燈就可以進行處理了。在單片機應用系統(tǒng)在中配置的鍵盤可以是獨立鍵盤,也可能是矩陣鍵盤。 圖 2 系統(tǒng)硬件結構框2 個獨立式的按鍵電源指示燈電源開關4 個數(shù)碼管顯示STC89C52RC此次選用 C51 來編程,首先要有初始化程序,通過初始化程序,將對主程序所用到的變量、常量以及各個參數(shù)和所調用的子函數(shù)定義。其次還有顯示程序、按鍵掃描及處理程序、時鐘程序和倒計時程序,系統(tǒng)軟件流程圖圖如圖 3 所示:3 3 程序編寫的流程程序編寫的流程及課程設計效果及課程設計效果3.13.1 源程序及注釋源程序及
8、注釋/*- 名稱:數(shù)碼管顯示,按鍵控制秒表 編寫:shifang 修改:無開始系統(tǒng)初始化While (1)數(shù)碼管顯示選擇按鍵的掃描及處理圖 3 內容:中斷按鍵控制,數(shù)碼管顯示,中斷 0 控制計時和停止,中斷 1 清零-*/#include /包含頭文件,一般情況不需要改動,頭文件包含特殊功能存放器的定義unsigned int msecond,second;/定義全局變量bit GoFlag;/定義停止,計時標志#define DataPort P0 /定義數(shù)據端口 程序中遇到 DataPort 那么用 P0 替換sbit LATCH1=P22;/定義鎖存使能端口 段鎖存sbit LATCH2
9、=P23;/ 位鎖存sbit KEY=P32;unsigned char code dofly_DuanMa10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/ 顯示段碼值 09unsigned char code dofly_WeiMa=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/分別對應相應的數(shù)碼管點亮,即位碼unsigned char TempData8; /存儲顯示值的全局變量void DelayUs2x(unsigned char t);/函數(shù)聲明 voi
10、d DelayMs(unsigned char t);void Display(unsigned char FirstBit,unsigned char Num);void Init_Timer0(void);void CLR(void);/*- 主函數(shù)-*/void main (void)unsigned char num=0; EX0=1; /外部中斷 0 開 IT0=1; /IT1=0 表示邊沿觸發(fā) EX1=1; /外部中斷 1 開 IT1=1; /IT1=1 表示邊沿觸發(fā) Init_Timer0();while (1) /主循環(huán) TempData0=dofly_DuanMasecond
11、/10;/分解顯示信息,如要顯示 68,那么 68/10=6 68%10=8 TempData1=dofly_DuanMasecond%10; TempData2=0 x40;/ - TempData3=dofly_DuanMamsecond/10;/分解顯示信息,如要顯示 68,那么 68/10=6 68%10=8 TempData4=dofly_DuanMamsecond%10; /主循環(huán)中添加其他需要一直工作的程序 /*- 顯示函數(shù),用于動態(tài)掃描數(shù)碼管 輸入參數(shù) FirstBit 表示需要顯示的第一位,如賦值 2 表示從第三個數(shù)碼管開始顯示 如輸入 0 表示從第一個顯示。 Num 表示需
12、要顯示的位數(shù),如需要顯示 99 兩位數(shù)值那么該值輸入 2-*/void Display(unsigned char FirstBit,unsigned char Num) static unsigned char i=0; DataPort=0; /清空數(shù)據,防止有交替重影 LATCH1=1; /段鎖存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=TempDatai; /取顯示數(shù)據,段碼 LATCH1=1; /段鎖存 LATCH1=0; i+; if(i=Num) i=0;/*
13、- 定時器初始化子程序-*/void Init_Timer0(void) TMOD |= 0 x01; /使用模式 1,16 位定時器,使用|符號可以在使用多個定時器時不受影響 /TH0=0 x00; /給定初值 /TL0=0 x00; EA=1; /總中斷翻開 總中斷控制開關 ET0=1; /定時器中斷翻開 允許中斷 0 的發(fā)生 TR0=1; /定時器開關翻開 定時器 T0 開始工作/*- 定時器中斷子程序-*/void Timer0_isr(void) interrupt 1 static unsigned char num; TH0=(65536-2000)/256; /重新賦值 2ms
14、 TL0=(65536-2000)%256; Display(0,8); if(GoFlag) num+; if(num=5) num=0; msecond+; if (msecond=100)/100 進 1 msecond=0; second+;/秒加 1 if(second=100) second=0; /*- 外部中斷 0 程序-*/void ISR_INT0(void) interrupt 0 if(!KEY) /如果檢測到低電平,說明按鍵按下 DelayMs(20); /延時去抖,一般 10-20ms if(!KEY) /再次確認按鍵是否按下,沒有按下那么退出 GoFlag=!Go
15、Flag; /利用外部中斷翻開和關閉定時標志 用于開始和停止計時 /主循環(huán)中添加其他需要一直工作的程序 /*- 外部中斷 1 程序-*/void ISR_INT1(void) interrupt 2if(GoFlag=0)/停止時才可以清零 CLR();/*- 數(shù)值清零-*/void CLR(void) second=0; /利用外部中斷清零 msecond=0;void DelayUs2x(unsigned char t) while(-t);void DelayMs(unsigned char t) while(t-) /大致延時 1mS DelayUs2x(245); DelayUs2x
16、(245); 圖圖 4 4 按鍵原理圖按鍵原理圖 圖圖 5 5 顯示電路顯示電路圖圖 6 6 電源電路原理圖電源電路原理圖通過最后軟件對程序的編譯,組建,執(zhí)行,還有最終生成.hex 文件,把.hex 下載到 TX-1C 開發(fā)板的 STC89C52RC 單片機上的最終效果圖如下:下列圖下列圖: : 開始運行開始運行, ,執(zhí)行自動加執(zhí)行自動加 1 1下列圖下列圖: :下列圖為復位后的顯示下列圖為復位后的顯示下列圖下列圖:“:“開始自加開始自加運行運行, ,一直加到一直加到 9999 秒秒4 4 心得體會心得體會 以下是我在設計這個秒表過程中所總結的心得,整個過程主要是:設計程序-修正程序 -擴展功
17、能-完善程序,經過自己的獨立思考與查閱相關知識,最終完成這個作品.心心得得體體會會通過對本次課程的課程設計,使自己深刻的認識到自己的很多缺乏之處,在實際動手操作能力的缺乏,在進行程序編程時,自己需要,認真審題,看懂題目的要求!對于軟件編程不益太簡單或者太難。做到既能把課題完成又能鍛煉自己的能力!根據課題要求,復習相關的知識,查詢相關的資料。根據課程條件,找到適合的方案,找到需要的元器件及工具,準備課程。根據課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的根底上,根據芯片的功能寫出相應的程序和增加額外的功能程序。然后再進行程序調試和相應的修改,以到達能夠實現(xiàn)所要求的功能的目的。還要根據課程的實際情況,添加些額外程序來使系統(tǒng)更加的穩(wěn)定,如開關的去抖采用延遲 。程序要盡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《焊接質量檢測與評價》教學大綱
- 教案(水的性質及水污染)
- 玉溪師范學院《倫理學》2022-2023學年第一學期期末試卷
- 地震前兆儀器賬務處理實例-記賬實操
- 小班泥工西瓜課件
- 2024年三季度碳交易市場運行與政策盤點-碳市場擴容信號明確成交價量均有提升
- 管理會計第5版 期中試卷
- 2019粵教版 高中美術 選擇性必修3 雕塑《第三單元 了解中國雕塑的前世今生》大單元整體教學設計2020課標
- 2024屆貴州省遵義市湄潭縣湄江中學高三下學期第四次質量檢測試題數(shù)學試題
- 財務崗位就業(yè)合同
- 實習協(xié)議模板(最新版)
- 人教版六年級上學期科學4.14《風能和水能》教學課件
- 瀝青混凝土面層夜間施工安全專項方案
- 客戶滿意度及設備使用情況調查表
- 國家開放大學《政治學原理》章節(jié)自檢自測題參考答案
- 人體五臟六腑 課件
- 智慧樹知到《走進故宮》2019期末考試答案
- 醫(yī)院人才梯隊建設情況匯報
- 動火作業(yè)票填寫模板
- 學校三年發(fā)展規(guī)劃落實情況評估報告(通用3篇)
- 術后譫妄演示課件
評論
0/150
提交評論