找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2232|回复: 0
收起左侧

向传统说再见

[复制链接]
ID:83710 发表于 2015-6-23 18:42 | 显示全部楼层 |阅读模式
第一次用了与传统程序架构不同的方法,感觉不大适应,但是这是必须学的,只是一小步也有新高度!

#include<os.h>
void InitTimer0(void)
{
    TMOD = 0x01;
    TH0 = 0x0FC;
    TL0 = 0x66;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}
void Timer0Interrupt(void) interrupt 1
{ unsigned char i;
    TH0 = 0x0FC;
    TL0 = 0x66;
         for(i=0;i<2;i++){if(task_delay[ i])task_delay[ i]--;}
}
void task0_xs()//数码显示任务
{
  static unsigned char start;
    switch (start)
    {
case 0:  task_delay[0]=2; //2ms
start=1;
        P0=0xff;
        d1=1;
     d2=0;
     break;
case 1: task_delay[0]=2; //2ms
start=0;
        P0=0xff;
        d1=0;
      d2=1;
      break;

  }
}
void task1_jp()//键盘扫描任务
{ task_delay[1]=50; //50ms
   if(j1==0)
   {P0=0x99;}
   if(j2==0)
   {P0=0x00;}


}
void main(void)
{
   unsigned char i;

    InitTimer0();
    task_delay[0]=2; //2ms
    task_delay[1]=50; //50ms
while(1)
{
   for(i=0;i<2;i++){
   
                 if(task_delay[0]==0){task0_xs(); }      
        if(task_delay[1]==0){task1_jp();}
        break;      
      

       }





}
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表