




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【摘要】眾所周知鬧鐘對(duì)我們?nèi)粘I顏碇v是一個(gè)很重要的工具,因而我利用單片機(jī)AT89C52制作一個(gè)簡(jiǎn)單的倒計(jì)時(shí)定時(shí)鬧鐘。本設(shè)計(jì)利用單片機(jī)的內(nèi)部中斷資源和按鍵的基本使用方法構(gòu)思而成。利用按鍵設(shè)定需要定時(shí)的時(shí)間長(zhǎng)短,利用中斷設(shè)置20次中斷定義一秒,然后利用程序設(shè)計(jì)時(shí)間倒數(shù)。并使用4個(gè)8段數(shù)碼管顯示分和秒,并且定時(shí)結(jié)束后使用電鈴警示。硬件系統(tǒng)利用proteus仿真,在仿真中就能觀察到系統(tǒng)的實(shí)際運(yùn)行情況?!娟P(guān)鍵字】單片機(jī)AT89C51倒計(jì)時(shí)定時(shí)中斷protues仿真設(shè)計(jì)項(xiàng)目簡(jiǎn)介基于51單片機(jī)進(jìn)行簡(jiǎn)單鬧鐘設(shè)計(jì)。四位數(shù)碼管從左往右分別代表十分位,分位,十秒位,秒位。按動(dòng)對(duì)應(yīng)按鍵能增加各個(gè)位的數(shù)值,按動(dòng)開始計(jì)時(shí)按鍵能開始倒計(jì)時(shí)。硬件設(shè)計(jì)總體設(shè)計(jì)思路控制芯片使用比較熟悉的AT89C52單片機(jī)芯片,數(shù)碼管使用四位相連的8段共陰數(shù)碼管,并且使用74HC573鎖存器控制數(shù)碼管的顯示。在定時(shí)過程使用s1控制十分位,s2控制分位,s3控制十秒位,s4控制秒位,s5開始倒計(jì)時(shí)。基本思路設(shè)計(jì)如下:數(shù)碼管位數(shù)碼管位AT89C52控制芯片AT89C52控制芯片段74HC573鎖存器控制按鍵段74HC573鎖存器控制按鍵AT89C52芯片介紹80C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它采用INTEL公司可靠的CHMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的HCMOS產(chǎn)品。它結(jié)合了HMOS的高速和高密度技術(shù)及CHMOS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于80C51增強(qiáng)型單片機(jī)版本,集成了時(shí)鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合于類似馬達(dá)控制等應(yīng)用場(chǎng)合。80C52內(nèi)置8位中央處理單元、256字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,80C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。80C52有PDIP(40pin)和PLCC(44pin)兩種封裝形式。8051片內(nèi)有ROM,無須外接外存儲(chǔ)器和373,更能體現(xiàn)“單片”的簡(jiǎn)練。74HC573芯片介紹74HC573的八個(gè)鎖存器都是透明的D型鎖存器,當(dāng)使能(G)為高時(shí),Q輸出
將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時(shí),新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,I/O通道,雙向總線驅(qū)動(dòng)器和工作寄存器。數(shù)據(jù)鎖存當(dāng)輸入的數(shù)據(jù)消失時(shí),在芯片的輸出端,數(shù)據(jù)仍然保持;這個(gè)概念在并行數(shù)據(jù)擴(kuò)展中經(jīng)常使用到。OE120Vcc1D2191Q2D3182Q3D4173Q4D5164Q5D6155Q6D7146Q7D8137Q8D9128QGND1011LEOEˉLEDQLHHHLHLLLLXQ0HXXZ1腳三態(tài)允許控制端低電平有效1D~8D為數(shù)據(jù)輸入端1Q~8Q為數(shù)據(jù)輸出端74HC573引腳圖鎖存器接單片機(jī)芯片如下:?jiǎn)纹瑱C(jī)內(nèi)部中斷原理內(nèi)部中斷是指單片機(jī)內(nèi)部的功能模塊產(chǎn)生中斷信號(hào),只要是單片機(jī)內(nèi)部在CPU外圍能獨(dú)立工作的功能模塊都會(huì)提供中斷功能,常見的內(nèi)部中斷類型有時(shí)鐘Timer、串口UART、模數(shù)轉(zhuǎn)換ADC等。內(nèi)部中斷的工作流程和外部中斷沒太多區(qū)別,只是中斷請(qǐng)求信號(hào)是在單片機(jī)內(nèi)部進(jìn)行傳輸,中斷信號(hào)不是管腳上的電平狀態(tài),而是一個(gè)寄存器里面的相應(yīng)標(biāo)志位,通常當(dāng)某個(gè)內(nèi)部中斷產(chǎn)生中斷請(qǐng)求時(shí)就會(huì)將相應(yīng)標(biāo)志位置為1,CPU響應(yīng)中斷時(shí)將這個(gè)標(biāo)志位清0。設(shè)計(jì)原理圖軟件設(shè)計(jì)C語言源程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitdula=P2^6;//段碼和位碼設(shè)置。sbitwela=P2^7;sbits1=P3^0;//設(shè)置按鍵,s1代表十分位,s2分位,s3十秒位,s4秒位。sbits2=P3^1;sbits3=P3^2;sbits4=P3^3;sbits5=P3^4;sbitbeep=P2^3;//設(shè)置電鈴ucharcodeseg_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共陰極8位段碼表,帶點(diǎn)和不帶點(diǎn)。ucharcodeseg_table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};voiddelay(uintt);//各個(gè)子函數(shù)的申明。intdisplay1();voiddisplay2(uintk);voidinit_t0();uintNUM;uintSEC;uintS;uintM;uintk1;uintk2;uintk3;uintk4;voidmain(){NUM=0,SEC=0,S=0,M=0,k1=0,k2=0,k3=0,k4=0,wela=0,dula=0,wela=1,P1=0x00,wela=0,dula=1,P1=seg_table[NUM],dula=0;while(1){display1();//運(yùn)行開始設(shè)置時(shí)間函數(shù)if(s5==0){gotostart;//當(dāng)s5按鍵按下,開始倒計(jì)時(shí)。}}start:init_t0();while(1){display2(M);//顯示函數(shù)}}intdisplay1()//按動(dòng)按鍵開始設(shè)置時(shí)間{if(s1==0){delay(150);if(s1==0)//設(shè)置十分位 { k1++; if(k1==6) {k1=0; } wela=1; P1=0xf7; wela=0; dula=1; P1=seg_table[k1]; dula=0; delay(1); }}if(s2==0)//設(shè)置分位{delay(150);if(s2==0) { k2++; if(k2==10) { k2=0; } wela=1; P1=0xfb; wela=0; dula=1; P1=seg_table[k2]; dula=0; delay(1); }}if(s3==0)//設(shè)置十秒位{delay(150);if(s3==0){ k3++; if(k3==6) { k3=0; } wela=1; P1=0xfd; wela=0; dula=1; P1=seg_table[k3]; dula=0; delay(1);}}if(s4==0)//設(shè)置秒位{delay(150);if(s4==0){ k4++; if(k4==10) { k4=0; } wela=1; P1=0xfe; wela=0; dula=1; P1=seg_table[k4]; dula=0; delay(1);}}S=k1*600+k2*60+k3*10+k4;returnS;//返回全局變量}voiddelay(uintt)//延時(shí)函數(shù){uintx,y;for(x=t;x>0;x--){for(y=120;y>0;y--){ }}}voiddisplay2(uintk)//倒計(jì)時(shí)時(shí)間顯示函數(shù){uintmiao,shimiao,fen,shifen;shifen=k/600;fen=k%600/60;shimiao=k%60/10;miao=k/10;wela=1;P1=0xfe;wela=0;dula=1;P1=seg_table[miao];dula=0;delay(1);wela=1;P1=0xf7;wela=0;dula=1;P1=seg_table[shifen];dula=0;delay(1);wela=1;P1=0xfb;wela=0;dula=1;P1=seg_table1[fen];dula=0;delay(1);wela=1;P1=0xfd;wela=0;dula=1;P1=seg_table[shimiao];dula=0;delay(1);}voidinit_t0()//內(nèi)部中斷T0初始化{TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}voidt0()interrupt1//中斷函數(shù),使用方式一中斷{TH0=(65536-50000)/256;TL0=(65536-50000)%256;NUM++;if(NUM==20){NUM=0;SEC++;M=S-SEC;if(M==0){TR0=0;beep=0;delay(1000);beep=1;}}}調(diào)試1、 調(diào)試方法本設(shè)計(jì)使用Proteus軟件繪制電路圖,裝載keil軟件編寫編譯完成的源程序生成的hex文件,進(jìn)行仿真測(cè)試檢查系統(tǒng)運(yùn)行情況,觀察實(shí)驗(yàn)現(xiàn)象是否與理論一致。2、 調(diào)試步驟打開已經(jīng)畫好的ProteusDSN文件,雙擊圖中的AT89S52芯片,就彈出一個(gè)窗口,在programfile項(xiàng)中通過路徑選擇在keil中生成hex文件,雙擊選中后確定,這樣仿真圖中的AT89S52芯片就已經(jīng)讀取了本設(shè)計(jì)中的hex文件。然后進(jìn)行仿真。3、調(diào)試問題在調(diào)試過程中發(fā)現(xiàn)定時(shí)完成以后,按動(dòng)開始定時(shí)按鍵s5發(fā)現(xiàn)數(shù)碼管顯示不正常,秒位顯示不正常。但功能使用正常,初步判斷是延時(shí)出現(xiàn)問題,通過改變數(shù)碼管顯示延遲的長(zhǎng)久,問題仍未解決。調(diào)試圖:心得體會(huì)本設(shè)計(jì)的數(shù)字秒表是由AT89S52單片機(jī)、共陰極數(shù)碼管和控制按鍵等器件組成的,設(shè)有四位計(jì)時(shí)顯示。系統(tǒng)設(shè)計(jì)合理,線路簡(jiǎn)單,性能穩(wěn)定、程序簡(jiǎn)單。給出了較為詳盡的電路設(shè)計(jì)方法。本系統(tǒng)以單片機(jī)為核心,但僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟硬件結(jié)合,以作完善。單片機(jī)應(yīng)用的越來越廣泛,也要求了我們對(duì)單片機(jī)知識(shí)要有更深的體會(huì),更好的掌握單片機(jī)的相關(guān)應(yīng)用。不僅掌握理論知識(shí),還要有相應(yīng)的動(dòng)手能力。這次的課程設(shè)計(jì)便是對(duì)我們平時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產(chǎn)應(yīng)知應(yīng)會(huì)知識(shí)習(xí)題庫(kù)及答案
- 加盟費(fèi)合同范本
- 廠房場(chǎng)地租賃合同范本
- 出資不經(jīng)營(yíng)合同范本
- 《紅樓夢(mèng)》讀書心得體會(huì)初中
- 勞務(wù)合同范本2003
- ktv領(lǐng)班簽約合同范本
- 包裝印刷合同范本
- ktv酒水合同范本
- 出租簡(jiǎn)易沙發(fā)合同范本
- 歷史-貴州省貴陽(yáng)市2025年高三年級(jí)適應(yīng)性考試(一)(貴陽(yáng)一模)試題和答案
- 2025年01月2025全國(guó)婦聯(lián)所屬在京事業(yè)單位公開招聘93人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 輻射安全管理測(cè)試題含答案
- 信息系統(tǒng)項(xiàng)目計(jì)劃書
- 2025學(xué)生管理工作計(jì)劃怎么寫
- 公立醫(yī)院人文關(guān)懷實(shí)施細(xì)則
- 聚碳酸酯(PC)市場(chǎng)現(xiàn)狀及未來發(fā)展方向分析
- 手術(shù)室脛骨骨折護(hù)理查房
- 2024年廉潔自律學(xué)習(xí)心得體會(huì)例文(3篇)
- 四川政采評(píng)審專家入庫(kù)考試基礎(chǔ)題復(fù)習(xí)測(cè)試附答案
- 七年級(jí)歷史下冊(cè) 第一單元 隋唐時(shí)期繁榮與開放的時(shí)代 第1課 隋朝的統(tǒng)一與滅亡說課稿1 新人教版
評(píng)論
0/150
提交評(píng)論