




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)應(yīng)用教程項(xiàng)目三定時(shí)/計(jì)數(shù)器通過本章學(xué)習(xí)同學(xué)們首先掌握定時(shí)器/計(jì)數(shù)器工作原理,定時(shí)器/計(jì)數(shù)器控制寄存器的設(shè)置方法,以及定時(shí)器/計(jì)數(shù)器工作方式,并能根據(jù)不同的工作方式設(shè)置定時(shí)器/計(jì)數(shù)器。在此基礎(chǔ)上,靈活應(yīng)用,設(shè)計(jì)定時(shí)和計(jì)數(shù)電路,并能根據(jù)電路結(jié)構(gòu)編寫相應(yīng)程序,實(shí)現(xiàn)對(duì)應(yīng)功能。任務(wù)目標(biāo)任務(wù)要求任務(wù)分析任務(wù)實(shí)施相關(guān)知識(shí)點(diǎn)任務(wù)一控制單個(gè)發(fā)光二極管亮滅循環(huán)交替一、任務(wù)目標(biāo)1.理解80C51定時(shí)/計(jì)數(shù)器工作原理2.掌握80C51定時(shí)/計(jì)數(shù)器控制寄存器的名稱及設(shè)置3.掌握定時(shí)/計(jì)數(shù)器工作方式4.掌握根據(jù)不同的工作方式設(shè)置定時(shí)/計(jì)數(shù)器的方法二、任務(wù)要求
通過控制接在P1.0引腳上的發(fā)光二級(jí)管,讓發(fā)光二極管實(shí)現(xiàn)亮一秒滅一秒的循環(huán)顯示,發(fā)光二極管延時(shí)一秒是通過定時(shí)器定時(shí)來實(shí)現(xiàn)。三、任務(wù)分析硬件電路分析:發(fā)光二極管低電平驅(qū)動(dòng)限流電阻復(fù)位電路時(shí)鐘電路三、任務(wù)分析軟件設(shè)計(jì):三、任務(wù)分析⑴計(jì)算計(jì)數(shù)器初值假設(shè)晶振采用6MHz,則機(jī)器周期T=2us,采用定時(shí)器T0,定時(shí)器采用方式1。定時(shí)器初值:X=M-定時(shí)值/TX=65536-100000/2=1553615536轉(zhuǎn)換成十六進(jìn)制是3CB0H。⑵定時(shí)器初始化
設(shè)置TMOD=01H,定時(shí)器T0工作在方式1下。
裝入計(jì)數(shù)初值,TH0=3CH,TL0=B0H
三、任務(wù)分析⑴計(jì)算計(jì)數(shù)器初值假設(shè)晶振采用6MHz,則機(jī)器周期T=2us,采用定時(shí)器T0,定時(shí)器采用方式1。定時(shí)器初值:X=M-定時(shí)值/TX=65536-100000/2=1553615536轉(zhuǎn)換成十六進(jìn)制是3CB0H。⑵定時(shí)器初始化
設(shè)置TMOD=01H,定時(shí)器T0工作在方式1下。
裝入計(jì)數(shù)初值,TH0=3CH,TL0=B0H
三、任務(wù)分析ORG0000HMOVTMOD,#01H;定時(shí)器0工作在定時(shí)方式,采用方式1MOVTH0,#3CH;定時(shí)器0送初值MOVTL0,#0B0HMOVR1,#10;設(shè)置循環(huán)次數(shù)SETBTR0;啟動(dòng)定時(shí)器0LP1:JBCTF0,LP2;判斷定時(shí)器0溢出否,溢出則標(biāo)志位清0SJMPLP1;定時(shí)器0沒有溢出,繼續(xù)等待溢出LP2:MOVTH0,#3CH;溢出,則定時(shí)器0重新賦計(jì)數(shù)初值MOVTL0,#0B0HDJNZR1,LP1;判讀定時(shí)器0是否溢出10次
MOVR1,#10CPLP1.0;溢出10次后,P1.0引腳狀態(tài)取反AJMPLP1;跳到LP1標(biāo)號(hào)處繼續(xù)執(zhí)行END程序?qū)崿F(xiàn)一:查詢法三、任務(wù)分析#include<reg51.h>sbitP1_0=P1^0;//位定義voiddelay(void);//延時(shí)函數(shù)聲明voidmain(){TMOD=0x01;//定時(shí)器0工作在方式1,采用定時(shí)方式while(1){P1_0=0;delay();//調(diào)用延時(shí)子程序P1_0=1;delay();}}后續(xù)程序?qū)崿F(xiàn)一:查詢法三、任務(wù)分析/*延時(shí)1秒子程序*/voiddelay(){unsignedchari;for(i=0;i<10;i++)//定時(shí)器溢出10次{TH0=0x3c;//定時(shí)器0賦初值TL0=0x0B0;TR0=1;//啟動(dòng)定時(shí)器0while(!TF0);//等待定時(shí)器0溢出TF0=0;//定時(shí)器0溢出,標(biāo)志位清零}}程序?qū)崿F(xiàn)一:查詢法三、任務(wù)分析ORG0000HSJMPMAINORG000BH;定時(shí)器0中斷入口地址SJMPINTER0MAIN:MOVTMOD,#01H;定時(shí)器0工作在定時(shí)方式,采用方式1MOVTH0,#3CH;定時(shí)器0送初值MOVTL0,#0B0HSETBEA;打開中斷允許總開關(guān)SETBET0;打開中斷允許分開關(guān)MOVR1,#10SETBTR0;啟動(dòng)定時(shí)器0LOOP:SJMPLOOP;等待定時(shí)器0中斷INTER0:MOVTH0,#3CH;定時(shí)器0賦初值MOVTL0,#0B0HDJNZR1,EXITMOVR1,#10CPLP1.0;定時(shí)1秒到,P1.0引腳取反EXIT:RETI;中斷返回END程序?qū)崿F(xiàn)二:中斷法三、任務(wù)分析#include<reg51.h>sbitP1_0=P1^0;//位定義voiddelay(void);//延時(shí)函數(shù)聲明intt0_count=0;//定時(shí)器0溢出次數(shù)初值設(shè)置為0voidmain(){TMOD=0x01;//定時(shí)器0工作在定時(shí)方式,采用方式1EA=1;//打開總開關(guān)ET0=1;//打開分開關(guān)TH0=0x3c;//定時(shí)器0賦初值TL0=0x0B0;TR0=1;//啟動(dòng)定時(shí)器0P1_0=0;while(1);//等待定時(shí)器0中斷}程序?qū)崿F(xiàn)二:中斷法三、任務(wù)分析voidtimer0(void)interrupt1//定時(shí)器0中斷號(hào)為1{TH0=0x3c;//定時(shí)器0賦初值TL0=0x0B0;t0_count++;if(t0_count==10)//判斷定時(shí)器0溢出是否為10次{t0_count=0;P1_0=~P1_0; //P1.0引腳狀態(tài)取反}}程序?qū)崿F(xiàn)二:中斷法四、任務(wù)實(shí)施在proteus中連接好電路。在keilc中編寫程序,生成hex文件。將生成的hex文件加載到單片機(jī)芯片中。在proteus中仿真,觀察結(jié)果。元件名稱Proteus中名稱單片機(jī)芯片AT89C51晶振CRYSTAL電容CAP發(fā)光二極管LED-RED電解電容CAP-ELEC電阻RES按鍵SWITCH五、相關(guān)知識(shí)點(diǎn)1、定時(shí)器/計(jì)數(shù)器概述①80C51單片機(jī)內(nèi)部有兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1,其核心是計(jì)數(shù)器,基本功能是加1。②對(duì)外部事件脈沖(下降沿)計(jì)數(shù),是計(jì)數(shù)器;對(duì)片內(nèi)機(jī)器周期脈沖計(jì)數(shù),是定時(shí)器。③計(jì)數(shù)器由二個(gè)8位計(jì)數(shù)器組成。④定時(shí)時(shí)間和計(jì)數(shù)值可以編程設(shè)定,其方法是在計(jì)數(shù)器內(nèi)設(shè)置一個(gè)初值,然后加1計(jì)滿后溢出。調(diào)整計(jì)數(shù)器初值,可調(diào)整從初值到計(jì)滿溢出的數(shù)值,即調(diào)整了定時(shí)時(shí)間和計(jì)數(shù)值。⑤定時(shí)/計(jì)數(shù)器作為計(jì)數(shù)器時(shí),外部事件脈沖必須從規(guī)定的引腳輸入。且外部脈沖的最高頻率不能超過時(shí)鐘頻率的1/24。五、相關(guān)知識(shí)點(diǎn)80C51定時(shí)/計(jì)數(shù)器邏輯結(jié)構(gòu)圖五、相關(guān)知識(shí)點(diǎn)2、定時(shí)器/計(jì)數(shù)器的工作原理①定時(shí)功能:對(duì)片內(nèi)機(jī)器周期信號(hào)進(jìn)行計(jì)數(shù),其計(jì)數(shù)速率為晶體振蕩頻率的1/12。②計(jì)數(shù)功能:對(duì)單片機(jī)的外部引腳P3.4或P3.5的外部事件計(jì)數(shù),當(dāng)檢測到輸入引腳上的電平由高變低時(shí),計(jì)數(shù)器加1。五、相關(guān)知識(shí)點(diǎn)3、定時(shí)器/計(jì)數(shù)器的控制寄存器①定時(shí)/計(jì)數(shù)器控制寄存器TCON8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0中斷請(qǐng)求標(biāo)志觸發(fā)方式選擇啟動(dòng)定時(shí)/計(jì)數(shù)器0低電平1下降沿0停止1啟動(dòng)由中斷源控制五、相關(guān)知識(shí)點(diǎn)3、定時(shí)器/計(jì)數(shù)器的控制寄存器②定時(shí)/計(jì)數(shù)器工作方式控制寄存器TMOD高4位控制T1低4位控制T0門控位計(jì)數(shù)/定時(shí)方式選擇工作方式選擇門控位計(jì)數(shù)/定時(shí)方式選擇工作方式選擇GC/TM1M0GC/TM1M0功能選擇位C/T:
=0:定時(shí)功能,計(jì)數(shù)內(nèi)部機(jī)器周期脈沖;
=1:計(jì)數(shù)功能,計(jì)數(shù)引腳T0(T1)輸入的負(fù)脈沖。五、相關(guān)知識(shí)點(diǎn)方式選擇位M1、M0:4種工作方式:13/16/8位M1M0方式說明00方式0TLi的低5位與THi的8位構(gòu)成13位計(jì)數(shù)器01方式1TLi的8位與THi的8位構(gòu)成16位計(jì)數(shù)器10方式2具有自動(dòng)重裝初值功能的8位計(jì)數(shù)器11方式3T0分成兩個(gè)獨(dú)立的計(jì)數(shù)器,T1可工作在方式0~方式2門控方式選擇位GATE=0,非門控方式(內(nèi)部啟動(dòng)):
TRx=1,啟動(dòng)定時(shí)器工作;
TRx=0,停止定時(shí)器工作。=1,門控方式(外部啟動(dòng)):
TRx=1且引腳INTx=1才啟動(dòng)。五、相關(guān)知識(shí)點(diǎn)4、定時(shí)器/計(jì)數(shù)器的工作方式①工作方式0fosc13位(THx8位和TLx低5位)加定時(shí)/計(jì)數(shù)器計(jì)數(shù)外部脈沖個(gè)數(shù):1~8192(213)定時(shí)時(shí)間(若T=1
s):1
s~8.19msT=12/fosc五、相關(guān)知識(shí)點(diǎn)4、定時(shí)器/計(jì)數(shù)器的工作方式②工作方式1T=12/foscTHx8位和TLx8位組成16位加1計(jì)數(shù)器。計(jì)數(shù)外部脈沖個(gè)數(shù):1~65536(216)定時(shí)時(shí)間(若T=1
s):1
s~(65536×T=65.54ms)五、相關(guān)知識(shí)點(diǎn)4、定時(shí)器/計(jì)數(shù)器的工作方式③工作方式2T=12/fosc
自動(dòng)恢復(fù)初值8位定時(shí)/計(jì)數(shù)器。TLx為8位加1計(jì)數(shù)器,
THx為8位初值暫存器。用于需要重復(fù)定時(shí)和計(jì)數(shù)的場合。最大計(jì)數(shù)值:256(28)最大定時(shí)時(shí)間(若T=1
s):256
s五、相關(guān)知識(shí)點(diǎn)4、定時(shí)器/計(jì)數(shù)器的工作方式④工作方式3T0分成2個(gè)8位定時(shí)器:TL0定時(shí)/計(jì)數(shù)器和TH0定時(shí)器;TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1、TF1;T1不能使用方式3工作,常作串口的波特率發(fā)生器使用。五、相關(guān)知識(shí)點(diǎn)5、定時(shí)器/計(jì)數(shù)器的初值計(jì)算設(shè)計(jì)數(shù)器最大計(jì)數(shù)值為M,則不同的工作方式,最大計(jì)數(shù)值M不同。方式0:M=213=8192方式1:M=216=65536方式2、3:M=28=256置入計(jì)數(shù)初值X的計(jì)算公式如下:1)計(jì)數(shù)器方式:X=M-計(jì)數(shù)值2)定時(shí)器方式:(M-X)×T=定時(shí)值
故,X=M-定時(shí)值
/T
其中T為計(jì)數(shù)周期,是單片機(jī)時(shí)鐘的12分頻,即單片機(jī)機(jī)器周期。當(dāng)晶振為6MHz時(shí),T=2us,當(dāng)晶振為12MHz時(shí),T=1us。五、相關(guān)知識(shí)點(diǎn)6、定時(shí)/計(jì)數(shù)器的初始化①
確定工作方式----對(duì)方式寄存器TMOD賦值。②
預(yù)置定時(shí)或計(jì)數(shù)初值----直接將初值寫入TH0、TL0或TH1、TL1中。③
根據(jù)需要對(duì)中斷允許寄存器有關(guān)位賦值,以開放或禁止定時(shí)/計(jì)數(shù)器中斷。④
啟動(dòng)定時(shí)/計(jì)數(shù)器,使TCON中的TR1或TR0置1,計(jì)數(shù)器即按確定的工作方式和初值開始計(jì)數(shù)或定時(shí)。任務(wù)目標(biāo)任務(wù)要求任務(wù)分析任務(wù)實(shí)施任務(wù)二、單片機(jī)工作在方式2產(chǎn)生脈沖一、任務(wù)目標(biāo)1.掌握定時(shí)計(jì)數(shù)器工作方式2工作原理2.了解proteus中虛擬示波器的使用二、任務(wù)要求
通過P1.0引腳輸出方波脈沖信號(hào),周期為400
S,然后再通過接在P1.0引腳上的虛擬示波器觀察輸出的方波信號(hào)。三、任務(wù)分析硬件電路分析:虛擬示波器復(fù)位電路時(shí)鐘電路三、任務(wù)分析軟件設(shè)計(jì):流程圖三、任務(wù)分析⑴計(jì)算計(jì)數(shù)器初值假設(shè)晶振采用12MHz,則機(jī)器周期T=1us,采用定時(shí)器T1,定時(shí)器采用方式2。定時(shí)器初值:X=M-定時(shí)值/TX=256-200/1=5656轉(zhuǎn)換成十六進(jìn)制是38H。⑵定時(shí)器初始化
設(shè)置TMOD=20H,定時(shí)器T1工作在方式2下。
裝入計(jì)數(shù)初值,TH1=38H,TL1=38H三、任務(wù)分析ORG 0000H ;復(fù)位地址LJMP MAIN ;轉(zhuǎn)主程序ORG 001BH ;T1中斷入口地址LJMP ITER1 ;轉(zhuǎn)T1中斷服務(wù)程序ORG 0100H ;主程序首地址MAIN: MOV TMOD,#20H ;置T1定時(shí)器方式2 MOV TL1,#38H ;置定時(shí)初值 MOV TH1,#38H ;置定時(shí)初值備份
SETBEA;打開總開關(guān)SETBET1;打開分開關(guān)SETB TR1 ;T1運(yùn)行 SJMP $ ;等待T1中斷
ITER1: CPLP1.0 ;輸出波形取反首地址 RETI ;中斷返回END三、任務(wù)分析#include<reg51.h>sbitpul=P1^0;voidmain(){TMOD=0x20;TH1=0x38;TL1=0x38;EA=1;ET1=1;TR1=1;}voidinter_1(void)interrupt3{pul=!(pul);}四、任務(wù)實(shí)施在proteus中連接好電路。在keilc中編寫程序,生成hex文件。將生成的hex文件加載到單片機(jī)芯片中。在proteus中仿真,觀察結(jié)果。元件名稱Proteus中名稱單片機(jī)芯片AT89C51晶振CRYSTAL電容CAP虛擬示波器OSCILLOSCOPE電解電容CAP-ELEC電阻RES任務(wù)目標(biāo)任務(wù)要求任務(wù)分析任務(wù)實(shí)施任務(wù)三、單片機(jī)外部脈沖計(jì)數(shù)一、任務(wù)目標(biāo)1.掌握單片機(jī)定時(shí)計(jì)數(shù)器工作在計(jì)數(shù)狀態(tài)的程序設(shè)計(jì)方法2.掌握定時(shí)計(jì)數(shù)器工作在計(jì)數(shù)狀態(tài)工作原理3.掌握單片機(jī)定時(shí)計(jì)數(shù)器工作在計(jì)數(shù)狀態(tài)對(duì)外加計(jì)數(shù)脈沖計(jì)數(shù)的硬件設(shè)計(jì)方法二、任務(wù)要求通過接在P3.5引腳上的按鍵,按鍵按5次后,接在P1口的8個(gè)發(fā)光二級(jí)管閃爍8次。三、任務(wù)分析限流電阻發(fā)光二極管高電平驅(qū)動(dòng)時(shí)鐘電路復(fù)位電路按鍵作為計(jì)數(shù)器輸入三、任務(wù)分析程序流程圖:三、任務(wù)分析⑴TMOD控制字設(shè)置
TMOD高四位和低四位中都有一位控制位C/T,將相應(yīng)的的定時(shí)/計(jì)數(shù)器設(shè)置為計(jì)數(shù)器時(shí),只需要將C/T置為1。⑵工作原理
定時(shí)計(jì)數(shù)器工作于計(jì)數(shù)方式下,通過P3口的P3.4、P3.5引腳輸入外部的計(jì)數(shù)脈沖,P3.4作為T0計(jì)數(shù)器的外部計(jì)數(shù)脈沖輸入引腳,P3.5作為T1計(jì)數(shù)器的外部計(jì)數(shù)輸入引腳。
外部脈沖的下降沿觸發(fā)計(jì)數(shù),就是說當(dāng)產(chǎn)生一次從高到低的跳變就計(jì)數(shù)一次,需要注意的是,由于檢測到從1到0的跳變需要兩個(gè)機(jī)器周期,所以外部計(jì)數(shù)脈沖周期要比相應(yīng)的兩個(gè)機(jī)器周期大。三、任務(wù)分析⑶計(jì)算計(jì)數(shù)器初值當(dāng)按鍵未按下時(shí),P3.5引腳保持高電平;當(dāng)按鍵按下時(shí),產(chǎn)生了從高到低的跳變,這樣計(jì)數(shù)器T1就計(jì)數(shù)一次。計(jì)數(shù)器初值:X=M-計(jì)數(shù)值X=256-5=251⑷定時(shí)器初始化
設(shè)置TMOD=60H,定時(shí)器T1工作在計(jì)數(shù)方式,采用方式2。
裝入計(jì)數(shù)初值,TH1=251,TL1=251三、任務(wù)分析
ORG0000H
MOVTMOD,#60H
;定時(shí)器1工作在計(jì)數(shù)方式,采用方式2
MOVTH1,#251
;定時(shí)器1送定時(shí)初值
MOVTL1,#251
SETBTR1
;啟動(dòng)定時(shí)器1LOOP1:
JBTF1,LOOP2
;判斷定時(shí)器1溢出否
SJMPLOOP1LOOP2:
CLRTF1
LCALLFLASH
;調(diào)用顯示子程序
LJMPLOOP1FLASH:
MOVR6,#8
;設(shè)置循環(huán)8次LOOP3
:
MOVP1,#0FFH
;燈全亮
LCALLDELAY
;調(diào)用延時(shí)子程序
MOVP1,#0
;燈全滅
LCALLDELAY
DJNZR6,LOOP3
RET后續(xù)三、任務(wù)分析DELAY:
MOVR1,#250;延時(shí)子程序LOOP4:
MOVR2,#250LOOP5:
NOP
DJNZR2,LOOP5
DJNZR1,LOOP4
RET
END三、任務(wù)分析
#include<reg51.h>
#defineledP1
voiddelay(unsignedcharx);
voidflash();voidmain(){
TMOD=0X60
;//定時(shí)器1工作在計(jì)數(shù)方式,采用方式2
TL1=251
;//定時(shí)器1送定時(shí)初值
TH1=251
;
TR1=1
;//啟動(dòng)定時(shí)器1while(1)
{
while(!TF1)
;//判斷定時(shí)器1益處否
TF1=0
;//溢出標(biāo)志位清0
flash()
;//調(diào)用閃爍子程序}}三、任務(wù)分析/*閃爍子程序*/voidflash(){unsignedchari;for(i=0;i<8;i++)//循環(huán)8次{ led=0x0ff;//燈全亮delay(255);led=0x00;//燈全滅delay(255);}}/*延時(shí)子程序*/voiddelay(unsignedcharx){unsignedcharj,k;for(j=0;j<x;j++)for(k=0;k<255;k++);}四、任務(wù)實(shí)施在proteus中連接好電路。在keilc中編寫程序,生成hex文件。將生成的hex文件加載到單片機(jī)芯片中。在proteus中仿真,觀察結(jié)果。元件名稱Proteus中名稱單片機(jī)芯片AT89C51晶振CRYSTAL電容CAP電解電容CAP-ELEC電阻RES按鍵SWITCH任務(wù)目標(biāo)任務(wù)要求任務(wù)分析任務(wù)實(shí)施任務(wù)四、單片機(jī)實(shí)現(xiàn)秒表功能一、任務(wù)目標(biāo)1.掌握單片機(jī)如何去實(shí)現(xiàn)秒表的功能2.了解數(shù)碼管的基本結(jié)構(gòu)及數(shù)碼管的工作原理3.掌握單片機(jī)定時(shí)器的一些簡單基本應(yīng)用二、任務(wù)要求
單片機(jī)運(yùn)行后,通過數(shù)碼管循環(huán)顯示00—59,實(shí)現(xiàn)簡單的秒表的計(jì)數(shù)功能。三、任務(wù)分析時(shí)鐘電路復(fù)位電路兩位一體的共陽極數(shù)碼管三、任務(wù)分析程序流程圖:三、任務(wù)分析⑴
數(shù)碼管工作原理abcdefgdp共陰極共陽極cdedp12345678910abfgcomcomabcefabcdefgdpcomcomgdpd三、任務(wù)分析⑵數(shù)碼管字形碼cdedp12345678910abfgcomcomabcef代碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba2(共陰)010110112(共陽)10100100dpdg5BHA4H三、任務(wù)分析⑵數(shù)碼管字形碼顯示字符共陽極碼共陰極碼顯示字符共陽極碼共陰極碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H“滅”FFH00H880H7FH三、任務(wù)分析⑶數(shù)碼管顯示方式靜態(tài)顯示:顯示亮度強(qiáng)、無閃爍、占用I/O資源較多三、任務(wù)分析⑶數(shù)碼管顯示方式當(dāng)LED數(shù)碼管位數(shù)較多時(shí),為簡化電路一般采用動(dòng)態(tài)顯示方式。所謂動(dòng)態(tài)顯示是一位一位輪流點(diǎn)亮每位顯示器,在同一時(shí)刻只有一位顯示器在工作(點(diǎn)亮),但由于人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時(shí)的余輝,將出現(xiàn)多個(gè)字符“同時(shí)”顯示的現(xiàn)象。
三、任務(wù)分析
ORG0000H
LJMPMAIN
ORG000BH
;定時(shí)器0中斷入口地址
LJMPT0_INTER
ORG0030HMAIN:
MOVTMOD,#01H
;定時(shí)器0工作在方式1
MOVTH0,#3CH
;定時(shí)器0賦初值
MOVTL0,#0B0H
MOVDPTR,#TAB
;字型碼表首地址送DPTR
MOVR0,#00H
;R0放置60秒計(jì)數(shù)的值
MOVR1,#00H
;R1放置定時(shí)器0溢出的次數(shù)
SETBEA
;打開總開關(guān)
SETBET0
;打開分開關(guān)
SETBTR0
;啟動(dòng)定時(shí)器0三、任務(wù)分析DISPLAY:
MOVA,R0;計(jì)數(shù)初值送累加器A
MOVB,#10
DIVAB;A中放秒計(jì)數(shù)器的十位,B中放秒計(jì)數(shù)器的個(gè)位
MOVCA,@A+DPTR
;十位字型碼送累加器A
MOVP2,A
SETBP3.0
;讓十位數(shù)碼管亮
LCALLDELAY
;調(diào)用延時(shí)子程序
CLRP3.0
MOVA,B
MOVCA,@A+DPTR
;個(gè)位字型碼送累加器A
MOVP2,A
SETBP3.1
LCALLDELAY
CLRP3.1
LJMPDISPLAY三、任務(wù)分析T0_INTER:
MOVTH0,#3CH
;定時(shí)器重新賦初值A(chǔ)
MOVTL0,#0B0H
INCR1
;定時(shí)器溢出一次,R1自加1一次
CJNER1,#20,LP
;定時(shí)器溢出20次,定時(shí)時(shí)間一秒
INCR0
;定時(shí)1次,秒計(jì)數(shù)值自加1
MOVR1,#0
;定時(shí)器溢出20次,定時(shí)器溢出次數(shù)清零
CJNER0,#60,LP
;定時(shí)器計(jì)數(shù)值有沒有到60
MOVR0,#0
;定時(shí)器計(jì)數(shù)值達(dá)到60,R0清零LP:
RETI三、任務(wù)分析TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;字型碼表DELAY:
MOVR6,#20;延時(shí)子程序LOOP1:
MOVR7,#200
DJNZR7,$
DJNZR6,LOOP1
RET
END三、任務(wù)分析#include<reg51.h>#defineucharunsignedcharuchartab[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//字型碼表ucharnumber=0,counter=0,number_1=0,number_0=0;voiddisplay(void)
;//顯示函數(shù)聲明voiddelay(void)
;//延時(shí)函數(shù)聲明main(){
TMOD=0x01
;//定時(shí)器0工作在方式1
TL0=0xB0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 草原割草與草地生態(tài)保護(hù)長期規(guī)劃考核試卷
- 鐵路通信網(wǎng)絡(luò)安全防護(hù)考核試卷
- 稀土金屬冶煉與技能人才隊(duì)伍建設(shè)考核試卷
- 運(yùn)動(dòng)防護(hù)用具制造考核試卷
- 防噎住的急救法
- 呼吸運(yùn)動(dòng)模型實(shí)驗(yàn)說課
- 加壓呼吸氣囊
- 呼吸護(hù)理業(yè)務(wù)學(xué)習(xí)
- 消化系統(tǒng)疾病用藥
- 校園爆炸物處理指南
- 延期交房起訴狀開發(fā)商違約金起訴狀
- 心內(nèi)科用藥安全管理課件
- GB/T 20453-2022柿子產(chǎn)品質(zhì)量等級(jí)
- 贛美2011版三年級(jí)美術(shù)下冊(cè)《瓜果飄香》教案及教學(xué)反思
- 維修改造工程施工組織設(shè)計(jì)
- 執(zhí)行力案例分享與解析課件
- 電路理論知到章節(jié)答案智慧樹2023年同濟(jì)大學(xué)
- 新版心肺復(fù)蘇流程圖
- 與食品安全相關(guān)的組織機(jī)構(gòu)設(shè)置、部門職能和崗位職責(zé)
- 法院送達(dá)地址確認(rèn)書
- 項(xiàng)目管理手冊(cè)(最終完成版)
評(píng)論
0/150
提交評(píng)論