系列單片機最小系統(tǒng)實驗指導(dǎo)書_第1頁
系列單片機最小系統(tǒng)實驗指導(dǎo)書_第2頁
系列單片機最小系統(tǒng)實驗指導(dǎo)書_第3頁
系列單片機最小系統(tǒng)實驗指導(dǎo)書_第4頁
系列單片機最小系統(tǒng)實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、51系列單片機最小系統(tǒng)設(shè)計與調(diào)試實驗實驗指導(dǎo)書呂霞付、仇國慶 編寫重慶郵電大學(xué)自動化學(xué)院自動化專業(yè)實驗中心2009年2月51系列單片機最小系統(tǒng)設(shè)計與調(diào)試一、實驗?zāi)康?. 了解單片機的基本工作原理2. 學(xué)習(xí)并掌握相關(guān)軟件的使用方法(Protel、keil)2. 掌握單片機片內(nèi)程序存儲器下載方法3. 掌握單片機程序設(shè)計(匯編及C51)二、原理1. 什么是單片機最小系統(tǒng) 單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng). 對51系列單片機來說,單片機+晶振電路+復(fù)位電路,便組成了一個最小系統(tǒng).但是一般我們在設(shè)計中總是喜歡把按鍵輸入、顯示輸出等加到上述電路中,成為小系統(tǒng)

2、。 2. AT89C51高性能8位單片機功能AT89C51提供以下標(biāo)準(zhǔn)功能:8K字節(jié)Falsh閃速存儲器,256字節(jié)內(nèi)部RAM,32個I/O口線,3個16位定時/計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時AT89C51可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,時/計數(shù)器,串行通信口及中斷系統(tǒng)持續(xù)工作。掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。主要功能特性: 兼容MCS51指令系統(tǒng)     

3、60;           4k可反復(fù)擦寫(>1000次)Flash ROM  32個雙向I/O口 8個中斷源  三個16位可編程定時/計數(shù)器 2.7-6.V的寬工作電壓范圍  時鐘頻率0-24MHz128x8bit內(nèi)部RAM  五個外部中斷源 兩個串行中斷  可直接驅(qū)動LED 兩級加密位  低功耗睡眠功能

4、60;內(nèi)置一個模擬比較放大器  可編程UARL通道 軟件設(shè)置睡眠和喚醒功能3. AT89C51高性能8位單片機資料請參考相關(guān)書籍三、實訓(xùn)任務(wù). (1)認(rèn)識MCS-51的ROM及片外RAM空間:認(rèn)識51系列單片機的程序存儲器(ROM)的空間范圍;匯編指令編碼在ROM中存儲形式;掌握指令編碼和指令編碼所在地址的概念;了解51系列單片機的程序存儲器(ROM)固定地址的用途。認(rèn)識51系列單片機的片外數(shù)據(jù)存儲器(片外RAM)的地址空間范圍;了解51系列單片機的片外數(shù)據(jù)存儲器的用途;重點掌握片內(nèi)片外訪問存儲器的指令。(2)認(rèn)識MCS-51片內(nèi)RAM空間:認(rèn)識51系列單片機片內(nèi)

5、隨機存儲器(片內(nèi)RAM)的空間范圍;認(rèn)識51系列單片機片內(nèi)隨機存儲器的區(qū)域劃分;掌握字節(jié)地址和位地址的概念;了解R0R7寄存器與字節(jié)地址的關(guān)系。重點掌握MCS-51系列單片機四個口的用法的位操作。(3)MCS-51匯編語言設(shè)計(編碼轉(zhuǎn)換):用MCS-51匯編指令進(jìn)行程序設(shè)計。將四位BCD碼化為十六位二進(jìn)制數(shù)。(或 將四位十六進(jìn)制數(shù)轉(zhuǎn)化為BCD碼)。要求:在PC機上調(diào)試,程序可正確運行并上交源程序清單及程序說明。(4)鍵盤輸入電路設(shè)計/動態(tài)顯示電路設(shè)計:在實訓(xùn)過程中要求設(shè)計按鍵輸入電路、設(shè)計顯示電路,并畫出電路圖并編寫按鍵輸入子程序。重點掌握硬件電路的設(shè)計及通過編程對電路的控制。(5)單片機最小

6、系統(tǒng)設(shè)計:單片機最小系統(tǒng)的設(shè)計是單片機應(yīng)用系統(tǒng)設(shè)計及開發(fā)的基礎(chǔ),通過單片機最小系統(tǒng)設(shè)計,使學(xué)生對所學(xué)的單片機原理及應(yīng)用課程有更深的理解。要求:提供電路圖和程序清單。重點掌握硬件電路的設(shè)計及過程控制。(6)基于單片機的應(yīng)用系統(tǒng)設(shè)計:設(shè)計出實現(xiàn)某控制目的的應(yīng)用系統(tǒng)是本實訓(xùn)課的最終實訓(xùn)的結(jié)果。實訓(xùn)要求中包括單片機最小系統(tǒng)的設(shè)計,按鍵輸入電路設(shè)計,顯示電路的設(shè)計,及應(yīng)用系統(tǒng)的軟件編程。附件1: 51系列單片機最小系統(tǒng)設(shè)計一、單片機最小系統(tǒng)硬件設(shè)計單片機主要擅長系統(tǒng)控制,而不適合做復(fù)雜的數(shù)據(jù)處理,在設(shè)計單片機最小系統(tǒng)時通常選用AT89C5l、AT89C52、AT89S51、AT89S52(S系列芯片支持

7、ISP功能)等型號的8位DIP-40封裝的單片機作為MCU,一個典型的單片機最小系統(tǒng)一般由時鐘電路、復(fù)位電路、鍵盤電路、顯示電路等部分組成,有時也外擴有片外RAM和ROM以及外部擴展接口等電路。圖1為單片機最小系統(tǒng)結(jié)構(gòu)框圖。圖1 單片機最小系統(tǒng)結(jié)構(gòu)框圖1、系統(tǒng)時鐘電路單片機內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,系統(tǒng)時鐘電路結(jié)構(gòu)如圖2所示,可以根據(jù)情況選擇6MHz、8MHz或12MHz等頻率的石英晶體,補償電容通常選擇20-30pF左右的瓷片電容。圖2 系統(tǒng)時鐘電路2、復(fù)位電路單片機小系統(tǒng)采用上電自動復(fù)位和手動按鍵

8、復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機運行期間,用按鈕開關(guān)操作使單片機復(fù)位。復(fù)位電路結(jié)構(gòu)如圖3所示。上電自動復(fù)位通過電容C3充電來實現(xiàn)。手動按鍵復(fù)位是通過按鍵將電阻R2與VCC接通來實現(xiàn)。圖3 復(fù)位電路3、鍵盤電路系統(tǒng)利用P1口的P1.0-P1.3設(shè)置了4個獨立按鍵S2S5,如圖4所示,當(dāng)鍵按下時,P1口相應(yīng)的引腳置為低電平,且與此鍵相連的發(fā)光二極管點亮。此外,通過8279鍵盤顯示控制芯片還可以擴展編碼鍵盤和顯示,圖5為利用8279擴展的一個2×8=16鍵編碼鍵盤及 8個LED的電路。圖4 獨立按鍵圖5 擴展

9、鍵盤和顯示4、顯示電路系統(tǒng)設(shè)置了8個共陽極LED數(shù)碼管LED1-LED2,單片機P0口提供段碼信號,低電平有效,P0口輸出端通過限流電阻R00R07與數(shù)碼管的段碼數(shù)據(jù)線相連,用來送出LED數(shù)碼管的段碼數(shù)據(jù)信號。單片機P2口提供位選信號,當(dāng)P2口某位輸出低電平時,與此相連的開關(guān)三極管導(dǎo)通,對應(yīng)的數(shù)碼管點亮,使用三極管用來增強信號的驅(qū)動能力,如圖6。此外,為了擴展LCD顯示,系統(tǒng)設(shè)置了兩個LCD 接口,如圖7,一個用于40點矩陣LCD顯示,一個用于128×64點陣式LCD 顯示。圖6 LED顯示電路圖7 LCD擴展接口5、其它系統(tǒng)還擴展了一片2K位串行CMOS E2PROM24C02,P

10、3.3和P3.4分別作為24C02 串行數(shù)據(jù)傳輸?shù)臅r鐘和數(shù)據(jù)線,由于只有一個24C02,其三個地址輸入腳A0 、A1 、A2接地,如圖8。此外,系統(tǒng)還設(shè)置了一個蜂鳴器電路,如圖9 ,通過P3.7輸出音頻信號,可使蜂鳴器發(fā)聲。由于,本最小系統(tǒng)沒有外擴其他存儲器和I/O,因此,沒有用到地址譯碼和鎖存。圖8 擴展E2PROM 圖9 蜂鳴器電路單片機最小系統(tǒng)主要器件如表1所示:表1單片機最小系統(tǒng)主要器件標(biāo)號型號、規(guī)格封裝功能說明U189C51DIP40CPU主器件U224C02DIP82K E2PROMLED1,LED27SEG-44位8段共陽極數(shù)碼管Q1 Q99012TO-92A三極管D1 D123

11、MMDIODE0.4發(fā)光二極管Y12MHz石英晶振單片機時鐘晶振 主要應(yīng)用接口如表2所示:表2單片機最小系統(tǒng)主要接口標(biāo)號功能說明連接目標(biāo)J1輸入電源插座主電源J240點矩陣LCD接口40點矩陣液晶顯示模塊J2128×64點陣式LCD接口128×64點陣液晶顯示模塊Jp1P0口引出接口單片機P0口Jp2P1口引出接口單片機P1口Jp3P2口引出接口單片機P2口Jp4P3口引出接口單片機P3口單片機最小系統(tǒng)電原理圖二、單片機最小系統(tǒng)測試程序設(shè)計編寫測試程序,一是可對最小系統(tǒng)各資源進(jìn)行測試,二是為用戶提供了使用LED顯示及訪問鍵盤等各種資源的子程序。1. 鍵盤掃描及數(shù)碼管顯示的匯

12、編語言程序鍵盤掃描及數(shù)碼管顯示的匯編語言程序如下:;* *;鍵盤及數(shù)碼管顯示程序,功能為按下一鍵,則對應(yīng)鍵的數(shù)碼管亮并顯示該鍵代表的數(shù)字;*org 0000h ajmp mainorg 0100hmain:mov sp,#30hmov r3,#0mov r4,#0kon:lcall ks1 ;調(diào)用讀鍵盤程序cjne a,#0ffh,show1 ;有鍵按下lcall dir ;調(diào)用顯示子程序ajmp konshow1:lcall dir ;去抖動lcall dirlcall ks1 cjne a,#0ffh,show2 ;鍵有效ajmp konshow2:cjne a,#0feh,l1 ;以下為

13、判別鍵值程序mov r4,#0 ;第一個鍵賦其代碼0ajmp lkpl1:cjne a,#0fdh,l2mov r4,#1ajmp lkpl2:cjne a,#0fbh,l3mov r4,#2ajmp lkpl3:cjne a,#0f7h,l4mov r4,#3ajmp lkplkp:lcall dirljmp kon ;返回dir: mov dptr,#table ;顯示子程序mov a,r4movc a,a+dptr ;取7段碼mov r3,amov a,r4led1:cjne a,#0,led2 ;根據(jù)鍵值選擇數(shù)碼管1mov dptr,#8000hajmp ssled2:cjne a,#

14、1,led3;根據(jù)鍵值選擇數(shù)碼管2mov dptr,#9000hajmp ssled3:cjne a,#2,led4;根據(jù)鍵值選擇數(shù)碼管3mov dptr,#0a000hajmp ssled4: cjne a,#3,led5 ;根據(jù)鍵值選擇數(shù)碼管4mov dptr,#0b000hajmp ssss: mov a,r3movx dptr,alcall delayretks1:clr p1.7mov dptr,#0e000h ;鍵盤地址movx a,dptrretdelay: mov r6,#10 ;延時子程序lpp: mov r7,#100djnz r7,$djnz r6,lpprettable

15、: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hdb 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0f7hend2. 鍵盤掃描及數(shù)碼管顯示的C語言程序鍵盤掃描及數(shù)碼管顯示的C語言程序如下:/*/*鍵盤及數(shù)碼管程序,每一鍵代表一個數(shù)字,在其數(shù)字代表的數(shù)碼管中顯示*/#include <absacc.h>#include <reg51.h>#define uchar unsigned char#define uint unsigned int#define LED1 XBYTE 0x8000 /*定義各數(shù)碼

16、管地址*/#define LED2 XBYTE 0x9000#define LED3 XBYTE 0xA000#define LED4 XBYTE 0xB000#define KEY XBYTE 0xE000/*定義鍵盤地址*/void delay(uint v) /*延時函數(shù)*/while(v!=0)v-;uchar keynum=0;sbit P1_7=P17; /*掃描端口*/*數(shù)字段碼表*/uchar code segtab18=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e

17、,0xff,0xf7;void dir(uchar); /*聲明顯示函數(shù)*/void readkey(void) /*讀鍵盤函數(shù)*/ uchar M_key=0; uchar i; P1_7=0; M_key=KEY; /*取鍵盤數(shù)據(jù)*/ if(M_key!=0xff)for(i=0;i<20;i+) /*去抖動*/dir(keynum);M_key=KEY;if(M_key!=0xff) /*讀鍵*/ switch(M_key) case 0xfe: /*第1個鍵按下*/ keynum=0; break; case 0xfd: /*第2個鍵按下*/ keynum=1; break; case 0xfb: /*第3個鍵按下*/ keynum=2; break; case 0xf7: /*第4個鍵按下*/ keynum=3; break;

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論