这是程序
#include<reg52.h>
#include"lcd.h"
unsigned char red[] = "r";
unsigned char green[] = "g";
//全局函数//
void UsartConfigura
tion();
void Delay10ms(unsigned int c); //误差0 us
/*********************************************
*主函数
**********************************************/
void main()
{
unsigned char i ;
LCD1602_inital(); //液晶初始化
UsartConfiguration();
while(1)
{
printdata(1,0,"tt"); //液晶显示tt
for(i=0; i<1; i++)
{
SBUF = green[i]; //
while(!TI); //
TI=0; //
}
Delay10ms(10); //
}
}
/************************************************
* 初始化串口
************************************************/
void UsartConfiguration()
{
SCON=0X50; //
TMOD=0X20; //
PCON=0X80; //
TH1=0XFd; //
TL1=0XFd;
EX0=1; //
EA=1; //
IT0=1; //
TR1=1; //
}
/*************************************************
*INT0中断函数
*************************************************/
void ext () interrupt 0 using 0
{
unsigned char k;
for(k=0; k<1; k++)
{
SBUF = red[k];
while(!TI);
TI=0;
}
Delay10ms(10);
LcdFullClear();//液晶清屏
}
/****************************************************
*延时子程序
****************************************************/
void Delay10ms(unsigned int c) //
{
unsigned char a, b;
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
触发中断后要等几秒才再显示tt,中断程序里的东西运行完也不用这么长时间吧?为什么会这样
中断最后是清屏函数,我进去中断后从它清屏(中断程序最后一个语句)到再现实tt要几秒钟的时间,为什么会这么久??
一周热门 更多>