版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二廚房定時器功能要求定時時間以分鐘為單位,可以設(shè)置。四位數(shù)碼管顯示分、秒。倒計(jì)時。定時時間到有聲音提示。項(xiàng)目模塊一、數(shù)碼顯示(靜態(tài)顯示和動態(tài)顯示)二、定時器三、中斷四、鍵盤接口任務(wù)1點(diǎn)亮數(shù)碼管單個數(shù)碼管顯示(靜態(tài))多個數(shù)碼管顯示(靜態(tài))多個數(shù)碼管顯示(動態(tài))1、LED數(shù)碼管結(jié)構(gòu)及字型編碼若將數(shù)值0送至單片機(jī)的P1口,數(shù)碼管上會不會顯示數(shù)字“0”?2、單只數(shù)碼管顯示顯示“0”:P1=0xC0顯示“2”:P1=0xA4顯示“1”:P1=0xF9顯示“9”:P1=0x90P1=0xF9P2=0xA43、兩只數(shù)碼管顯示這種方式,稱為靜態(tài)顯示。它的原理簡單,顯示亮度強(qiáng),無閃爍,占用CPU時間少,但是占用的I/O口過多,所以限制了單片機(jī)連接數(shù)碼管的個數(shù)。
比如需要連接5個LED,就不方便采用這種方式。4、LED動態(tài)顯示動態(tài)顯示是按位輪流點(diǎn)亮各位數(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ù)習(xí):51單片機(jī)的基本結(jié)構(gòu)圖定時器/計(jì)數(shù)器硬件結(jié)構(gòu)框圖概述MCS-51單片機(jī)可提供2個16位的定時器/計(jì)數(shù)器:T0和T1。它們均可用作定時器和(或)計(jì)數(shù)器,為單片機(jī)系統(tǒng)提供精確定時和計(jì)數(shù)功能。問題:定時器和計(jì)數(shù)器有什么區(qū)別?我最喜歡的一張圖計(jì)數(shù)值范圍計(jì)數(shù)工作方式時,計(jì)數(shù)值的范圍為1~65536(216)。定時工作方式時,定時時間為:
T=(216-計(jì)數(shù)初值)×晶體振蕩器周期×12問題:那要定時1分鐘或1秒鐘怎么夠???現(xiàn)在該看那些亂七八糟的信號了工作方式寄存器TMOD工作方式選擇位定時器/計(jì)數(shù)器有4種工作方式:M1M0工作方式功能說明00方式013位定時器/計(jì)數(shù)器
01方式116位定時器/計(jì)數(shù)器0方式2可自動重新載入計(jì)數(shù)初值的8位定時器/計(jì)數(shù)器11方式3T0用作2個8位定時器/計(jì)數(shù)器,關(guān)閉T1工作方式2框圖工作方式2計(jì)數(shù)值范圍為計(jì)數(shù)工作方式時,計(jì)數(shù)值的范圍為1~256(28)。為定時工作方式時,定時時間為:
T=(28-計(jì)數(shù)初值)×晶體振蕩器周期×12定時器控制寄存器TCONTF1:定時器T1溢出中斷標(biāo)志。當(dāng)T1溢出時,由內(nèi)部硬件置位,申請中斷。當(dāng)響應(yīng)中斷時,由內(nèi)部硬件清零。所以,這個標(biāo)志沒您什么事兒。TR1:定時器T1運(yùn)行控制位。(T1Run)位地址8FH8EH8DH8CH8BH8AH89H88HTCONTF1TR1TF0TR0IE1IT1IE0IT0可以開始用定時器了?可以。不過呢?這樣開始,會教給您一種不太合理的方法。還是再等等……還要給您介紹一個概念,她就是(要是用他或它,都不足以表達(dá)我對Ta的感情)中斷—Interrupt從日常生活開始說吧中斷請求(中斷標(biāo)志)中斷響應(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定時器與中斷的合作先來個簡單點(diǎn)的在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è)置初值計(jì)算:定時時間=(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哪個更好?還是沒所謂?該作正事了計(jì)時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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年施工企業(yè)質(zhì)量管理體系施工合同臺賬范本3篇
- 2025年東營c1貨運(yùn)從業(yè)資格證考試題下載
- 2024年某航空公司飛機(jī)采購及維護(hù)合同
- 2024年合同風(fēng)險防范與控制策略2篇
- 海口市教育培訓(xùn)機(jī)構(gòu)租賃合同
- 綠色建筑精裝修施工合同
- 風(fēng)景區(qū)道路鋪設(shè)施工合同
- 工程合同材料供應(yīng)管理
- 2025電梯門套安裝合同范本
- 甘肅省2024-2025學(xué)年高三上學(xué)期期中考試歷史試題(解析版)
- 2023年中國鐵路武漢局集團(tuán)有限公司招聘大專(高職)學(xué)歷筆試真題
- 中考英語復(fù)習(xí)聽說模擬訓(xùn)練(一)課件
- 公立醫(yī)院創(chuàng)新管理薪酬激勵方案
- 藥品經(jīng)營使用和質(zhì)量監(jiān)督管理辦法2024年宣貫培訓(xùn)課件
- 旅社承包合同樣本
- 自然辯證法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 病句的辨析與修改-2023年中考語文一輪復(fù)習(xí)(原卷版)
- 如何高效學(xué)習(xí)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 幼兒園視頻監(jiān)控管理制度
- 主動脈瓣關(guān)閉不全
- 2024國家開放大學(xué)《企業(yè)信息管理》形成性考核1-4答案
評論
0/150
提交評論