標(biāo)題:
本人剛學(xué),中斷學(xué)不好,做不出來
[打印本頁]
作者:
123haha
時間:
2017-1-24 14:41
標(biāo)題:
本人剛學(xué),中斷學(xué)不好,做不出來
功能:
用定時器0的方式1
實現(xiàn)第一個發(fā)光二極管以 200ms間隔閃爍,用定時器1的方式1實現(xiàn)6位數(shù)碼管的前兩位59S循環(huán)計時的proteus仿真電路圖和程序怎么弄?
作者:
fx283
時間:
2017-1-24 20:00
#include <reg51.h>
unsigned char i;
sbit led=P1^0; //定義led的IO接口
void InitTimer0(void) //定時器0,工作方式1,定時2ms
{
TMOD = 0x01;
TH0 = 0x0F8;
TL0 = 0x30;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
InitTimer0();
while(1); //等待中斷發(fā)生
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x0F8;
TL0 = 0x30;
i++;
if(i>=100) //經(jīng)過100個2ms(200ms),led燈取反一次,實現(xiàn)200ms交替閃爍
{
i=0;
led=~led;
}
}
我也是新手,希望可以幫到你。
作者:
Sawardeakar
時間:
2019-2-2 05:17
用兩個定時中斷寫法與設(shè)置定時都一個樣,到不如一個定時中斷解決
void Timer0Interrupt(void) interrupt 1
{
uchar j;
TH0 = 0x0F8;
TL0 = 0x30;
i++;
if(i>=100) //經(jīng)過100個2ms(200ms),led燈取反一次,實現(xiàn)200ms交替閃爍
{
i=0;
j++;
led=~led;
}
if(j>=5)//1秒
{
j=0;
k++//秒加 k要設(shè)全局變量
}
if(k>=60)k=0;
}
后面就是將K的值拆分放到數(shù)碼管顯示函數(shù)中......略
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1