68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 51單片機(jī)中斷詳解(下)

51單片機(jī)中斷詳解(下)

關(guān)鍵字:51單片機(jī) 中斷 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:8

 一.定時(shí)器相關(guān)寄存器

工作方式寄存器(TMOD)

該寄存器用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于定時(shí)器0,高四位用于定時(shí)器1。

GATE:門(mén)控位。GATE=0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATA=1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳INT0/1也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)條件,加上了INT0/1引腳為高電平這一條件。

C/T:定時(shí)/計(jì)數(shù)模式選擇位。C/T=0為定時(shí)模式;C/T=1為計(jì)數(shù)模式。

定時(shí)器/計(jì)數(shù)器控制寄存器控制寄存器(TCON)

該寄存器的低4位用于控制外部中斷,已在前面介紹,高4位用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。

TF1:T1溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。

TR1:T1運(yùn)行控制位。TR1置1時(shí),T1開(kāi)始工作;TR1置0時(shí),T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。

TF0:T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類(lèi)同。

TR0:T0運(yùn)行控制位,其功能與TR1類(lèi)同。

中斷允許控制寄存器(IE)

ET0:定時(shí)/計(jì)數(shù)器T0中斷允許位;

ET1:定時(shí)/計(jì)數(shù)器T1中斷允許位;

EA :CPU中斷允許(總允許)位。

二.定時(shí)器溢出中斷的處理過(guò)程

1、設(shè)置定時(shí)器工作方式

2、為定時(shí)器裝入初值

3、定時(shí)器中斷允許位置為1

4、開(kāi)總中斷

5、開(kāi)定時(shí)器,等待產(chǎn)生溢出中斷請(qǐng)求

三.實(shí)現(xiàn)簡(jiǎn)單時(shí)鐘

說(shuō)明:

1.使用動(dòng)態(tài)數(shù)碼管顯示

2.選擇工作方式1,以16位的定時(shí)器0進(jìn)行工作,即TMOD=0x01,中斷編號(hào)為1;

3.定時(shí)50ms,即每隔50ms產(chǎn)生一次中斷:

TH0=(65536-50000)/256; //16位定時(shí)器的高8位

TL0=(65536-50000)%256; //16位定時(shí)器的低8位

具體的時(shí)間與單片機(jī)的晶振有關(guān),請(qǐng)了解機(jī)器周期、指令周期、時(shí)鐘周期等相關(guān)知識(shí)。

#include

#define uchar unsigned char

#define uint unsigned int

uchar hour,min,sec;

uchar code wei[8]= {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //共陰極數(shù)碼管位選編碼

uchar code duan[11]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x01}; //共陰極數(shù)碼管段選編碼

void delay(uint z)

{

uint i,j;

for(i=z;i>0;i--)

for(j=110;j>0;j--);

}

void timer0_init()

{

TMOD=0X01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

TR0=1;

EA=1;

}

void main()

{

uchar i;

timer0_init();

while(1)

{

num[0]=duan[hour/10];

num[1]=duan[hour%10];

num[2]=0x40; //顯示一橫

num[3]=duan[min/10];

num[4]=duan[min%10];

num[5]=0x40; //顯示一橫

num[6]=duan[sec/10];

num[7]=duan[sec%10];

for(i=0; i<8; i++) //顯示部分

{

P0=wei[i]; //位選

P1=num[i]; //段選

delay(2);

P1=0x00; //消隱

}

}

/*啟動(dòng)定時(shí)器后,沒(méi)次計(jì)數(shù)溢出就會(huì)進(jìn)入中斷服務(wù)函數(shù),重新賦初值,再進(jìn)行計(jì)數(shù),來(lái)達(dá)到定時(shí)的效果*/

void timer0() interrupt 1 //定時(shí)器中斷服務(wù)函數(shù)

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

t++;

if(hour==24)

hour=0;

if(min==60)

{

hour++;

min=0;

}

if(sec==60)

{

min++;

sec=0;

}

if(t==20)

{

sec++;

t=0;

}

}

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

铁力市| 扶绥县| 彭阳县| 招远市| 沈阳市| 永丰县| 莱阳市| 大港区| 久治县| 宣化县| 新乡县| 涞水县| 大渡口区| 张家川| 沁水县| 宕昌县| 庄浪县| 阿坝县| 博兴县| 项城市| 都江堰市| 西乌珠穆沁旗| 巴彦县| 贺州市| 绵阳市| 隆林| 达拉特旗| 闽侯县| 桐柏县| 新化县| 东莞市| 衡阳县| 巨野县| 铁力市| 依兰县| 玛沁县| 五指山市| 四平市| 梁平县| 扎兰屯市| 锦屏县|