调用定时器中断.c

来自「LED显示,流水灯,定时器,可用于单片机课程设计」· C语言 代码 · 共 30 行

C
30
字号
#include <reg51.h>
#define uchar unsigned char
uchar dis[]={0xc0,0xf9,0xa4,0Xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
sbit p27=P2^7;
sbit p26=P2^6;
sbit beep=P2^0;
uchar red=0xfc,yellow=0xf3,green=0xcf;
bit flag;
uchar i,k=50;
void delay(uchar x)
{ uchar y; while(--x) for(y=0;y<125;y++){;}}
void disp(uchar m)
{P0=dis[m/10];
 p27=0; delay(5);p27=1;
 P0=dis[m%10];
 p26=0;delay(5);p26=1;}

void main()
{TMOD=0x01; TH0=0xb1; TL0=0xe0; EA=1; ET0=1;
       while(1) {beep=0;delay(200);beep=1;
          P1=red; i=15; flag=0; TR0=1; while(!flag)disp(i);
          P1=yellow; i=3; flag=0; TR0=1; while(!flag)disp(i);
          P1=green; beep=0;delay(200);beep=1;delay(200);beep=0;delay(200);beep=1;
		  i=10; flag=0; TR0=1; while(!flag)disp(i);}
		  }

void Timer0() interrupt 1 using 3
{ TH0=0xb1; TL0=0xe0;
if(!(k--)) {i--; if(!i) {TR0=0; flag=1;}k=50;}}
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?