#include "reg52.h"
#include "lcd.h"
#include "delay.h"
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd; //设置波特率9600
SCON=0x50; //允许串口接收
PCON=0x00;
TR1=1; //启动定时器1
EA=1; //开启中断
ES=1;
LCD_INT(); //屏幕初始化
Write_String(1,5,"1234"); //对应的灯
while(1);
}
void Xian(uchar cm)
{
switch(cm)
{
case 0:Write_String(2,5,"0000");break;
case 1:Write_String(2,5,"1000");break; //灯的亮灭1亮0灭
case 2:Write_String(2,5,"0100");break;
case 4:Write_String(2,5,"0010");break;
case 8:Write_String(2,5,"0001");break;
default: break;
}
}
void UART() interrupt 4 using 0 //串口中断
{
if(RI)
{
P2&=SBUF;
Xian(P2&0x0F);
}
TI=0;
RI=0;
}
问题我放在图片里了。
|