15单片机定时器实验-查询方式

按下SW17(接P3.2)时,LED4(P2.7)、LED7(P1.7)、 LED8(P1.6)、LED9(P4.7)、LED10(P4.6)按顺序每隔1S依次闪烁,然后再循环。(采用SW17输入外部中断0中断请求)
定时器要求用查询方式实现1s延时。

希望我的程序能对大家的实验有帮助。

#include

#include

#define uchar unsigned char

#define unit unsigned int

uchar a=0;

//**************外部中断0

void int0_isr()interrupt 0

{

a=1;

}

//*************定时器查询方式 1s延时

void DELAY(void)

{

unit i=0;

TMOD=0X00;

TH1=0X3C;

TL1=0XB0;

TR1=1;

while(i<20)

{

if(TF1==1)

{

TF1=0;

i++;

}

}

}

//*****************主函数

void main(void)

{

P0M0=0;P0M1=0;

P1M0=0;P1M1=0;

P2M0=0;P2M1=0;

P3M0=0;P3M1=0;

P4M0=0;P4M1=0;

IT0=1;

IE0=0;

EX0=1;

EA=1;

while(1)

if(a==1)

{

P2=0X7F; //0111 1111 P2.7

DELAY();

P2=0XFF;

P1=0x7F; //0111 1111 P1.7

DELAY();

P1=0xBF; //1011 1111 P1.6

DELAY();

P1=0xFF;

P4=0x7F; //0111 1111 p4.7

DELAY();

P4=0xBF; //1011 1111 p4.6

DELAY();

P4=0xFF;

}

}

展开阅读全文

页面更新:2024-05-04

标签:定时器   方式   单片机   函数   顺序   程序   再循环

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top