單片機應(yīng)用系統(tǒng)設(shè)計實例_第1頁
單片機應(yīng)用系統(tǒng)設(shè)計實例_第2頁
單片機應(yīng)用系統(tǒng)設(shè)計實例_第3頁
單片機應(yīng)用系統(tǒng)設(shè)計實例_第4頁
單片機應(yīng)用系統(tǒng)設(shè)計實例_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

公選課

——《單片機基礎(chǔ)及應(yīng)用》設(shè)計實例1、用1個LED發(fā)光二極管,設(shè)計一個循環(huán)閃爍的指示燈。2、用8個LED發(fā)光二極管,設(shè)計一個循環(huán)閃爍的流水燈。3、通過設(shè)置中斷,改變燈的循環(huán)方向,控制燈的亮滅。4、通過定時,精確控制P1.0閃爍500ms。5、以秒為單位,用LED數(shù)碼管顯示當(dāng)前計數(shù)值。1、用1個LED發(fā)光二極管,設(shè)計一個循環(huán)閃爍的指示燈。如何設(shè)計硬件和軟件?1.1硬件設(shè)計注意:在接下來的仿真中,省略時鐘及復(fù)位電路。1.2軟件設(shè)計1)初始化51頭文件、宏定義2)主程序,即main()程序燈的亮滅控制3)延時功能延時子程序設(shè)計#include<at89X52.h>#defineuintunsignedint#defineucharunsignedcharvoidmain(void){ while(1) { P1_0=0; delay(5000); P1_0=1; delay(5000); }}voiddelay(uintt)//延時0.1*t毫秒{

uinti;do{

for(i=0;i<10;i++);}while(t--);}voiddelay(uintt);

//聲明函數(shù)2、用8個LED發(fā)光二極管,設(shè)計一個循環(huán)閃爍的流水燈。2.1硬件設(shè)計2.2軟件設(shè)計1)初始化51頭文件、宏定義2)主程序,即main()程序燈的循環(huán)閃亮控制3)延時功能延時子程序設(shè)計如何進行燈的循環(huán)閃亮控制?intrins.h內(nèi)部函數(shù)庫(包含變量循環(huán)移位、位操作等函數(shù))需要將該函數(shù)包含進來,同時對函數(shù)原型進行聲明。#include<INTRINS.H>uchar_crol_(uchara,ucharn); /*函數(shù)原型,左循環(huán)*/uchar_cror_(uchara,ucharn);/*函數(shù)原型,右循環(huán)*/#include<INTRINS.H>uchar_crol_(uchara,ucharn); /*函數(shù)原型*/uchar_cror_(uchara,ucharn);/*函數(shù)原型,右循環(huán)*/voidmain(void){ uinta=0xfe;while(1) { P1=a; delay(5000); a=_crol_(a,1); }}3、通過設(shè)置中斷,改變燈的循環(huán)方向,控制燈的亮滅。3.1硬件設(shè)計1)中斷的概念中斷技術(shù)是計算機中一項很重要的技術(shù)。中斷系統(tǒng)的功能是為了解決快速CPU和慢速外設(shè)間的矛盾,它由軟件和硬件組成。有了中斷系統(tǒng),能使計算機的功能更強、效率更高、使用更靈活。51單片機系統(tǒng)有5個中斷源。2)日常中斷的例子你正在專心看書,突然電話鈴響,于是你記下正在看的書的頁數(shù),去接電話,接完電話后再回來接著看書。3)計算機中的中斷概念中斷是指由于某種隨機事件(甲方)的發(fā)生,計算機(乙方)暫?,F(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。將能引起中斷的事件稱為中斷源。CPU現(xiàn)行運行的程序稱為主程序。處理隨機事件的程序稱為中斷服務(wù)子程序。4)相關(guān)的特殊功能寄存器TCONTF1TR1TF0TR0IE1

IT1

IE0

IT0IE0/IE1:外部中斷申請標(biāo)志位:=0:沒有外部中斷申請;=1:有外部中斷申請。IT0/IT1:外部中斷請求的觸發(fā)方式選擇位:=0:在INT0/INT1端申請中斷的信號低電平有效;=1:在INT0/INT1端申請中斷的信號負跳變有效.

EA—ET2ESET1EX1ET0EX0IEEX0/EX1位:分別是INT0/INT1的中斷允許控制位:=0時禁止中斷;=1時允許中斷。EA:總的中斷允許控制位(總開關(guān)):=0時禁止全部中斷;=1時允許中斷。3.2軟件設(shè)計1)初始化51頭文件、宏定義2)主程序,即main()程序燈的循環(huán)閃亮控制中斷初始化3)延時功能4)中斷服務(wù)程序設(shè)計3.2軟件設(shè)計中斷初始化觸發(fā)方式設(shè)置中斷允許控制中斷服務(wù)程序設(shè)計中斷初始化IT0=1;EA=1;EX0=1;中斷服務(wù)程序函數(shù)名()interruptn[usingm]{}Voidint0(void)interrupt0/*外部中斷0的服務(wù)函數(shù)定義,使用第二組工作寄存器組*/voidint0(void)interrupt0{uchara=0xfe,i=16; P1=0x0; delay(5000); P1=0x0ff; delay(5000); P1=0x0; delay(5000); P1=0x0ff; delay(5000); do { P1=a; delay(5000); a=_cror_(a,1); }while(i--);}4、通過定時,精確控制閃爍500ms。針對任務(wù)一進行操作。使用定時器T01)設(shè)置定時器工作方式2)計算初始值3)編寫初始化程序4)編寫中斷服務(wù)程序1)設(shè)置定時器工作方式GATEC/TM1M0GATEC/TM1M0TMOD000000012)計算初始值晶振12Mhz1個機器周期:定時50ms,需要計數(shù):定時器初始值:定時500ms,需要中斷10次。3)編寫初始化程序TMOD=0X01;TH0=0X3C;TL0=0XB0;EA=1;ET0=1;TR0=1;4)編寫中斷服務(wù)程序Voidtimer0(void)interrupt1{TH0=0x3c;TL0=0xb0;i++; if(i==9) { i=0; P1_0=~P1_0; }}5、以秒為單位,用LED數(shù)碼管顯示當(dāng)前計數(shù)值。LED數(shù)碼管顯示電路原理LED數(shù)碼管的結(jié)構(gòu):(1)共陽(2)共陰@共陽數(shù)碼管每個段筆畫是用低電平(“0”)點亮,共陰數(shù)碼管段筆畫是用高電平(“1”)點亮公共陽極hgfedcbaabcdgefh公共陰極hgfedcbaabcdgefhhg

溫馨提示

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

最新文檔

評論

0/150

提交評論