中断处理

下面是我转载的几篇关于操作系统概念的一些代码,对于操作系统不太熟悉的可以看看,了解的童鞋可以跳过这个部分,这个部分为接下来的嵌入式操作系统做准备

#include<time.h>   

#include<stdio.h>   

#include<stdlib.h>

void main()

{

    

double p;

int a,m,r,n,e,o,u;

   struct tm *local; 

    char *st,s[27];

    time_t t;   

    t=time(NULL);   

    local = localtime(&t); 

    st=asctime(local);

    

for(int i=0;i<27;i++)

{

s[i]=*st;

st++;

}

printf("当前系统时间为:\n");

for( i=4;i<27;i++)

{

printf("%c",s[i]);

}

    printf("这里设置为时钟闹铃为8,每个时钟间隔为2秒!\n");

int count=0,count1=0,k=8,w;

while(k!=0)

{

do{

printf("已执行完一条指令!\n");

count++;

printf("请输入一个数字(1表示中断,0表示无中断):\n");

scanf("%d",&w);

}while(w==0);

if(w==1)

        printf("现场保存完毕!\n");

count1++;

k--;

if(k!=0)

printf("处理器完成调度!\n");

}

p=count1*2;

    a=(int)count1*2;

if((p-a)>=0.5)

p=a+1;

else p=a;

m=(int)p;

printf("现在已过时间为:%d\n",m);

r=s[17]-48;

n=s[18]-48;

e=r*10+n;

    p=p+e;

if(p<60)

{

    s[17]=((int)p/10)+48;

s[18]=((int)p%10)+48;

for( i=4;i<27;i++)

{

printf("%c",s[i]);

}

}

else

{

s[14]=s[14]-48;

s[15]=s[15]-48;

o=s[14]*10+s[15];

o=o+(int)p/60;

if(o<60)

{

s[14]=(o/10)+48;

            s[15]=(o%10)+48;

s[17]=((int)p%60)/10+48;

            s[18]=((int)p%60)%10+48;

          for( i=4;i<27;i++)

{

         printf("%c",s[i]);

}

}

else

{

s[11]=s[11]-48;

s[12]=s[12]-48;

            u=s[11]*10+s[12];

u=u+o/60;

if(u<24)

{

s[11]=u/10+48;

s[12]=u%10+48;

s[14]=(o%60)/10+48;

                s[15]=(o%60)%10+48;

                s[17]=((int)p%60)/10+48;

                s[18]=((int)p%60)%10+48;

             for( i=4;i<27;i++)

{

             printf("%c",s[i]);

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值