27,382
社区成员
发帖
与我相关
我的任务
分享
#include "EM78P153S.h"
#define uchar unsigned char //定义一下方便使用
#define uint unsigned int
sbit led = P60; //定义 LED 灯
sbit key = P61; //定义按键
static uchar flag=0; //LED状态变量
void main(void) // 主程序
{
uchar i;
TCC=1; //开定时器中断
TCC=?; // 定时器赋初值 此初值需要是定时器定时5毫秒 BUT我不知道
INT=1; //打开总中断
while(1) //程序循环
{
unsigned char i;
if(!key)
{
for(i=0;i<1000;i++); //等待按键稳定
flag++; //改变状态标志位
if(flag==3) flag=0; //状态循环
while(!key); //等待按键松开
for(i=0;i<1000;i++); //等待按键稳定松开
}
}
}
timer() //定时器中断函数
{
TCIF=0; // TCC溢出位清0;
TCC=? ; //定时器赋初值
switch (flag)
{
case 0: led=1; //LED熄灭
break;
case 1: led=0; //LED点亮 此时为强光
break;
case 2; led=~led // LED通过不断点亮和熄灭 此时为弱光
default:
break;
}
}