單片機課程設(shè)計_第1頁
單片機課程設(shè)計_第2頁
單片機課程設(shè)計_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、單片機課程設(shè)計-數(shù)字鐘一、設(shè)計目的及意義(1)鞏固、加深和擴大 51系列單片機應(yīng)用的知識面,提高綜合及靈活運用所學(xué)知識解決 工業(yè)控制的能力;(2)培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻資料的自學(xué)能力,提高組成系 統(tǒng)、編程、調(diào)試的動手能力;(3 )對課題設(shè)計方案的分析、選擇、比較、熟悉用51單片機做系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計的方法、內(nèi)容及步驟二原理圖設(shè)計中簡要說明設(shè)計目的(1)功能:24小時制時間顯示,可隨時進行時間校對調(diào)整,整點報時及鬧鐘功能。:nJ'4巧2aHi T.KKI網(wǎng)Wi- jraaw.-"匚! n >F峠亍令峠gF?泄和rseHra.acM&

2、#39;衽聰砂。日朋*+F-l 1noMRS ITC-rtzjhjjriaP15 ri-tMT阿T盹L31MlFIrHi靳F(2 )原理圖中所使用的元器件功能在圖中的作用1主要元件AT89C51P3.2 /INTO (外部中斷 0)定時器/計數(shù)器0溢出中斷2.LED及按鍵開關(guān)用于時間的顯示和設(shè)定(3)各器件的工作過程及順序計時狀態(tài),AT89C51通過P1 口持續(xù)向LED發(fā)送信號,使LED掃描顯示剛前時分秒, 當出現(xiàn) 定時器/計數(shù)器0溢出中斷時,時間加多 1秒,AT89C51從P1 口向LED輸出新的時間; 只按住SET UP鍵時,進入外部中斷 0,時間計數(shù)停止,通過點擊按鍵H,M,S對時分秒進

3、行調(diào)整,新的時間值送給了計時程序,松開SET UP鍵退出中斷,回到計時狀態(tài);按住SET UP鍵和ALARM鍵時,進入外部中斷 0,時間計數(shù)停止,通過點擊按鍵H,M對時分進行鬧鐘定時,AT89C51記憶時分值,退出時先松開 SET UP鍵再松開ALARM ; 鬧鈴:當時間值和設(shè)定鬧鈴值一樣時,進行鬧鈴一分鐘。(3)流程圖初始設(shè)定鬧鈴LED掃描顯示時間相同?.”>* 鬧鐘定時按下設(shè)定鍵外部中斷o <_按下鬧鐘?N 定時器溢出中斷0時間調(diào)整時間加1秒(4) 程序清單#in clude<reg52.h>#defi ne uint un sig ned int#defi ne u

4、char un sig ned charsbit wela 1=P2A0;sbit wela2=P2Al;sbit wela3=P2A2;sbit wela4=P2A3;sbit wela5=P2A4;sbit wela6=P2A5;sbit dp= P1A7;sbit c0= P0A0;sbit c1= P0A1;sbit c2= P0A2;sbit c3= P0A3;sbit c4= P0A4;sbit c5= P0A5;sbit kai= P3A2;uchar code table= 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,

5、0x88,0x83, 0xc6,0xa1,0x86,0x8e; void display(void); void delay(uint);uint num=0,num1=0,num2=0,num3=0;uint shi,ge,shi1,ge1,shi2,ge2;uint shi1t,ge1t,shi2t,ge2t; void delay(uint x)uint i,j;for(i=x;i>0;i-) for(j=110;j>0;j-);void main()TMOD=0x11;TH0 =(65536-50000)/256;TL0 =(65536-50000)%256;EA =1;/

6、 開總中斷EX0 =1;/ 開外部中斷 0IT0 =0;/ 外部中段 0 設(shè)為電平觸發(fā)ET0 =1;/T0 溢出中斷充許TR0 =1;/ 啟動內(nèi)部定時器IT1=0;/ 外部中段 1 設(shè)為邊沿觸發(fā)while(1)display();void display(void) / 掃描顯示wela5=1;P1=tableshi;delay(5);wela5=0;wela6=1;P1=tablege;delay(5);wela6=0;wela3=1;P1=tableshi1; delay(5);wela3=0;wela4=1;P1=tablege1; dp=0;delay(5);wela4=0;wela1

7、=1;P1=tableshi2;delay(5);wela1=0;wela2=1;P1=tablege2; dp=0;delay(5);wela2=0;void intO()interrupt 0/時間調(diào)整功能,夕卜部中斷0,與鬧鐘功能 按住SET UP進入,松開退出while(kai=0)c3=1;/ 關(guān)閉鬧鈴display();if(c0=1)/ 秒 ge+;delay(10);if(ge=10)ge=0;shi+;if(shi=6)shi=0;while(c0) display();if(c1=1)/ 分ge1+;delay(10);if(ge1=10) ge1=0;shi1+;if(s

8、hi1=6)shi1=0;while(c1)display(); if(c2=1)/ 時 ge2+;delay(10);if(ge2=10) ge2=0;shi2+;if(shi2=2&&ge2=4)shi2=0;ge2=0;/24 進 0 while(c2)display();,設(shè)定完成后,if©=1)鬧鐘功能區(qū),按住ALARM和SET UP時,就能進行鬧鐘設(shè)定 先松開SET UP再松開 ALARMF才有效shi1t=shi1;ge1t=ge1;shi2t=shi2;ge2t=ge2;elsenum1=shi*10+ge; num2=shi1*10+ge1;num3=shi2*10+ge2;void T0time() interrupt 1/ 定時器 0 溢出中斷TH0 =(65536-50000)/256;TL0 =(65536-50000)%256;num+;if(num=5) /num=20 時,為現(xiàn)實 1 秒 num=0;num1+;if (num1=60)num1=0;num2+;shi=num1/10;ge =num1%10;if (num2=60)num2=0;num3+;shi1=num2/10;ge1 =num2%10;if (num3=24)num3=0;shi2=num3/10;ge2 =num3%10;if(sh

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論