單片機原理與應用課程設計_第1頁
單片機原理與應用課程設計_第2頁
單片機原理與應用課程設計_第3頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計說明書題目:單片機原理及應用課程設計(電子時鐘)摘要本次設計時鐘電路, 電子時鐘。格式如下:利用 CPU的定時器和實驗儀上提供的數(shù)碼顯示電路,設計一個 XX XX XX由左向右分別為:時,分,秒。并拓展功能一鬧鐘。關鍵字:數(shù)碼管蜂鳴器8031目錄第1章緒論 5第2章設計要求 5第3章設計方案(包括原程序及其拓展功能) 5第4章 硬件部分 64.1 8031 單片機4.2 復位電路64.3 時鐘電路64.4 顯示電路74.5 蜂鳴器電路8第5章 軟件部分 95.1主程序模塊 9115.2 100us 定時中斷服務程序5.3程序(C語言)12心得體會 18參考文獻 18第一章 緒論單片機是

2、將 CPU、定時器 / 計數(shù)器以及輸入輸出 (I/O) 接口等計算機的主要部件集成在一塊的集成電路芯片, 作為微機系統(tǒng)它還可以實現(xiàn)模 / 數(shù) 轉換、脈寬調制、計數(shù)器捕獲/比較邏輯、高速I/O 口和WDT各種控制功能。通過在MCS-5係列的單片機中增設了全雙工串行口I/O、片內數(shù)據(jù)存儲器采用尋址范圍為 256kb 的 8 位地址、均有四種工作方式的 2 個 16 位的定時/ 計數(shù)器、增加了中斷系統(tǒng)、增設了頗具特色的布爾處理機、讓單片機具有較 強的指令尋址和運算功能這些技術,使單片機擁有了完善的外部并行總線(AB、DB CB具有多機識別功能的串行通信接口,規(guī)范了功能單元的特殊功能寄存器控制模式及適

3、應控制器特點的布爾處理系統(tǒng)和指令系統(tǒng),位發(fā)展具 有良好兼容性的新一代單片機奠定了良好的基礎。單片機被廣泛地應用在各種領域。例如用來作家用電器中如洗衣機、電 冰箱、微波爐、電飯煲、電視機、錄像機以及其他視頻音像設備的控制器; 在辦公室中用作大量通信、信息的承載體,比如磁盤驅動、打印機、復印機、 電話等;它還可以來構成電子秤、收款機、倉儲安全檢測系統(tǒng)、空氣調節(jié)系 統(tǒng)等冷凍保鮮系統(tǒng)等的專用系統(tǒng);在工業(yè)中,像工業(yè)過程控制、過程監(jiān)制以 及機電一體化控制等系統(tǒng)都是以單片機為核心火多網(wǎng)絡系統(tǒng);它還可以構成 一些智能儀表與集成智能傳感器傳統(tǒng)的控制電路,實現(xiàn)一些像存儲、數(shù)據(jù)處 理、查找、判斷、聯(lián)網(wǎng)和語音功能等智

4、能化功能,還可以構成一些電子系統(tǒng) 中的集中顯示系統(tǒng)、動力檢測控制系統(tǒng)、自動駕駛系統(tǒng)、通信系統(tǒng)以及運行 監(jiān)視器等的冗余網(wǎng)絡系統(tǒng)。第二章 設計要求1 、準確計時,以數(shù)字形式顯示時、分、秒的時間。2、小時以 24 小時計時形式,分秒計時為 60 進位。拓展功能:3、鬧鐘功能,一旦走時到該時間,能以蜂鳴器蜂鳴的形式告警提示第三章設計方案(包括原程序及其拓展功能)本次設計時鐘電路,使用了 8031單片機芯片控制電路,單片機控制電 路簡單且省去了很多復雜的線路,使得電路簡明易懂,使用數(shù)碼管來顯示時 鐘的時、分、秒,用一揚聲器來進行定時提醒,同時使用 C語言程序來控制 整個時鐘顯示。通過三個模塊:芯片、蜂鳴

5、器、數(shù)碼管顯示即可滿足設計要求。第四章硬件部分4.1 8031 單片機4.2復位電路4.3時鐘電路4.4顯示電路AiHi'T-i££dIE 4np7 U4/b本設計晶振電路采用12M的晶振。晶振的作用是給單片機正常工作提供sw 電IE uFT伸惟Ml,癥dADrao舵 P3lTt£FJJ.WT 舊皿 FT" PiJdPOF rxWPl" H * tJlB穩(wěn)定的時鐘信號。單片機的晶振并不是只能用12M,只要不超過20M就行,在 準許的范圍內,晶振越大,單片機運行越快,還有用12M的就是好算時間,因為一個機器周期為1/12時鐘周期,所以這樣

6、用12M的話,一個時鐘周期為 12us,那么定時器計一次數(shù)就是1us 了,電容范圍在20-40pF之間,這里連 接的是30pF的電容。機器周期=10*晶振周期=12*系統(tǒng)時鐘周期4.5蜂鳴器電路電路接法:三極管選定PNP型,基極B連接5V電壓,發(fā)射極E連接 一個1K左右的電阻后接I/O 口,集電極C連接蜂鳴器后接地。單片機在 復位后的個I/O 口是高電平,此時三極管是截止的,編寫程序使選定的 I/O為低電平,此時三極管導通,導通后蜂鳴器與電源正極連通,構成一 個工作回路,從而發(fā)出滴滴的響聲。其中電阻R1在電路里起分壓限流的作用,PNPE極管起到模擬開關的作用。第5章軟件部分定時器每100us中

7、斷一次,在中斷服務程序中,對中斷次數(shù)進行計數(shù),1OOus計數(shù)10000次就是1秒,然后再對秒計數(shù)得到分和小時值,并送入顯示緩沖區(qū)5.1 主程序模塊:主程序主要用于系統(tǒng)初始化:設置計時緩沖區(qū)的位置及初值,設置8031的工作方式、定時器的工作方式和計數(shù)初值等參數(shù)。主程序流程如下圖所示。五.實驗征田5.2 100us 定時中斷服務程序:匸寸豐幽X »柑亍5.3程序(C語言)#include <reg51.h>#define LEDLen 6#define PB1 2 / 164時鐘位#define PB0 1 / 164數(shù)據(jù)位xdata unsigned char OUTBIT

8、 _at_ 0x8002; / 位控制口xdata unsigned char OUTSEG _at_ 0x8004; / 段控制口unsigned char LEDBufLEDLen; / 顯示緩沖code unsigned char LEDMAP = / 八段管顯示碼0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;void Delay(unsigned char CNT)unsigned char i;while (CNT- !=0)for (i=10

9、0; i !=0; i-); void DisplayLED()unsigned char i, j; unsigned char Pos; unsigned char LED;Pos = 0x20; /從左邊開始顯示for (i = 0; i < LEDLen; i+) OUTBIT = 0; / 關所有八段管LED = LEDBufi;OUTSEG = LED;OUTBIT = Pos; / 顯示一位八段管Delay(1);/#define Tick 10000 / 10000 x 100us = 1s #define T100us (256-50) / 100us 時間常數(shù) (6M

10、) unsigned char Hour, Minute, Second;unsigned int C100us; / 100us 記數(shù)單元void T0Int() interrupt 1C100us-;if (C100us = 0) C100us = Tick; / 100us記數(shù)器為 0, 重置記數(shù)器Second+;if (Second = 60) Second = 0;Minute+;if (Minute = 60) Minute = 0;Hour+;if (Hour = 24) Hour = 0;void main()TMOD = 0x02; / 方式 2, 定時器TH0 = T100

11、us;TL0 = T100us;IE = 0x82; / EA=1, IT0 = 1Hour = 0;Minute = 0;Second = 0;C100us = Tick;TR0 = 1;/ 啟動定時器 0while (1) LEDBuf0= LEDMAPHour/10;LEDBuf1= LEDMAPHour%10 | 0x80;LEDBuf2= LEDMAPMinute/10;LEDBuf3= LEDMAPMinute%10 | 0x80;LEDBuf4= LEDMAPSecond/10;LEDBuf5= LEDMAPSecond%10;DisplayLED();5.4 拓展功能程序(鬧鐘

12、) 鬧鐘時間為 7時 10 分 15 秒,當電子時鐘走到 7 時 10 分 15 秒時,蜂鳴器蜂 鳴。#include <reg51.h>/添加部分sbit Speaker = P1A1;/ #define LEDLen 6#define PB1 2 / 164時鐘位#define PB0 1 / 164數(shù)據(jù)位/ 添加部分void Delay1();/ xdata unsigned char OUTBIT _at_ 0x8002; /位控制口xdata unsigned char OUTSEG _at_ 0x8004; / 段控制口unsigned char LEDBufLEDLe

13、n; / 顯示緩沖code unsigned char LEDMAP = / 八段管顯示碼0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 ;/ 添加部分void beep()int k=10;while(k!=0)Speaker = 0;Delay1();Speaker = 1;Delay1();k-;/ void Delay(unsigned char CNT)unsigned char i;while (CNT- !=0)for (i=100; i !

14、=0; i-); void DisplayLED()unsigned char i, j; unsigned char Pos; unsigned char LED;Pos = 0x20; /從左邊開始顯示for (i = 0; i < LEDLen; i+) OUTBIT = 0; / 關所有八段管LED = LEDBufi;OUTSEG = LED;OUTBIT = Pos; / 顯示一位八段管Delay(1);/#define Tick 10000 / 10000 x 100us = 1s #define T100us (256-50) / 100us 時間常數(shù) (6M) unsi

15、gned char Hour, Minute, Second;unsigned int C100us; / 100us 記數(shù)單元void T0Int() interrupt 1C100us-;if (C100us = 0) C100us = Tick; / 100us記數(shù)器為 0, 重置記數(shù)器Second+;if (Second = 60) Second = 0;Minute+;if (Minute = 60) Minute = 0;Hour+;if (Hour = 24) Hour = 0;/添加部分void Delay1()unsigned char i;for (i=0; i<50

16、; i+); / void main()TMOD = 0x02; /方式 2, 定時器TH0 = T100us;TL0 = T100us;IE = 0x82; / EA=1, IT0 = 1Hour = 0;Minute = 0;Second = 0;C100us = Tick;TR0 = 1; /啟動定時器 0while (1) LEDBuf0 =LEDMAPHour/10;LEDBuf1 =LEDMAPHour%10 | 0x80;LEDBuf2 =LEDMAPMinute/10;LEDBuf3 =LEDMAPMinute%10 | 0x80;LEDBuf4 =LEDMAPSecond/1

17、0;LEDBuf5 =LEDMAPSecond%10;DisplayLED();/. 添加部分if( Hour = 7&&Minute = 10&&Second = 15) beep();/心得體會通過本次實驗,使我對 Proteus 7 Professional 軟件的使用方法有了初 步的了解,還認識了 8031 單片機的結構及各個端口的功能。雖然在本次試驗中遇到了的問題,都在同學的幫助下解決了,同時還進 一步了解了單片機方面的有關知識。該課程設計中應用到了蜂鳴器、數(shù)碼管,并且要求在一個電路板上將各 個功能集成在一起,數(shù)碼管計時以及蜂鳴器發(fā)生。以前我們做試驗都

18、是一個 功能一個功能的完成,從來沒有一起實現(xiàn)過。經(jīng)過老師的講解和分析,我們 可以用掃描的程序來解決,將各個功能設置在不同的模塊作為子程序一一調 試,這樣就可以實現(xiàn)全部功能并互不干擾。最后完成調試和下載,終于正常工作,但是還是有一些問題沒有解決, 但是整體上還是成功的,這些問題下去還會繼續(xù)研究,直到將它消除。參考文獻1)單片機原理及應用技術 張淑清,國防工業(yè)出版社(教材)2)過程控制系統(tǒng)及儀表 邵裕森 巴筱云 編(教材)3)單片機及應用 李大友,高等教育出版社(教材)4)機械量測量 機械工業(yè)出版社(教材)燕山大學課程設計評審意見表指導教師評語:工作態(tài)度認真較認真不認真理論分析正確完善較為合理一般方法設計較差完善合理一般較差成績:指導教師:2011年6月25日答辯小組評語:清晰設計結論正確基本正確基本掌握原理了解成績:不清楚評閱人:不正確2011年6月25日課程設計總成績:答辯小組成員簽字:趙彥濤、程淑紅、林洪斌2011年6月25日燕山大學課程設計(論文)任務書院(系):電氣工程學院基層教學單位:自動化儀表系學號XXXXXXXXXXX 學生姓名XXXXXXX 專業(yè)(班級)儀表XXXX班設計題目電子時鐘設 計 技 術 參 數(shù)1. 獨立完成設計任務2. 編程,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論