版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)基于at89s51單片機(jī)的手動計(jì)數(shù)器設(shè)計(jì)報(bào)告 目 錄一、手動計(jì)數(shù)器課程設(shè)計(jì)功能描述21.1 單片機(jī)概述21.2 芯片簡介2二、硬件分析設(shè)計(jì)及硬件連線圖52.1 硬件分析設(shè)計(jì)52.2 硬件連線圖6三、程序設(shè)計(jì)內(nèi)容及框圖63.1 程序設(shè)計(jì)內(nèi)容63.2 程序框圖7四、程序源代碼清單7五、上機(jī)調(diào)試運(yùn)行結(jié)果及分析9六、課程設(shè)計(jì)的經(jīng)驗(yàn)教訓(xùn)總結(jié)9 參考文獻(xiàn)10一、手動計(jì)數(shù)器課程設(shè)計(jì)功能描述1.1 單片機(jī)概述 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部
2、包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲器和i/o接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。 單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的cpu功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。1.2 msc-51芯片簡介1.2.1 mcs-51單片機(jī)內(nèi)部結(jié)構(gòu) 8051是mcs-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型作為課程設(shè)計(jì)的實(shí)驗(yàn)板。 8051單片機(jī)包含中央處理器、程序存儲器(rom)、數(shù)據(jù)存儲器(ram)、定時(shí)/計(jì)數(shù)器、并行
3、接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:·中央處理器: 中央處理器(cpu)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,cpu負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。·數(shù)據(jù)存儲器(ram) 8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的ram只有128個(gè),可存放讀
4、寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。·程序存儲器(rom):8051共有4096個(gè)8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。·定時(shí)/計(jì)數(shù)器(rom):8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。·并行輸入輸出(i/o)口:8051共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數(shù)據(jù)的傳輸。·全雙工串行口:8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。·中斷系統(tǒng):8051具備較完善的中斷功能,有兩個(gè)外中
5、斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。·時(shí)鐘電路:8051內(nèi)置最高頻率達(dá)12mhz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結(jié)構(gòu),即普林斯頓(princeton)結(jié)構(gòu)。intel的mcs-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的mcs-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是mcs-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖。 1.2.2
6、mcs-51的引腳說明: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)在我們對這些引腳的功能加以說明:mcs-51的引腳說明: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)在我們對這些引腳的功能加以說明:·pin9:res
7、et/vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開始工作,在reset引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指針寫入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開始執(zhí)行程序。然而,初始復(fù)位不改變r(jià)am(包括工作寄存器r0-r7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖。此外,reset/vpd還是一復(fù)用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部ram的數(shù)據(jù)不丟失。·pin30:ale/當(dāng)訪
8、問外部程序器時(shí),ale(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時(shí),ale端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號,這個(gè)信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問外部程序存儲器,ale會跳過一個(gè)脈沖。如果單片機(jī)是eprom,在編程其間,將用于輸入編程脈沖。·pin29:當(dāng)訪問外部程序存儲器時(shí),此腳輸出負(fù)脈沖選通信號,pc的16位地址數(shù)據(jù)將出現(xiàn)在p0和p2口上,外部程序存儲器則把指令數(shù)據(jù)放到p0口上,由cpu讀入并執(zhí)行。·pin31:ea/vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kb的程序存儲器,
9、當(dāng)ea為高電平并且程序地址小于4kb時(shí),讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kb地址則讀取外部指令數(shù)據(jù)。如ea為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,ea端必須接地。在編程時(shí),ea/vpp腳還需加上21v的編程電壓。二、課程設(shè)計(jì)分析設(shè)計(jì)及硬件接線圖2.1 分析設(shè)計(jì)利用at89s51單片機(jī)來制作一個(gè)手動計(jì)數(shù)器,在at89s51單片機(jī)的p3.7管腳接一個(gè)輕觸開關(guān),作為手動計(jì)數(shù)的按鈕;用單片機(jī)的p0.0p0.7接一個(gè)共陽數(shù)碼管,作為0099計(jì)數(shù)的個(gè)位數(shù)顯示;用單片機(jī)的p1.0p1.7接一個(gè)共陽數(shù)碼管,作為0099計(jì)數(shù)的十位數(shù)顯示;p2.7口接一個(gè)發(fā)光
10、二極管作為計(jì)數(shù)按鈕顯示,p2.7口接一個(gè)發(fā)光二極管作為數(shù)據(jù)溢出標(biāo)志。硬件電路圖如下圖所示。2.2 硬件接線圖三、程序設(shè)計(jì)內(nèi)容及框圖3.1程序設(shè)計(jì)內(nèi)容 (1)單片機(jī)對按鍵的識別的過程處理 (2)單片機(jī)對正確識別的按鍵進(jìn)行計(jì)數(shù),同時(shí)p2.7口驅(qū)動發(fā)光二極管進(jìn)行閃爍顯示,計(jì)數(shù)滿時(shí),p2.0口驅(qū)動發(fā)光二極管顯示溢出,又從零開始計(jì)數(shù); (3)單片機(jī)對計(jì)的數(shù)值要進(jìn)行數(shù)碼顯示,計(jì)得的數(shù)是十進(jìn)數(shù),含有十位和個(gè)位,我們要把十位和個(gè)位拆開分別送出這樣的十位和個(gè)位數(shù)值到對應(yīng)的數(shù)碼管上顯示。如何拆開十位和個(gè)位我們可以把所計(jì)得的數(shù)值對10求余,即可個(gè)位數(shù)字,對10整除,即可得到十位數(shù)字了。 (4
11、)通過查表方式,分別顯示出個(gè)位和十位數(shù)字。 3.2程序框圖 四、程序源代碼清單#include <at89x51.h> unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90; /共陽極數(shù)碼管顯示代碼unsigned char count; unsigned int z;void delay(int z) /延時(shí)程序 unsigned char i,j; for(i=z;i>0;i-) for(j=496;j>0;j-); void main(void) count=0; /
12、初始狀態(tài)數(shù)碼管顯示00 p1=tablecount/10; p0=tablecount%10; while(1) if(p3_7=0) /讀取p3.7口按鈕狀態(tài) delay(10); /調(diào)用延時(shí),防抖動 if(p3_7=0) /確定按鈕按下 p2_7=0; /p2.7口發(fā)光二極管閃爍 delay(20); p2_7=1; count+; /計(jì)數(shù)累加 if(count=100) /檢查溢出 p2_0=0; /p2.0口二極管閃爍delay(2000);p2_0=1; count=0; /計(jì)數(shù)歸零 p1=tablecount/10; /數(shù)碼管顯示十位數(shù)字 p0=tablecount%10; /數(shù)碼
13、管顯示個(gè)位數(shù)字 while(p3_7=0); 五、上機(jī)調(diào)試運(yùn)行結(jié)果及分析 最初開始調(diào)試時(shí),發(fā)現(xiàn)數(shù)碼管個(gè)位數(shù)字與十位數(shù)字顛倒,經(jīng)分析發(fā)現(xiàn)將p1口和p0口的輸出顛倒了;改正后,再次調(diào)試,功能演示正常,但個(gè)人感覺計(jì)數(shù)按鈕顯示二極管和溢出顯示二極管閃爍過于短暫,經(jīng)反復(fù)修改延時(shí)時(shí)間,終于得到較滿意的顯示效果。六、課程設(shè)計(jì)的經(jīng)驗(yàn)教訓(xùn)總結(jié)通過這次課程設(shè)計(jì),加強(qiáng)了我的分析、思考、解決問題的能力。同時(shí)在課程設(shè)計(jì)的過程中,通過對實(shí)驗(yàn)板的觀察和軟件程序的不斷改進(jìn),深刻體會到了單片機(jī)的工作原理和程序開發(fā)的步驟過程。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),完成課程設(shè)計(jì)的基礎(chǔ)上,我還嘗試了其他的實(shí)驗(yàn)項(xiàng)目,如交通燈設(shè)計(jì)和報(bào)警器設(shè)計(jì)等。越學(xué)習(xí)越發(fā)現(xiàn)單片機(jī)的無窮魅力,這種興趣比上理論課時(shí)強(qiáng)烈得多。但是,由于課設(shè)時(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國猴車行業(yè)發(fā)展趨勢及競爭策略分析報(bào)告
- 2024-2030年中國照相器材行業(yè)競爭力策略及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2024-2030年中國淋浴屏行業(yè)銷售模式及未來發(fā)展規(guī)劃分析報(bào)告
- 2024-2030年中國液化石油氣罐車產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報(bào)告
- 2024-2030年中國液化氣瓶除銹機(jī)產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報(bào)告
- 2024-2030年中國海藻糖行業(yè)市場調(diào)查分析及投資價(jià)值研究報(bào)告
- 2024-2030年中國汽車齒輪行業(yè)發(fā)展?fàn)顩r投資潛力研究報(bào)告
- 2024-2030年中國汽車翻新行業(yè)市場運(yùn)營模式及未來發(fā)展動向預(yù)測報(bào)告
- 2024年淡水養(yǎng)殖產(chǎn)品種苗項(xiàng)目提案報(bào)告
- 2024-2030年中國氯化鐵生產(chǎn)行業(yè)市場十三五需求預(yù)測及投資可行性分析報(bào)告
- ISO9001:2015內(nèi)部質(zhì)量審核控制程序
- 柔性生產(chǎn)線設(shè)計(jì)
- 物業(yè)項(xiàng)目交接計(jì)劃方案
- T-HNKCSJ 002-2023 河南省地源熱泵系統(tǒng)工程技術(shù)規(guī)范
- XX公司安全生產(chǎn)風(fēng)險(xiǎn)管控與隱患排查雙重預(yù)防管理體系手冊
- 解讀《公司法》課件
- 酒店住宿水單模板-皇冠假日
- 人教版語文必修1:雨巷-共44張課件
- 一片葉子落下來課件
- 4.3 積極踐行社會主義核心價(jià)值觀
- 2023年初級出版資格證考試:初級出版理論與實(shí)務(wù)歷年真題匯編(共476題)
評論
0/150
提交評論