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

下載本文檔

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

文檔簡(jiǎn)介

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

比如需要連接5個(gè)LED,就不方便采用這種方式。4、LED動(dòng)態(tài)顯示動(dòng)態(tài)顯示是按位輪流點(diǎn)亮各位數(shù)碼管的顯示方式。在任一時(shí)段,只有一位數(shù)碼管顯示,其它的數(shù)碼管都處于熄滅狀態(tài)。LED動(dòng)態(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();//延時(shí)1ms

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

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

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

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

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

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

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

中斷號(hào)

中斷源 中斷號(hào)INT0中斷 0

T0中斷1INT1中斷

2

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

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

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

-初值)

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

3、啟動(dòng)TR0=1;來(lái),試一下

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

ET0=1; //開(kāi)T0中斷

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

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

ET0=1; //開(kāi)T0中斷

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

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

TL0=0x18;

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

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

(該怎么作?用您的母語(yǔ)描述)流程圖程序//中斷服務(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; //啟動(dòng)T0EA=1; //開(kāi)總中斷

ET0=1; /

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論