#include
//设CPU是时钟12MHz的8051系列
data unsigned char ms;
sbit K1=P0^0;
void SetupTimer0()
{
TMOD &= 0XF0; //仅保留T1信息
TMOD |= 0X02; //设置T0: 定时功能,方式2,自动重载8位定时器/计数器
TH0 = 256-250;//定时每0.25ms中断一次
TL0 = 256-250;
TR0 = 1; //开启定时器
ET0 = 1; //定时器0中断打开
}
void Timer0_ISR() interrupt 1 //中断服务程序
{
static data unsigned char us250;
if (++us250>=4) {++ms; us250=0;}
}
void main()
{
data unsigned char p1,p2;
ms=0;
SetupTimer0();
EA = 1; //全局中断打开
K1 = 1;
while(1)
{
if (K1) {P1=p1=0XFF; P2=p2=0x00; ms=0; continue;}
if (ms<150) continue;
ms=0;
p1<<=1; P1=p1;
p2<<=1; p2|=1; P2=p2;
}
}
我会
分是什么?能吃吗?
刚学单片机 无能为力