單片機設(shè)計廚房定時器_第1頁
單片機設(shè)計廚房定時器_第2頁
單片機設(shè)計廚房定時器_第3頁
單片機設(shè)計廚房定時器_第4頁
單片機設(shè)計廚房定時器_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目二廚房定時器功能要求定時時間以分鐘為單位,可以設(shè)置。四位數(shù)碼管顯示分、秒。倒計時。定時時間到有聲音提示。項目模塊一、數(shù)碼顯示(靜態(tài)顯示和動態(tài)顯示)二、定時器三、中斷四、鍵盤接口任務(wù)1點亮數(shù)碼管單個數(shù)碼管顯示(靜態(tài))多個數(shù)碼管顯示(靜態(tài))多個數(shù)碼管顯示(動態(tài))1、LED數(shù)碼管結(jié)構(gòu)及字型編碼若將數(shù)值0送至單片機的P1口,數(shù)碼管上會不會顯示數(shù)字“0”?2、單只數(shù)碼管顯示顯示“0”:P1=0xC0顯示“2”:P1=0xA4顯示“1”:P1=0xF9顯示“9”:P1=0x90P1=0xF9P2=0xA43、兩只數(shù)碼管顯示這種方式,稱為靜態(tài)顯示。它的原理簡單,顯示亮度強,無閃爍,占用CPU時間少,但是占用的I/O口過多,所以限制了單片機連接數(shù)碼管的個數(shù)。

比如需要連接5個LED,就不方便采用這種方式。4、LED動態(tài)顯示動態(tài)顯示是按位輪流點亮各位數(shù)碼管的顯示方式。在任一時段,只有一位數(shù)碼管顯示,其它的數(shù)碼管都處于熄滅狀態(tài)。LED動態(tài)顯示#include<reg51.h>voiddelay1ms(void){unsignedchara,b,c;for(c=1;c>0;c--)for(b=142;b>0;b--)for(a=2;a>0;a--);}

while(1){w=0x01; //位選碼初值為01H

for(i=0;i<6;i++){P2=~w;

//位選碼取反后送位控制口P2口

w<<=1;

//位選碼左移一位,選中下一位LED

P1=led[i];//顯示字型碼送P1口

delay1ms();//延時1ms

}}}voidmain(void)//主函數(shù){//設(shè)置數(shù)字0~5字型碼

unsignedcharled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92};unsignedchari,w;

//功能:在六位數(shù)碼管動態(tài)顯示“012345”1.動態(tài)顯示3210、4321、5432、6543、7654、8765、9876四個數(shù)字(led-shuma.c)任務(wù)2讓數(shù)碼管的顯示動起來按什么節(jié)奏(時間間隔)動起來?1分鐘或1秒鐘!您怎么知道1分鐘或1秒鐘到了?看表啊。要得,但不好。累不累啊您?您怎么知道該下課了?您老在看表嗎?聽鈴聲。定時器!復(fù)習:51單片機的基本結(jié)構(gòu)圖定時器/計數(shù)器硬件結(jié)構(gòu)框圖概述MCS-51單片機可提供2個16位的定時器/計數(shù)器:T0和T1。它們均可用作定時器和(或)計數(shù)器,為單片機系統(tǒng)提供精確定時和計數(shù)功能。問題:定時器和計數(shù)器有什么區(qū)別?我最喜歡的一張圖計數(shù)值范圍計數(shù)工作方式時,計數(shù)值的范圍為1~65536(216)。定時工作方式時,定時時間為:

T=(216-計數(shù)初值)×晶體振蕩器周期×12問題:那要定時1分鐘或1秒鐘怎么夠???現(xiàn)在該看那些亂七八糟的信號了工作方式寄存器TMOD工作方式選擇位定時器/計數(shù)器有4種工作方式:M1M0工作方式功能說明00方式013位定時器/計數(shù)器

01方式116位定時器/計數(shù)器0方式2可自動重新載入計數(shù)初值的8位定時器/計數(shù)器11方式3T0用作2個8位定時器/計數(shù)器,關(guān)閉T1工作方式2框圖工作方式2計數(shù)值范圍為計數(shù)工作方式時,計數(shù)值的范圍為1~256(28)。為定時工作方式時,定時時間為:

T=(28-計數(shù)初值)×晶體振蕩器周期×12定時器控制寄存器TCONTF1:定時器T1溢出中斷標志。當T1溢出時,由內(nèi)部硬件置位,申請中斷。當響應(yīng)中斷時,由內(nèi)部硬件清零。所以,這個標志沒您什么事兒。TR1:定時器T1運行控制位。(T1Run)位地址8FH8EH8DH8CH8BH8AH89H88HTCONTF1TR1TF0TR0IE1IT1IE0IT0可以開始用定時器了?可以。不過呢?這樣開始,會教給您一種不太合理的方法。還是再等等……還要給您介紹一個概念,她就是(要是用他或它,都不足以表達我對Ta的感情)中斷—Interrupt從日常生活開始說吧中斷請求(中斷標志)中斷響應(yīng)中斷返回中斷允許(中斷屏蔽)中斷優(yōu)先級與定時器中斷有關(guān)的東西

開、關(guān)中斷EA:CPU中斷總允許位。EA=1,允許中斷;EA=0,禁止(屏蔽)所有的中斷。ET0:ET0=1,允許定時器T0中斷。ET1:ET1=1,允許定時器T1中斷。EA--ESET1EX1ET0EX0與定時器中斷有關(guān)的東西

中斷號

中斷源 中斷號INT0中斷 0

T0中斷1INT1中斷

2

T1中斷3串口中斷4定時器與中斷的合作先來個簡單點的在P1.1端口輸出T=2ms的方波,fOSC=12MHz。用四川話描述,別用C語言,我又不是MCU。采用T0(T1)的定時功能,對P1.1端口每隔1ms取反一次,即得到周期為2ms方波。定時器初始化三步曲

1、工作方式設(shè)置M1M0=01(工作方式1)C/T=0(T0為定時器)GATE=0(啟動不受外部引腳INT0控制)定時器初始化三步曲

2、初值設(shè)置初值計算:定時時間=(216

-初值)

1s即:1ms=(65536-初值)×1s得:初值=64536=0xFC18定時器初始化三步曲

3、啟動TR0=1;來,試一下

您的第一個定時器和中斷的程序T0工作方式1: TMOD=1;初值0xFC18: TH0=0xFC; TL0=0x18啟動T0: TR0=1;開總中斷: EA=1;開T0中斷: ET0=1;完整的程序//主程序#include<reg51.h>sbitoutput=P1^1;voidmain(void){TMOD=1;//T0工作方式1TH0=0xFC; //1msTL0=0x18;TR0=1; //啟動T0EA=1; //開總中斷

ET0=1; //開T0中斷

while(1);}//中斷服務(wù)程序voidT0_int(void)interrupt1{TH0=0xFC; //初值重裝

TL0=0x18;output=!output;//P1.1取反}改一下哈在P1.1端口輸出T=2s的方波,fOSC=12MHz。咋個改上面的程序?“尺子”是不是不夠長啊?那就多“量”幾次嘛。1s=1msx1000T=2s的程序//主程序#include<reg51.h>sbitoutput=P1^1;voidmain(void){TMOD=1;//T0工作方式1TH0=0xFC; //1msTL0=0x18;TR0=1; //啟動T0EA=1; //開總中斷

ET0=1; //開T0中斷

while(1);}//中斷服務(wù)程序voidT0_int(void)interrupt1{

staticinttimes=0;TH0=0xFC; //初值重裝

TL0=0x18;

times++;if(times==1000){output=!output;//P1.1取反

times=0;}}問題又來了1s=1msx10001s=5msx2001s=10msx1001s=50msx20哪個更好?還是沒所謂?該作正事了計時10秒鐘?,F(xiàn)在,開始想象做出來之后的樣子。是不是這個樣子的。想好了,先看電路圖,再畫流程圖。電路圖

(該怎么作?用您的母語描述)流程圖程序//中斷服務(wù)程序voidT0_int(void)interrupt1{staticchar

second=0,times=0;TH0=0x3C;//50ms初值重裝

TL0=0xB0;times++;if(times==20){times=0;second++;if(second==10){second=0;EA=0;output=0;}P0=disp[second];//送顯示

}}//主程序#include<reg51.h>sbitoutput=P1^1;charcodedisp[10]={};voidmain(void){TMOD=1; //T0工作方式1TH0=0x3C; //50msTL0=0xB0;TR0=1; //啟動T0EA=1; //開總中斷

ET0=1; /

溫馨提示

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

評論

0/150

提交評論