日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]定時(shí)器是單片機(jī)的重要功能模塊之一,在檢測(cè)、控制領(lǐng)域有廣泛應(yīng)用。定時(shí)器常用作定時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)檢測(cè),定時(shí)響應(yīng)、定時(shí)控制,并且可以產(chǎn)生ms寬的脈沖信號(hào),驅(qū)動(dòng)步進(jìn)電機(jī)。

設(shè)計(jì)要求:

每秒點(diǎn)亮P1.0口的發(fā)光二極管一次,然后熄滅,使發(fā)光二極管形成閃爍效果

實(shí)現(xiàn)思路:

通過定時(shí)/計(jì)數(shù)器,每秒觸發(fā)一次P1.0取反

涉及到的功能模塊:定時(shí)器,中斷,LED操作

定時(shí)器裝填:

需要計(jì)數(shù)每秒的話,計(jì)數(shù)921600時(shí)溢出即可,在四種方式定時(shí)方式中,最大的計(jì)數(shù)范圍是方式2:65536,將921600分解成20份,每份計(jì)數(shù)46080時(shí)溢出,當(dāng)溢出20次時(shí)燈閃爍,每次定時(shí)器溢出都要重新裝填

模塊設(shè)計(jì)

1、初始化

LED(上拉輸入模式)

定時(shí)器(T0,工作方式1,裝填初值,啟動(dòng)(在中斷初始化后啟動(dòng)))

中斷(開放中斷,開放T0中斷)

2、while(1)

3、中斷

重置定時(shí)器(溢出位復(fù)位,重新裝填計(jì)時(shí))

判斷溢出次數(shù)(到達(dá)20次時(shí)LED改變狀態(tài),計(jì)數(shù)清零。未到達(dá)20次時(shí)溢出次數(shù)加一)

實(shí)現(xiàn)代碼:

#include

#include

typedef unsigned char uchar;

sbit LED = P1 ^ 0;

uchar count = 0;

void Interrupt() interrupt 1

{

TH0 = (65536 - 46080) / 256; //觸發(fā)中斷時(shí)重新裝填計(jì)時(shí)

TL0 = (65536 - 46080) % 256;

if (count == 20)

{

LED = ~LED;

count = 0;

}

else ++count;

}

void main(void)

{

LED = 0xff; //初始化LED

TMOD = 0x01; //初始化TMOD,定時(shí)器0,方式1

TH0 = (65536 - 46080) / 256; //裝填計(jì)數(shù)

TL0 = (65536 - 46080) % 256;

EA = 1; //開放所有中斷

ET0 = 1; //開放定時(shí)器0中斷控制位

TR0 = 1; //定時(shí)器0開始計(jì)時(shí)

while(1)

{

_nop_();

}

 

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉