单片机外部中断的编程

来源:百度知道 编辑:UC知道 时间:2024/09/20 09:28:04
设计单片机程序,基于T0用定时中断设计秒表,秒计数结果在数码管显示,用外部中断INT0(边沿触发方式)对秒计数结果进行清零,用P3.0对秒计数进行启动和停止控制。T0定时中断50毫秒,进行20次中断得到1秒的定时,秒计数结果送P1口进行LED显示,将外部中断设置成边沿触发方式。

/***********************************************/
#include<reg51.h>

sbit shiwei=P2^0;//定义接口
sbit gewei=P2^1;

/*********************************************/
unsigned char code table[]={//数码显示表
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
/*******************************************/

void msdelay()//5 ms 延时
{
int x,y;
for(x=(65536-15)%256;x;x--)
{
for(y=(65536-15)/256;y;y--);
}
}

/***************************************/

/**************************************/
void init()//初始化
{
TMOD=0x11;
PX0=1;
TH0=(65535-50)/256;
TL0=(65535-50)%256;
TH1=(65535-100)/256;
TL1=(65535-100)%256;
EX0=1;
ET0=1;
ET1=1;
EA=1;
TR1=1;
}

/*****************************************/
unsigned char passtime=0;//全局变量
unsigned char timecount=0;