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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

公選課

——《單片機基礎及應用》設計實例1、用1個LED發(fā)光二極管,設計一個循環(huán)閃爍的指示燈。2、用8個LED發(fā)光二極管,設計一個循環(huán)閃爍的流水燈。3、通過設置中斷,改變燈的循環(huán)方向,控制燈的亮滅。4、通過定時,精確控制P1.0閃爍500ms。5、以秒為單位,用LED數(shù)碼管顯示當前計數(shù)值。1、用1個LED發(fā)光二極管,設計一個循環(huán)閃爍的指示燈。如何設計硬件和軟件?1.1硬件設計注意:在接下來的仿真中,省略時鐘及復位電路。1.2軟件設計1)初始化51頭文件、宏定義2)主程序,即main()程序燈的亮滅控制3)延時功能延時子程序設計#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ā)光二極管,設計一個循環(huán)閃爍的流水燈。2.1硬件設計2.2軟件設計1)初始化51頭文件、宏定義2)主程序,即main()程序燈的循環(huán)閃亮控制3)延時功能延時子程序設計如何進行燈的循環(huán)閃亮控制?intrins.h內部函數(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、通過設置中斷,改變燈的循環(huán)方向,控制燈的亮滅。3.1硬件設計1)中斷的概念中斷技術是計算機中一項很重要的技術。中斷系統(tǒng)的功能是為了解決快速CPU和慢速外設間的矛盾,它由軟件和硬件組成。有了中斷系統(tǒng),能使計算機的功能更強、效率更高、使用更靈活。51單片機系統(tǒng)有5個中斷源。2)日常中斷的例子你正在專心看書,突然電話鈴響,于是你記下正在看的書的頁數(shù),去接電話,接完電話后再回來接著看書。3)計算機中的中斷概念中斷是指由于某種隨機事件(甲方)的發(fā)生,計算機(乙方)暫?,F(xiàn)行程序的運行,轉去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。將能引起中斷的事件稱為中斷源。CPU現(xiàn)行運行的程序稱為主程序。處理隨機事件的程序稱為中斷服務子程序。4)相關的特殊功能寄存器TCONTF1TR1TF0TR0IE1

IT1

IE0

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論