仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (27.07 KB, 下載次數(shù): 40)
下載附件
2018-12-14 17:49 上傳
0.png (10.28 KB, 下載次數(shù): 30)
下載附件
2018-12-14 17:50 上傳
目錄
第1章 緒 論
1.1 設(shè)計(jì)背景與意義
第2章 課程設(shè)計(jì)目的和要求
2.1 課程設(shè)計(jì)目的
2.2 課程設(shè)計(jì)要求
第3章 多功能秒表系統(tǒng)概述
3.1 系統(tǒng)的主要功能
3.2 AT89C51的功能及簡介
第4章 多功能秒表電路設(shè)計(jì)
4.1 元件清單
4.2 復(fù)位電路的設(shè)計(jì)
4.3 振蕩電路的設(shè)計(jì)
4.4 按鍵電路的設(shè)計(jì)
4.5 顯示電路的設(shè)計(jì)
4.6 報(bào)警電路的設(shè)計(jì)
4.7 總體電路設(shè)計(jì)圖
第5章 總 結(jié)
參考文獻(xiàn)
第1章 緒 論
1.1 設(shè)計(jì)背景與意義
單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。
當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。課程設(shè)計(jì)是根據(jù)某一課題技術(shù)指標(biāo)或邏輯功能的要求,進(jìn)行電路的獨(dú)立設(shè)計(jì),實(shí)驗(yàn)安裝和調(diào)試。根據(jù)這次課程設(shè)計(jì)的內(nèi)容和要求,我首先進(jìn)行了整體方案的構(gòu)思,通過在圖書館和上網(wǎng)查閱資料,并分析和比較,選取了一種簡單而且可行性高的方案。此方案主要由延時(shí)電路、定時(shí)計(jì)數(shù)電路、主控電路、程序譯碼驅(qū)動(dòng)電路等組成。通過查閱有關(guān)書籍、上網(wǎng)和綜合已學(xué)機(jī)以及電子技術(shù)的知識(shí),并考慮到電路的工作穩(wěn)定性,設(shè)計(jì)成本低,電路簡單,功耗低等因素。
第4章 多功能秒表電路設(shè)計(jì)4.1 元件清單表4-1
4.2 復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期也(就是4微秒)的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖4-2所示,當(dāng)要對(duì)晶片重置時(shí),只要按開關(guān)就能完成LED和開關(guān)的重置。復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)的RST管腳為主機(jī)提供了一個(gè)外部復(fù)位信號(hào)輸入口。復(fù)位信號(hào)是高電平有效,高電平有效的持續(xù)時(shí)間為2個(gè)機(jī)器周期以上。單片機(jī)的復(fù)位方式可由手動(dòng)復(fù)位完成。

圖4-1復(fù)位電路
充電充滿的時(shí)候流過的電流是0,所以接的是低電平,處于正常的狀態(tài),當(dāng)按鍵按下的時(shí)候,電容被短路,電阻被接入到電路當(dāng)中,5V電壓直接接到電阻R1上面,所以電阻R1上的壓降就是5V,所以第九腳的電壓為電源電壓5V,實(shí)現(xiàn)按鍵復(fù)位,電容起的作用就是開機(jī)上電復(fù)位。
4.3 振蕩電路的設(shè)計(jì)8051內(nèi)部有時(shí)鐘電路,只需外部接石英晶體和微調(diào)電容即可,通常選用的是6MHz、12MHZ、11.0592MHz。 為多功能秒表循環(huán)系統(tǒng)提供穩(wěn)定頻率波在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時(shí)鐘信號(hào)的同步,引入唯一的外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖。這時(shí)外部的脈沖信號(hào)是經(jīng)單片機(jī)89C51的XTAL2引腳注入的;在MCS-51單片機(jī)片內(nèi)有一個(gè)高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,在芯片的外部通過這兩個(gè)引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率范圍通常是1.2~12MHz。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。 然而一般選用石英晶體振蕩器。石英晶振的頻率非常穩(wěn)定,非常適合用在這個(gè)地方,圖上4-1電路晶振在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容 C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1,C2的值為30μF。 圖中選用的是12MHz的晶振,而它的機(jī)器周期是1微秒。

圖4-2 復(fù)位電路
4.4 按鍵電路的設(shè)計(jì)按鍵電路由六個(gè)相同按鍵組成,分別作為開始,暫停,清零,倒計(jì)時(shí),十位加一,個(gè)位加一,電路如下圖:

圖4-3 按鍵電路 4.5顯示電路的設(shè)計(jì)顯示電路使用了一個(gè)兩位的共陽極LED數(shù)碼管和1k歐排阻構(gòu)成。數(shù)碼管的位由p2.1和p2.0口決定。如下圖: 
圖4-4 顯示電路 4.6 報(bào)警電路的設(shè)計(jì)報(bào)警電路由小揚(yáng)聲器組成,計(jì)時(shí)完成后,利用顯示子程序延時(shí)約2毫秒求反,產(chǎn)生250Hz的方波,從而揚(yáng)聲器發(fā)聲,該電路如下:

圖4-5 報(bào)警電路 4.7總體電路設(shè)計(jì)圖

圖4-6 總體電路設(shè)計(jì)圖 4.7 仿真及調(diào)試

圖4-6 總體電路仿真圖
第5章 總 結(jié)
起初,剛拿到這個(gè)設(shè)計(jì)任務(wù)時(shí),一頭霧水,但是通過翻閱相關(guān)書籍和參考資料以及對(duì)應(yīng)的秒表設(shè)計(jì)程序,終于有了一些自己的思路。通過幾天的反反復(fù)復(fù)設(shè)計(jì)和程序編輯,幾十次的仿真和調(diào)試,終于在答辯之前的前一天完成。此次課程設(shè)計(jì)我懂得了看花容易繡花難,理論聯(lián)系實(shí)際的重要性,只有自己動(dòng)手動(dòng)腦,認(rèn)真完成實(shí)踐環(huán)節(jié),才能加深自己對(duì)理論知識(shí)的理解。同時(shí),在課設(shè)的過程中,也加深了自己對(duì)軟件的熟練程度,查閱資料的能力。 同時(shí),也要感謝同組同學(xué)的共同努力,通過互相發(fā)問,互相提出自己的設(shè)計(jì)方法,使得我們組同學(xué)的設(shè)計(jì)方案得到了優(yōu)化,加深互相和合作的能力。也感謝老師在課設(shè)過程中給出的指導(dǎo)和建議。
附錄一: 程序框圖

- #include<reg51.h>
- #include "string.h"
- #include "stdio.h"
- #include "math.h"
- #include <INTRINS.H>
- #define uchar unsigned char
- #define uint unsigned int
- uchar a ,b ,time; //聲明變量
- sbit wei1=P0^0; //關(guān)鍵字
- sbit wei2=P0^1;
- sbit key0= P0^2;
- sbit key1= P0^3;
- sbit key2= P0^4;
- bit dao=0; //定義位變量dao(倒計(jì)時(shí))=0
- uchar code table[]={0x40,0x4f,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x18}; //段碼表
- void Delay5ms() //@12MHz
- {
- unsigned char i, j;
- i =9;
- j = 255;
- do //循環(huán)指令
- {
- while (--j);
- }
- while (--i); //循環(huán)
- Delay5ms(); //延時(shí)
- }
- main()
- {
- TMOD=0X01; //工作方式1
- TH0=(65535-50000)/256; //賦予初值
- TL0=(65535-50000)%256;
- EA=1; //允許中斷
- ET0=1; //允許外部中斷1
- while(1)
- {
- if(key0==0) //啟動(dòng)
- {
- Delay5ms(); //延時(shí)消抖
- if(key0==0)
- {
- while(!key0); //暫停/繼續(xù)
- TR0=~TR0; //TR0取反
- }
- }
- YUI(key2==0)
- {
- if(key2==0) //復(fù)位
- {
- while(!key2);
- time=0;
- TR0=0; //停止T0計(jì)數(shù)
- }
- }
- wei1=0;
- P2=table[a]; //P2接口接到table[a]
- wei2=0;
- P3=table[b];
- if(key1==0)
- {
- Delay5ms();
- if(key1==0)
- {
- while(!key1);
- dao=~dao ; //取反,反向計(jì)時(shí)
- Delay5ms();
- }
- }
- a=time/10; //手動(dòng)賦初值
- b=time%10;
- }
- }
- void TIME0()interrupt 1 //定時(shí)器0中斷
- {
- uchar i;
- TH0=(65535-50000)/256; //初值高8位
- TL0=(65535-50000)%256; //初值低8位
- i++;
- if(i>20)
- {if(dao==0) //若倒計(jì)時(shí)為0
- time++; //計(jì)時(shí)正向(加)
- else
- if(time==0) //若時(shí)間為0
- { //正向倒向均為0
- time=0;
- TR0=0;
- dao=0;
- }
- else
- time--; //計(jì)時(shí)反向(減)
- if(time>=59)
- {
- time=59; //計(jì)數(shù)到59
- dao=1;
- TR0=0;
- }
- a=time/10; //賦予初值
- b=time%10;
- i=0;
- }
- }
復(fù)制代碼
全部資料51hei下載地址(仿真工程+源碼):
李士超單片機(jī)課設(shè).zip
(364.71 KB, 下載次數(shù): 105)
2018-12-14 09:29 上傳
點(diǎn)擊文件名下載附件
1 下載積分: 黑幣 -5
|