

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
6/6單片機(jī)最小系統(tǒng)實(shí)驗(yàn)_指導(dǎo)書單片機(jī)最小系統(tǒng)設(shè)計(jì)與調(diào)試實(shí)驗(yàn)
實(shí)驗(yàn)指導(dǎo)書
單片機(jī)最小系統(tǒng)設(shè)計(jì)與調(diào)試
一、實(shí)驗(yàn)?zāi)康?/p>
1.了解單片機(jī)的基本工作原理
2.學(xué)習(xí)并掌握相關(guān)軟件的使用方法(Protel、keil)
2.掌握單片機(jī)片內(nèi)程序存儲器下載方法
3.掌握單片機(jī)程序設(shè)計(jì)(匯編及C51)
二、原理
1.什么是單片機(jī)最小系統(tǒng)
單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng).
對單片機(jī)來說,單片機(jī)+晶振電路+復(fù)位電路,便組成了一個最小系統(tǒng).但是一般我們在設(shè)計(jì)中總是喜歡把按鍵輸入、顯示輸出等加到上述電路中,成為小系統(tǒng)。
2.AT89C51高性能8位單片機(jī)功能
AT89C51提供以下標(biāo)準(zhǔn)功能:8K字節(jié)Falsh閃速存儲器,256字節(jié)內(nèi)部RAM,32個I/O口線,3個16位定時/計(jì)數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時AT89C51可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,時/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)持續(xù)工作。掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。
3.AT89C51高性能8位單片機(jī)資料
請參考相關(guān)書籍
三、實(shí)訓(xùn)任務(wù).
(1)認(rèn)識MCS-51的ROM及片外RAM空間:認(rèn)識單片機(jī)的程序存儲器(ROM)的空間范圍;匯編指令編碼在ROM中存儲形式;掌握指令編碼和指令編碼所在地址的概念;了解單片機(jī)的程序存儲器(ROM)固定地址的用途。認(rèn)識單片機(jī)的片外數(shù)據(jù)存儲器(片外RAM)的地址空間范圍;了解單片機(jī)的片外數(shù)據(jù)存儲器的用途;重點(diǎn)掌握片內(nèi)片外訪問存儲器的指令。
(2)認(rèn)識MCS-51片內(nèi)RAM空間:認(rèn)識單片機(jī)片內(nèi)隨機(jī)存儲器(片內(nèi)RAM)的空間范圍;認(rèn)識單片機(jī)片內(nèi)隨機(jī)存儲器的區(qū)域劃分;掌握字節(jié)地址和位地址的概念;了解R0~R7寄存器與字節(jié)地址的關(guān)系。重點(diǎn)掌握MCS-單片機(jī)四個口的用法的位操作。
(3)MCS-51匯編語言設(shè)計(jì)(編碼轉(zhuǎn)換):用MCS-51匯編指令進(jìn)行程序設(shè)計(jì)。將四位BCD碼化為十六位二進(jìn)制數(shù)。(或?qū)⑺奈皇M(jìn)制數(shù)轉(zhuǎn)化為BCD碼)。要求:在PC機(jī)上調(diào)試,程序可正確運(yùn)行并上交源程序清單及程序說明。
(4)鍵盤輸入電路設(shè)計(jì)/動態(tài)顯示電路設(shè)計(jì):在實(shí)訓(xùn)過程中要求設(shè)計(jì)按鍵輸入電路、設(shè)計(jì)顯示電路,并畫出電路圖并編寫按鍵輸入子程序。重點(diǎn)掌握硬件電路的設(shè)計(jì)及通過編程對電路的控制。
(5)單片機(jī)最小系統(tǒng)設(shè)計(jì):單片機(jī)最小系統(tǒng)的設(shè)計(jì)是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及開發(fā)的基礎(chǔ),通過單片機(jī)最小系統(tǒng)設(shè)計(jì),使學(xué)生對所學(xué)的單片機(jī)原理及應(yīng)用課程有更深的理解。要求:提供電路圖和程序清單。重點(diǎn)掌握硬件電路的設(shè)計(jì)及過程控制。
(6)基于單片機(jī)的應(yīng)用系統(tǒng)設(shè)計(jì):設(shè)計(jì)出實(shí)現(xiàn)某控制目的的應(yīng)用系統(tǒng)是本實(shí)訓(xùn)課的最終實(shí)訓(xùn)的結(jié)果。實(shí)訓(xùn)要求中包括單片機(jī)最小系統(tǒng)的設(shè)計(jì),按鍵輸入電路設(shè)計(jì),顯示電路的設(shè)計(jì),及應(yīng)用系統(tǒng)的軟件編程。
附件1:
單片機(jī)最小系統(tǒng)設(shè)計(jì)
一、單片機(jī)最小系統(tǒng)硬件設(shè)計(jì)
單片機(jī)主要擅長系統(tǒng)控制,而不適合做復(fù)雜的數(shù)據(jù)處理,在設(shè)計(jì)單片機(jī)最小系統(tǒng)時通常選用AT89C5l、AT89C52、AT89S51、AT89S52(S系列芯片支持ISP功能)等型號的8位DIP-40封裝的單片機(jī)作為MCU,一個典型的單片機(jī)最小系統(tǒng)一般由時鐘電路、復(fù)位電路、鍵盤電路、顯示電路等部分組成,有時也外擴(kuò)有片外RAM和ROM以及外部擴(kuò)展接口等電路。圖1為單片機(jī)最小系統(tǒng)結(jié)構(gòu)框圖。
圖1單片機(jī)最小系統(tǒng)結(jié)構(gòu)框圖
1、系統(tǒng)時鐘電路
單片機(jī)內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個補(bǔ)償電容構(gòu)成自激振蕩器,系統(tǒng)時鐘電路結(jié)構(gòu)如圖2所示,可以根據(jù)情況選擇6MHz、8MHz或12MHz等頻率的石英晶體,補(bǔ)償電容通常選擇20-30pF左右的瓷片電容。
圖2系統(tǒng)時鐘電路
2、復(fù)位電路
單片機(jī)小系統(tǒng)采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實(shí)現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單
片機(jī)復(fù)位。復(fù)位電路結(jié)構(gòu)如圖3所示。上電自動復(fù)位通過電容C3充電來實(shí)現(xiàn)。手動按鍵復(fù)位是通過按鍵將電阻R2與VCC接通來實(shí)現(xiàn)。
圖3復(fù)位電路
3、鍵盤電路
系統(tǒng)利用P1口的P1.0-P1.3設(shè)置了4個獨(dú)立按鍵S2~S5,如圖4所示,當(dāng)鍵按下時,P1口相應(yīng)的引腳置為低電平,且與此鍵相連的發(fā)光二極管點(diǎn)亮。此外,通過8279鍵盤顯示控制芯片還可以擴(kuò)展編碼鍵盤和顯示,圖5為利用8279擴(kuò)展的一個2×8=16鍵編碼鍵盤及8個LED的電路。
圖4獨(dú)立按鍵
圖5擴(kuò)展鍵盤和顯示
4、顯示電路
系統(tǒng)設(shè)置了8個共陽極LED數(shù)碼管LED1-LED2,單片機(jī)P0口提供段碼信號,低電平有效,P0口輸出端通過限流電阻R00~R07與數(shù)碼管的段碼數(shù)據(jù)線相連,用來送出LED數(shù)碼管的段碼數(shù)據(jù)信號。單片機(jī)P2口提供位選信號,當(dāng)P2口某位輸出低電平時,與此相連的開關(guān)三極管導(dǎo)通,對應(yīng)的數(shù)碼管點(diǎn)亮,使用三極管用來增強(qiáng)信號的驅(qū)動能力,如圖6。
此外,為了擴(kuò)展LCD顯示,系統(tǒng)設(shè)置了兩個LCD接口,如圖7,一個用于40點(diǎn)矩陣LCD顯示,一個用于128×64點(diǎn)陣式LCD顯示。
圖6LED顯示電路
圖7LCD擴(kuò)展接口
5、其它
系統(tǒng)還擴(kuò)展了一片2K位串行CMOSE2PROM24C02,P3.3和P3.4分別作為24C02串行數(shù)據(jù)傳輸?shù)臅r鐘和數(shù)據(jù)線,由于只有一個24C02,其三個地址輸入腳A0、A1、A2接地,如圖8。
此外,系統(tǒng)還設(shè)置了一個蜂鳴器電路,如圖9,通過P3.7輸出音頻信號,可使蜂鳴器發(fā)聲。由于,本最小系統(tǒng)沒有外擴(kuò)其他存儲器和I/O,因此,沒有用到地址譯碼和鎖存。
圖8擴(kuò)展E2PROM圖9蜂鳴器電路單片機(jī)最小系統(tǒng)主要器件如表1所示:
表1單片機(jī)最小系統(tǒng)主要器件
主要應(yīng)用接口如表2所示:
表2單片機(jī)最小系統(tǒng)主要接口
單片機(jī)最小系統(tǒng)電原理圖
二、單片機(jī)最小系統(tǒng)測試程序設(shè)計(jì)
編寫測試程序,一是可對最小系統(tǒng)各資源進(jìn)行測試,二是為用戶提供了使用LED顯示及訪問鍵盤等各種資源的子程序。
1.鍵盤掃描及數(shù)碼管顯示的匯編語言程序
鍵盤掃描及數(shù)碼管顯示的匯編語言程序如下:
;***********************************************************
;鍵盤及數(shù)碼管顯示程序,功能為按下一鍵,則對應(yīng)鍵的數(shù)碼管亮并顯示該鍵代表的數(shù)字
;************************************************************
org0000h
ajmpmain
org0100h
main:movsp,#30h
movr3,#0
movr4,#0
kon:lcallks1;調(diào)用讀鍵盤程序
cjnea,#0ffh,show1;有鍵按下
lcalldir;調(diào)用顯示子程序
ajmpkon
show1:lcalldir;去抖動
lcalldir
lcallks1
cjnea,#0ffh,show2;鍵有效
ajmpkon
show2:cjnea,#0feh,l1;以下為判別鍵值程序movr4,#0;第一個鍵賦其代碼0
ajmplkp
l1:cjnea,#0fdh,l2
movr4,#1
ajmplkp
l2:cjnea,#0fbh,l3
movr4,#2
ajmplkp
l3:cjnea,#0f7h,l4
movr4,#3
ajmplkp
lkp:lcalldir
ljmpkon;返回
dir:movdptr,#table;顯示子程序
mova,r4
movca,@a+dptr;取7段碼
movr3,a
mova,r4
led1:cjnea,#0,led2;根據(jù)鍵值選擇數(shù)碼管1movdptr,#8000h
ajmpss
led2:cjnea,#1,led3;根據(jù)鍵值選擇數(shù)碼管2movdptr,#9000h
ajmpss
led3:cjnea,#2,led4;根據(jù)鍵值選擇數(shù)碼管3
movdptr,#0a000h
ajmpss
led4:cjnea,#3,led5;根據(jù)鍵值選擇數(shù)碼管4
movdptr,#0b000h
ajmpss
ss:mova,r3
mo@dptr,a
lcalldelay
ret
ks1:clrp1.7
movdptr,#0e000h;鍵盤地址
moa,@dptr
ret
delay:movr6,#10;延時子程序
lpp:movr7,#100
djnzr7,$
djnzr6,lpp
ret
table:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
db88h,83h,0c6h,0a1h,86h,8eh,0ffh,0f7h
end
2.鍵盤掃描及數(shù)碼管顯示的C語言程序
鍵盤掃描及數(shù)碼管顯示的C語言程序如下:
/**************************************************/
/*鍵盤及數(shù)碼管程序,每一鍵代表一個數(shù)字,在其數(shù)字代表的數(shù)碼管中顯示*/#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineLED1XBYTE[0x8000]/*定義各數(shù)碼管地址*/
#defineLED2XBYTE[0x9000]
#defineLED3XBYTE[0xA000]
#defineLED4XBYTE[0xB000]
#defineKEYXBYTE[0xE000]/*定義鍵盤地址*/
voiddelay(uintv)/*延時函數(shù)*/
{
while(v!=0)v--;
}
ucharkeynum=0;
sbitP1_7=P1^7;/*掃描端口*/
/*數(shù)字段碼表*/
ucharcodesegtab[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,\0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xf7};
voiddir(uchar);/*聲明顯示函數(shù)*/
voidreadkey(void)/*讀鍵盤函數(shù)*/
{
ucharM_key=0;
uchari;
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)
{
case0xfe:/*第1個鍵按下*/
keynum=0;
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保潔與員工合同范本
- 住宅加裝電梯工程合同范例
- 出售尼龍水箱合同范本
- 與政府合作合同范本
- 內(nèi)控合同范本
- 協(xié)商撤銷合同范例
- 勞動合同范本 病假
- 單位租住房合同范本
- 個人蓋房合同范本
- 中醫(yī)醫(yī)聯(lián)體合同范本
- 染廠公司簡介(4個范本)
- PPT用中國地圖(可編輯)
- 基于德育的農(nóng)村中小學(xué)校園欺凌現(xiàn)象的解決對策優(yōu)秀獲獎科研論文
- 鐵路工程概預(yù)算-工程經(jīng)濟(jì)管理培訓(xùn)-課件
- 小學(xué)英語一般現(xiàn)在時-(演示)課件
- 面部激素依賴性皮炎的管理課件
- 盧卡奇教學(xué)講解課件
- 智慧環(huán)衛(wèi)項(xiàng)目建設(shè)方案
- 焊接作業(yè)現(xiàn)場環(huán)境溫度濕度記錄
- 長期護(hù)理保險待遇資格申請表
- 馬克思主義基本原理教案:第一章+教案
評論
0/150
提交評論