版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)</p><p> 基于AT89S51單片機(jī)的手動(dòng)計(jì)數(shù)器</p><p><b> 設(shè)計(jì)報(bào)告</b></p><p><b> 目 錄</b></p><p> 一、手動(dòng)計(jì)數(shù)器課程設(shè)計(jì)功能描述………………………………2</p>
2、;<p> 單片機(jī)概述………………………………………………………………2</p><p> 芯片簡(jiǎn)介…………………………………………………………………2</p><p> 二、硬件分析設(shè)計(jì)及硬件連線圖…………………………………5</p><p> 2.1 硬件分析設(shè)計(jì)……………………………………………………………5</p><
3、;p> 2.2 硬件連線圖………………………………………………………………6</p><p> 三、程序設(shè)計(jì)內(nèi)容及框圖…………………………………………6</p><p> 3.1 程序設(shè)計(jì)內(nèi)容……………………………………………………………6</p><p> 3.2 程序框圖…………………………………………………………………7</p>&
4、lt;p> 四、程序源代碼清單………………………………………………7</p><p> 五、上機(jī)調(diào)試運(yùn)行結(jié)果及分析……………………………………9</p><p> 六、課程設(shè)計(jì)的經(jīng)驗(yàn)教訓(xùn)總結(jié)……………………………………9</p><p> 參考文獻(xiàn)…………………………………………………………10</p><p> 一、手動(dòng)計(jì)數(shù)
5、器課程設(shè)計(jì)功能描述</p><p><b> 1.1 單片機(jī)概述</b></p><p> 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。</p><p> 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接
6、口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。</p><p> 單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。</p><p> 1.2 MSC-51芯片簡(jiǎn)介</p><p> 1.2.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)
7、</p><p> 8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型作為課程設(shè)計(jì)的實(shí)驗(yàn)板。 8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明:</p><p><b> ·
8、中央處理器:</b></p><p> 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p> ·數(shù)據(jù)存儲(chǔ)器(RAM)</p><p> 8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄
9、存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。</p><p> ·程序存儲(chǔ)器(ROM):</p><p> 8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> &
10、#183;定時(shí)/計(jì)數(shù)器(ROM):</p><p> 8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> ·并行輸入輸出(I/O)口:</p><p> 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。</p><p><b> &
11、#183;全雙工串行口:</b></p><p> 8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> ·中斷系統(tǒng):</b></p><p> 8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行
12、中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p><p><b> ·時(shí)鐘電路:</b></p><p> 8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。</p><p> 單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Har
13、vard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。</p><p> 下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。</p><p> 1.2.2 MCS-51的引腳說(shuō)明:</p>
14、<p> MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:</p><p> MCS-51的引腳說(shuō)明:</p><p> MCS-51系列單片機(jī)中的8031、80
15、51及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:</p><p> ·Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開(kāi)始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)
16、數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開(kāi)始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。</p><p> 8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片
17、機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p> ·Pin30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。</p><p> 如果單片機(jī)是EPROM,在編程其
18、間,將用于輸入編程脈沖。</p><p> ·Pin29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p> ·Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4k
19、B時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。</p><p> 在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。</p><p> 二、課程設(shè)計(jì)分析設(shè)計(jì)及硬件接線圖</p><p><b> 2.1 分析設(shè)計(jì)&l
20、t;/b></p><p> 利用AT89S51單片機(jī)來(lái)制作一個(gè)手動(dòng)計(jì)數(shù)器,在AT89S51單片機(jī)的P3.7管腳接一個(gè)輕觸開(kāi)關(guān),作為手動(dòng)計(jì)數(shù)的按鈕;用單片機(jī)的P0.0-P0.7接一個(gè)共陽(yáng)數(shù)碼管,作為00-99計(jì)數(shù)的個(gè)位數(shù)顯示;用單片機(jī)的P1.0-P1.7接一個(gè)共陽(yáng)數(shù)碼管,作為00-99計(jì)數(shù)的十位數(shù)顯示;P2.7口接一個(gè)發(fā)光二極管作為計(jì)數(shù)按鈕顯示,P2.7口接一個(gè)發(fā)光二極管作為數(shù)據(jù)溢出標(biāo)志。硬件電路圖如下圖
21、所示。</p><p><b> 2.2 硬件接線圖</b></p><p> 三、程序設(shè)計(jì)內(nèi)容及框圖</p><p> 3.1程序設(shè)計(jì)內(nèi)容 </p><p> (1).單片機(jī)對(duì)按鍵的識(shí)別的過(guò)程處理 </p><p> (2).單片機(jī)對(duì)正確識(shí)別的按鍵進(jìn)行計(jì)數(shù),同時(shí)P2.7口驅(qū)動(dòng)發(fā)光二極管
22、進(jìn)行閃爍顯示,計(jì)數(shù)滿時(shí),P2.0口驅(qū)動(dòng)發(fā)光二極管顯示溢出,又從零開(kāi)始計(jì)數(shù); </p><p> (3).單片機(jī)對(duì)計(jì)的數(shù)值要進(jìn)行數(shù)碼顯示,計(jì)得的數(shù)是十進(jìn)數(shù),含有十位和個(gè)位,我們要把十位和個(gè)位拆開(kāi)分別送出這樣的十位和個(gè)位數(shù)值到對(duì)應(yīng)的數(shù)碼管上顯示。如何拆開(kāi)十位和個(gè)位我們可以把所計(jì)得的數(shù)值對(duì)10求余,即可個(gè)位數(shù)字,對(duì)10整除,即可得到十位數(shù)字了。 </p><p> (
23、4).通過(guò)查表方式,分別顯示出個(gè)位和十位數(shù)字。 </p><p><b> 3.2程序框圖 </b></p><p><b> 四、程序源代碼清單</b></p><p> #include <AT89X51.H> </p><p> unsigned char code tab
24、le[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90}; //共陽(yáng)極數(shù)碼管顯示代碼</p><p> unsigned char Count; </p><p> unsigned int z;</p><p> void delay(int z)
25、 //延時(shí)程序</p><p><b> { </b></p><p> unsigned char i,j; </p><p> for(i=z;i>0;i--) </p><p> for(j=496;j>0;j--); </p><p><b> } <
26、/b></p><p> void main(void) </p><p><b> { </b></p><p> Count=0; //初始狀態(tài)數(shù)碼管顯示00</p><p> P1=table[Count/10]; </p><p> P0
27、=table[Count%10]; </p><p><b> while(1) </b></p><p><b> { </b></p><p> if(P3_7==0) //讀取P3.7口按鈕狀態(tài)</p><p><b> { </b><
28、;/p><p> delay(10); //調(diào)用延時(shí),防抖動(dòng)</p><p> if(P3_7==0) //確定按鈕按下</p><p><b> { </b></p><p> P2_7=0; //P2.7口發(fā)光二極管閃爍</p><p&
29、gt; delay(20);</p><p><b> P2_7=1;</b></p><p> Count++; //計(jì)數(shù)累加</p><p> if(Count==100) //檢查溢出</p><p><b> { </b></p><p>
30、 P2_0=0; //P2.0口二極管閃爍</p><p> delay(2000);</p><p><b> P2_0=1;</b></p><p> Count=0; //計(jì)數(shù)歸零</p><p><b> } </b></p>
31、<p> P1=table[Count/10]; //數(shù)碼管顯示十位數(shù)字</p><p> P0=table[Count%10]; //數(shù)碼管顯示個(gè)位數(shù)字</p><p> while(P3_7==0); </p><p><b> } </b></p><p><b> } <
32、/b></p><p><b> } </b></p><p><b> }</b></p><p> 五、上機(jī)調(diào)試運(yùn)行結(jié)果及分析</p><p> 最初開(kāi)始調(diào)試時(shí),發(fā)現(xiàn)數(shù)碼管個(gè)位數(shù)字與十位數(shù)字顛倒,經(jīng)分析發(fā)現(xiàn)將P1口和P0口的輸出顛倒了;改正后,再次調(diào)試,功能演示正常,但個(gè)人感覺(jué)計(jì)數(shù)
33、按鈕顯示二極管和溢出顯示二極管閃爍過(guò)于短暫,經(jīng)反復(fù)修改延時(shí)時(shí)間,終于得到較滿意的顯示效果。</p><p> 六、課程設(shè)計(jì)的經(jīng)驗(yàn)教訓(xùn)總結(jié)</p><p> 通過(guò)這次課程設(shè)計(jì),加強(qiáng)了我的分析、思考、解決問(wèn)題的能力。同時(shí)在課程設(shè)計(jì)的過(guò)程中,通過(guò)對(duì)實(shí)驗(yàn)板的觀察和軟件程序的不斷改進(jìn),深刻體會(huì)到了單片機(jī)的工作原理和程序開(kāi)發(fā)的步驟過(guò)程。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),完成課程設(shè)計(jì)的基礎(chǔ)上,我還嘗試了其他
34、的實(shí)驗(yàn)項(xiàng)目,如交通燈設(shè)計(jì)和報(bào)警器設(shè)計(jì)等。越學(xué)習(xí)越發(fā)現(xiàn)單片機(jī)的無(wú)窮魅力,這種興趣比上理論課時(shí)強(qiáng)烈得多。但是,由于課設(shè)時(shí)間比較短暫,沒(méi)有能夠嘗試更多的功能,頗為遺憾。同時(shí),本次課設(shè),本想加入溢出聲音報(bào)警,但實(shí)驗(yàn)室沒(méi)有接線,無(wú)法連接蜂鳴器,也是一個(gè)遺憾。希望學(xué)校重視學(xué)生實(shí)驗(yàn)室,給予實(shí)驗(yàn)室應(yīng)有的硬件設(shè)備,讓學(xué)生更多的嘗試實(shí)踐體驗(yàn)學(xué)科的實(shí)用性。最后感謝指導(dǎo)老師的無(wú)私幫助!</p><p><b> 參考文獻(xiàn)&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)---倒數(shù)計(jì)數(shù)器
- 單片機(jī)計(jì)數(shù)器課程設(shè)計(jì)報(bào)告
- 倒數(shù)計(jì)數(shù)器單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-00-99手動(dòng)計(jì)數(shù)器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)----語(yǔ)言報(bào)數(shù)計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)(語(yǔ)言報(bào)數(shù)計(jì)數(shù)器)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易頻率計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)外部脈沖計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)報(bào)告(零件計(jì)數(shù)器)
- 基于單片機(jī)的頻率計(jì)數(shù)器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)00-99加計(jì)數(shù)器
- 單片機(jī)課程設(shè)計(jì)---基于51單計(jì)時(shí)計(jì)數(shù)器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于51單計(jì)時(shí)計(jì)數(shù)器系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--00-99加計(jì)數(shù)器程序設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)帶有l(wèi)cd顯示的音樂(lè)倒數(shù)計(jì)數(shù)器
- 基于單片機(jī)lcd顯示的音樂(lè)倒數(shù)計(jì)數(shù)器課程設(shè)計(jì)論文
- 傳感器課程設(shè)計(jì)---基于單片機(jī)的工業(yè)產(chǎn)品自動(dòng)計(jì)數(shù)器
- 單片機(jī)計(jì)數(shù)器實(shí)驗(yàn)報(bào)告
- 《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)---可編程定時(shí)計(jì)數(shù)器
- 基于單片機(jī)的紅外自動(dòng)計(jì)數(shù)器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論